加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

linux文件系统模型,Linux文件系统简单模型

发布时间:2022-10-21 14:02:50 所属栏目:Unix 来源:转载
导读: 这篇文章实际上记录的是《Unix/Linux》编程实践教程中的Unix文件系统内部结构
要理解两个模型,一个是目录树模型,一个是文件存储模型。
理解存储设备抽象成文件系统。
目录树模型
在UNIX/

这篇文章实际上记录的是《Unix/Linux》编程实践教程中的Unix文件系统内部结构

要理解两个模型,一个是目录树模型,一个是文件存储模型。

理解存储设备抽象成文件系统。

目录树模型

在UNIX/Linux中,目录是一种特殊的文件,它是由文件和目录的序列组成,一定有"." 和 ".." 来指向本目录和父目录。根目录"/"的“..”指向自己本身。各级目录组成了树状的结构。

目录树

文件存储模型

实际上记录的是《Unix/Linux》编程实践教程中的Unix文件系统内部结构

要理解两个模型,一个是目录树模型,一个是文件存储模型。

理解存储设备抽象成文件系统。

目录树模型

在UNIX/Linux中,目录是一种特殊的文件,它是由文件和目录的序列组成,一定有"." 和 ".." 来指向本目录和父目录。根目录"/"的“..”指向自己本身。各级目录组成了树状的结构。

目录树

文件存储模型

磁盘被抽象成分区,扇区是磁盘上的基本存储单元,给磁盘块(扇区?)编号,成为文件系统的序列块。磁盘块组成的空间又可以分成3部分(每个空间都由多个磁盘块组成):超级块,i-节点块,数据区。

超级块用来存放文件系统本身的结构信息:每个区域的大小unix文件系统,未被使用的磁盘块的信息等。

i-节点表, 用于保存文件的属性:大小,修改时间,文件所有者等信息。还记录了文件数据所在的数据区块的序列号。

数据区就是保存数据的,文件的数据被分成一个或多个块保存在数据区中,编码保存在i-节点表中。

目录树加上文件内部结构的使用。

可以看到目录下有个文件名叫uselist的项,该项还有个属性保存了i-节点的编号47,看到47可以看到uselist的i-节点保存了数据区的627,200,992编号,说明这三个磁盘块都是保存了userlist的文件数据。

我们可以通过 ls -ia [目录] 来查看文件的i-节点(可以看到根目录的 “.”,“..”都指向了同一个i-节点)

大文件是如何保存的?

i-文件的分配列表有13个分配数据块编号的空间。如果文件太大,需要14个数据块存放怎么办?

unix采用了一种间接块的方法,当数据块超过10个的时候,第11个分配列表开始保存的就是间接块的地址。间接块就是一个数据块,但是它不存储真实的数据而是保存了真实数据块的地址。

第12个分配列表空间又不一样,它是二级间接块(字面理解),就相当多了一级。

第13个列表空间是三级间接块。

ps:这里有点绕,图文一起理解吧,看不懂就只能看书的解释了。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章