linux0.11文件系统学习小结

大概浏览了一下linux0.11文件系统,感觉逻辑比较复杂(程序之间的层次并不十分清晰,相互调用很多),很难一时理解的透彻,只能阶段性的描述下自己的感受。
我读linux0.11源码参考的是<<linux0.11内核完全注释>>和<<linux内核设计的艺术>>,这两本书都详细的讲解了源码,但是只有理解了才能变成自己的东西。linux0.11版本虽然比较老,但还是可以有助于理解OS原理。

文件操作为计算机运算提供了最关键的数据支持,理解了文件系统,才能更好的理解OS,才能更好的理解计算机。
我们平时看到电脑上的各种文件实际上一种逻辑上的数据,存在磁盘中的数据才是真正的物理数据。

文件在磁盘上的最小存储单位是“扇区”,每个扇区可存储512个字节(物理数据)。操作系统读取磁盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block),linux0.11中一个块包含2个扇区,"块"是文件存取的最小单位。

那么逻辑上的文件是什么东东呢?逻辑文件的存储是一种索引结构,文件的起源是“根目录”文件,根目录文件的内容目录项,目录项由iNode节点和文件名(name)组成,目录项中的inode即有可能是下一目录(子目录)的iNode节点,也有可能是文件的iNode节点(目录和文件都是文件)。
iNode节点中储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小,文件“块”的索引;通过“块”的索引,我们可以找到文件物理数据。
(fs.h中的file struct并不能代表文件,用于在文件句柄与iNode节点之间建立关系。)

就这样,通过逻辑文件索引到物理数据的过程,加上在这个过程中内存分配和缓存的一些逻辑,就构成了文件系统。

Linux0.11的文件系统的主要布局(物理布局):引导块、超级块、iNode节点位图、逻辑块位图、iNode节点、数据盘块。
文件的全局信息都保存在超级块(super block)中,包括节点,块,位图信息等;
iNode节点位图是iNode节点的映射表;
逻辑块位图是逻辑块的映射表;
iNode节点中包含了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值