建立命名管道,mknod mypipe p。命名管道存在硬盘上,而管道不是。 通过open打开这个命名管道,在内核中通过sys_open()实现,filename是"***/mypipe "。 相关部分,请参考Linux内核源代码情景分析-文件的打开。 sys_open进入filp_open,然后在open_namei中调用一个函数path_walk(),根据文件的路径名在文件系...
分类:
系统相关 时间:
2015-04-10 09:35:46
阅读次数:
223
Open系统调用
下面看看open_namei函数:
这个函数的基本的功能是:
首先我们知道filename,也就是知道路径了,那么我们可以根据上级目录项对象,查询下一级的目录项对象,如果在目录项缓存找到下一级的目录项对象,则直接返回,并填充nd的挂载点对象和目录项对象。否则,构建一个子目录项对象,并分配一个新的inode结构,将子目录项对象和inode结构相关联。这样,一直循环到最...
分类:
系统相关 时间:
2014-10-09 16:06:08
阅读次数:
337