深入理解linux内核读书笔记(第十二章)

本文详细介绍了Linux内核的虚拟文件系统(VFS),包括其设计思想、组成结构如超级块、inode、file和dentry对象,以及它们在文件系统操作中的作用,如缓存机制、文件操作函数指针等。
摘要由CSDN通过智能技术生成

1.  VFS是linux的一个专门来处理和文件系统相关的系统调用的软件层。

2. VFS支持的文件系统可分为三类:

  (1) 基于磁盘的文件系统,ext2, ext3, vfat, ntfs, ISO9660, UDF, HFS等。

  (2) 网络文件系统, nfs, cifs等

  (3)特殊文件系统, proc等

3. VFS的思想是引入一种的通用的文件模型,它可以表示所有支持的文件系统。

4. 内核在打开文件后,会初始化对应文件系统的读写等指针。采用了面向对象的思想,用数据结构和函数指针来实现对象。

5. 通用的文件模型由以下几部分构成:

 (1)超级快对象, 保存挂载的文件系统的相关信息。

 (2)inode 对象,保存关于一个文件的信息。

 (3)file 对象,保存进程和打开的文件之间的关联信息,只有打开文件后才存在于内核中。

 (4)dentry对象,保存一个文件目录的信息。

6. 内核为了加速,有dentry cache和 inode cache。

7. 有些系统调用可以由VFS直接完成,而不需要调用下层的具体函数,比如close和lseek等。

8. super_block结构体中,s_list指向相邻超级快节点的,s_fs_info指向具体的超级快信息。这些信息是从磁盘中读取到内存,可以加速访问和修改。s_dirt用来表示是否需要去同步超级快到磁盘。

9. s_op(super_operations)保存了超级快操作的函数指针&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值