对于一个格式化minix文件系统的软盘或硬盘设备,文件系统会将这个设备分成6个部分,其各部分的分布如下图所示:
整个磁盘设备被分为以1kb为单位的磁盘块,上图中的每一方格表示一磁盘块(i节点块数可变)。
引导块:该块用于计算机上电启动后的引导程序存放区域,占用一个盘块。如果该磁盘需要做为引导设备,则该磁盘的第一扇区的最后两个字节必须是0x55和0xAA。但是并不是所有盘都必须使用该数据区,如果只是作为普通的存储设备,就不必设置该区域,但是该区域必须保留。
超级块:用于存放磁盘设备上文件系统结构的信息,占用一个盘块。每个超级块占14字节,具体结构见附录程序。
i节点位图:用于说明某个节点是否被使用,占用一个盘块。每个比特位代表一个i节点,所以一个1kb的盘块可以表示1024*8=8192个i节点的使用情况。
逻辑块位图:用于说明某个盘块是否被使用,占用一个盘块。每个比特位代表一个盘块。
i节点:存放每个i节点的结构信息,占用盘块数目不定。每个i节点占用32字节,具体结构见附录程序。每一个文件或文件夹(包含子目录)都单独占用一个inode。
数据区:文件具体的数据存放区域,注意粒度为1KB(0x400跨度)。
------------------------------------------------------------------------------------------------------------------------------
下面以一个实例说明minix文件系统的结构。
Ⅰ. bximage 命令产生一个0.16寸(160KB)的软盘映像,然后使用mkfs命令对该软盘格式化成minix系统,格式化的信息如下:
fk@E430:~$ mkfs -t minix a.img
64 inodes
160 blocks
Firstdatazone=6 (6)
Zonesize=1024
Maxs