LINUX中的虚拟文件系统结构

我的博客:www.shishangguan.net

以下以2.6.32版本的内核源码为例:

虚拟文件系统与具体文件系统之间是几组操作函数的对应,包括file_operations,dentry_operations, inode_operations 等操作函数指针。

进程由 include/linux/sched.h(第1457-1460行) 中的 struct task_struct表示,在这个结构中有两个跟文件系统有关的指针:

1 1456 /* filesystem information */
2 1457         struct fs_struct *fs;
3 1458 /* open file information */
4 1459         struct files_struct *files;


这两个指针分别指向struct fs_structstruct files_struct

struct fs_struct是文件系统的信息,定义在include/linux/fs_struct.h中:

  6 struct fs_struct {
  7         int users;
  8         rwlock_t lock;
  9         int umask;
 10         int in_exec;
 11         struct path root, pwd;
 12 };

内核中结构之间的关系如图:

    图片出自《linux内核源代码情景分析》

 

图片出自《深入linux内核架构》

转载于:https://www.cnblogs.com/yamadie/p/3483019.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值