Linux0.11考古队——文件系统
概述
Linux0.11使用的是MINIX文件系统0.1版本,它由6部份组成。以一个360k的软盘为例。
- 引导块(1kb),存放开机引导程序
- 超级块(1kb),存放文件系统结构的信息,比如i节点总数,逻辑块总数等
- i节点位图(1kb), 每一位表示一个i节点,0表示空闲
- 逻辑块位图(1kb),描述每个 数据盘 块的使用情况
- i节点(4kb),存放文件系统中文件或者目录名的索引节点,每个节点结构中存放对应文件的相关信息
- 数据区(剩余部份),索引节点字段i_zone存放盘块的号码,根据盘块号码可以在数据区中找到对应文件的数据
hexdump默认输出是以两个字节为单位,字节顺序取决于本机字节序,在我的电脑上是 大端模式 。
高速缓冲管理
高速缓冲管理由buffer.c实现,高速缓冲区是内核其他程序与块设备的桥梁。缓冲头数据结构中有b_uptodate, b_dirt,b_count,b_lock字段可以快速的判断缓冲块的状态。