|
命名管道的工作原理匿名管道应用的一个主要限制是它只能用于与亲属进行进程间通信。在命名管道被提出之后,这个限制已经被克服了。命名管道提供与其关联的路径名,并作为FIFO文件存在于文件系统中。 这样,即使没有与FIFO的创建过程相关的进程,只要路径可以被访问,它们就可以通过FIFO相互通信。因此,通过FIFO,无关进程也可以交换数据。先进先出管的开启方式与普通管不同。 普通管道包括两个文件数据结构:对应的VFS索引节点和共享数据页,这两个数据结构是在进程每次运行时创建的。FIFO始终存在,需要用户打开和关闭。Linux必须处理两种情况:读进程在写进程之前打开管道,读进程在写进程写入数据之前读入。此外,FIFO管道的使用方式与普通管道相同,具有相同的数据结构和操作。 |