03 linux011文件系统(minix).md

Posted 资质平庸的程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03 linux011文件系统(minix).md相关的知识,希望对你有一定的参考价值。

1 磁盘上的文件系统结构

+------+------+-------------------+---+-------------------+
| boot |supper|minix file system 1|...|minix file system x|
+------+------+-------------------+---+-------------------+

引导块 - 包含分区表,可包含引导程序;分区表描述了各文件系统起始位置,结束位置等信息。

超级块 - 各分区文件系统结构信息。

2 minix1.0 文件系统逻辑结构

假设某个磁盘上只有一个 minix1.0 文件系统,则磁盘逻辑结构如下

+------+------+------------+-----------------+------+---------------+
| boot |super |inode bitmap|block node bitmap|inodes|blcok/data zone|
+------+------+------------+-----------------+------+---------------+

引导块 - minix1.0 所在区信息,可包含引导程序;

超级块 - minix1.0 文件系统结构信息,如i节点位图、逻辑块位图、i节点的数量,逻辑块的起始位置和数量;

i节点位图 - 标识i节点使用情况;

逻辑块位图 - 标识逻辑块使用情况;

i节点 - 标识文件属性,索引文件数据所在的数据区;

逻辑块 - 存储文件数据,目录下的数据为目录项(由目录名和i节点号组成)。

逻辑块为指定数量(如2块)的磁盘单位数据区(如1扇区)。

接下来撇开缓冲区和块设备管理,看看目录或文件的创建过程。

3 根目录 root_dir 的创建

获取 minix1.0 所在磁盘分区表和超级块信息,索引到i节点位图和逻辑块位图,根据二者查询到的首个可用i节点和逻辑块,在逻辑块中创建根目录的数据——即目录项,即目录名 root_dir 和其i节点号;在其i节点中填写目录属性和其数据逻辑块索引。

在程序中保存根目录 root_dir 的i节点信息。

4 root_dir目录下名为 minix.md 文件的创建

根据父目录 root_dir 的i节点索引到其数据区,在数据区中遍历目录项,若没有找到包含名为 minix.md 的目录项并创建。

以上是关于03 linux011文件系统(minix).md的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件系统的演变

minix3下,简单系统调用的编写问题

linux文件系统类型

linux系统能够直接读取的分区类型是啥

Linux系统中有哪几种类型的文件。

linux学习笔记