HOME

Linux0.11考古队——文件系统

Table of Contents

概述

Linux0.11使用的是MINIX文件系统0.1版本,它由6部份组成。以一个360k的软盘为例。

  1. 引导块(1kb),存放开机引导程序
  2. 超级块(1kb),存放文件系统结构的信息,比如i节点总数,逻辑块总数等
  3. i节点位图(1kb), 每一位表示一个i节点,0表示空闲
  4. 逻辑块位图(1kb),描述每个 数据盘 块的使用情况
  5. i节点(4kb),存放文件系统中文件或者目录名的索引节点,每个节点结构中存放对应文件的相关信息
  6. 数据区(剩余部份),索引节点字段i_zone存放盘块的号码,根据盘块号码可以在数据区中找到对应文件的数据

hexdump默认输出是以两个字节为单位,字节顺序取决于本机字节序,在我的电脑上是 大端模式

高速缓冲管理

高速缓冲管理由buffer.c实现,高速缓冲区是内核其他程序与块设备的桥梁。缓冲头数据结构中有b_uptodate, b_dirt,b_count,b_lock字段可以快速的判断缓冲块的状态。

文件低层操作

文件数据访问

文件访问高层控制

Created: 2017-12-12 Tue 16:09

Emacs 24.5.1 (Org mode 8.2.10)