Unix 文件系统的一些基本理论(关于i-节点)

本文介绍了磁盘的组织方式及文件系统的构成,包括磁盘到分区、磁盘块、超级块、i-节点表及数据区的概念。还详细解释了如何在文件系统中存储新文件,以及读取文件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

磁盘的组织。

 第一层:磁盘到分区,每个分区可以看成是独立的磁盘

第二层:磁盘到磁盘块(扇区),磁盘分成了大量编号的磁盘块

第三层:从磁盘块到三个分区:文件系统由三个部分组成,每一个部分都是由大量磁盘块组成。

  A:文件系统的第一块叫做超级块,它存放了系统本身的结构信息,如每个区域的大小,未被使用的磁盘块的大小….

  Bi-节点表:文件的大小,所有者和修改时间..都放在一个i-节点里面,每个i-节点有相同的大小,每个文件都有一个i-节点。每个i-节点都是通过位置来标识的。注:以上是磁盘文件的情况。 设备文件的i-节点是指向驱动的指针

i-节点都是固定大小的,这样才能顺利遍历它。担如果有很多磁盘块(大文件),该如何处理? I-节点 最多放10个的磁盘块,剩下的块编号都放在数据区的磁盘块里面,然后由I-节点 的第11个指针指向该磁盘块;另外还有多级间接块机制,就不详细展开了。

  C:数据区,文件的内容就在数据区。

 

 

存储一个新文件:

1:把文件属性放在一个空的i-节点

2:把文件内容放在空的数据区的磁盘块,E.G.No. 101200522

3:记录分配情况,把101200522 记录到i-节点

4:将i-节点编号和文件问记录到目录文件里面,对应起来

 

目录就是:一个包含i-节点和文件名的表。

如果两个文件指的是同一个物理文件(Hard link),则目录文件里面记录的i-节点是同一个

 

 

读取一个文件

1:在目录文件找到文件名和对应的i-节点

2:定位该i-节点,并读取文件读取权限,owner,数据块的编号等文件信息

3:按顺序的读取数据块,得到文件内容

 

 

i-节点 属性还包括了区分不同文件的,内核通过访问块分配表来知道是设备文件还是磁盘文件,如果是磁盘文件,内核通过访问块分配表来读取数据;如果是设备文件,通过调用设备驱动的read来读取数据。:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值