加载中…
个人资料
raindy
raindy
  • 博客等级:
  • 博客积分:0
  • 博客访问:624
  • 关注人气:5
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
标签:

it

分类: linux

 

 

Linux pipe 管道到底是什么? 跟踪mkfifo到内核

Thursday, 15. March 2007, 03:31:32

,

[By Xalanz]技术问题往往都是这样,当它不出问题的时候,你并不会有特别的兴趣去究根问底,所以,出了问题,往往就是好事.Linux 的Pipe 出了一个问题,我不得不问自己,Pipe 到底是什么,在Linux kernel 里面是怎么实现的.

(1)第一步,你调用了mkfifo()或者使用mkfifo命令,在磁盘文件系统中建立了一个有名字的fifo 文件,但是mkfifo并不是一个系统调用,mkfifo()最终调用了mknod()系统调用来执行实际的功能。
(2)mknod()系统调用的内核部分是在linux\fs\namei.c 文件中sys_mknod()实现对系统调用的接口。

(2)对于fifo,sys_mknod()进一步调用虚拟文件系统的统一接口vfs_mknod()。

(3)而vfs_mknod()将调用相应目
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有