Linux pipe 管道到底是什么? 跟踪mkfifo到内核
Thursday, March 15, 2007 3:31:32 AM
(1)第一步,你调用了mkfifo()或者使用mkfifo命令,在磁盘文件系统中建立了一个有名字的fifo 文件,但是mkfifo并不是一个系统调用,mkfifo()最终调用了mknod()系统调用来执行实际的功能。
(2)mknod()系统调用的内核部分是在linux\fs\namei.c 文件中sys_mknod()实现对系统调用的接口。
(2)对于fifo,sys_mknod()进一步调用虚拟文件系统的统一接口vfs_mknod()。
(3)而vfs_mknod()将调用相应目录的inode节点的mknod()方法来执行真正的mknod()操作。
1、Pipe 在那个子系统实现的? 在网络子系统、还是进程间通讯部分,还是什么?
Pipe 是在文件系统部分实现的。
2、Pipe 文件还是什么?
Pipe 是一种特殊的文件系统。










