内核导言之文件子系统概貌

文件子系统概貌



索引节点(index node):描述了文件数据在磁盘上的布局,并且包含诸如文件所有

者、文件存储许可权和存取时间等其他信息。每个文件都有一个索引节点,都是它可

以有多个名字。索引节点被存储在文件系统上,当需要操作文件的时候,内核把他们

读入内存的索引节点表中。

文件表:是一个全局核心结构,每个表项保存着文件中的字节偏移量(下一次开始读或

写的位置)和打开进程所允许的存储权限。一个文件多次打开就会有多个表项,因为多

个进程可以打开同一个文件。

用户文件描述符表:每个进程都会拥有一个自己的文件描述符表,保存着进程打开的

文件。该表的表项存储的是指向文件表表项的指针和索引节点的指针;当执行系统调用

open时,内核会返回一个文件描述符,它其实是进程的文件描述符的索引值;当执行系

统调用read时,内核使用文件描述符取到用户文件描述符表的表项,循着文件表项的指

针和索引节点的指针读出文件表表项的信息和索引节点的信息,从而在文件中找到数据。


一个文件系统是由一个逻辑块序列组成,每个块都包含512、1024、2048或512的

任何倍数的字节,这依赖于系统实现。在一个文件系统中,逻辑块的大小是相同的;

不同的逻辑块可能有所不同。使用较大的逻辑块会增加主存和磁盘之间的有效数据

的传输效率,但是太大的逻辑块,磁盘将失掉有效的存储能力。


引导块:占据文件系统的开头,典型地,是一个扇区。它可以包含有被读入机器中其

引导作用或初启操作系统作用的引导代码。虽然为了引导系统只需一个引导块,但文

件系统都有一个(可能为空)引导块。


超级块:描述了文件系统的状态--如文件系统多大,能存储多少文件,在文件系统的何

处可以找到空闲空间,以及其他信息。


索引节点表:是一张装有索引节点的表,它在文件系统中跟在超级块后面。内核通过索

引来访问索引节点表中的节点。


数据块:包含了文件数据和管理数据。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值