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

unix支持哪些原始文件系统操作_你听过文件系统吗?

发布时间:2022-09-30 04:32:42 所属栏目:Unix 来源:网络
导读:
你听过文件系统吗?
听过
那让我们一起复习一下吧^_^
1. 复习背景知识
第一部分属于对文件系统的复习内容,了解的人可直接阅读第二部分。
1.1 为什么需要文件系统
文件存于磁盘中,磁盘可

fc6ba6f8c0696dbc25f5856ac41b1978.png

你听过文件系统吗?

听过

那让我们一起复习一下吧^_^

1. 复习背景知识

第一部分属于对文件系统的复习内容,了解的人可直接阅读第二部分。

1.1 为什么需要文件系统

文件存于磁盘中,磁盘可以理解为一种固定大小的线性序列,支持读块 k 和写块 k 的操作。假设没有文件系统,用户必须手动进行以下的管理:

假设每次用户在存储数据的过程中都要进行以上步骤的判断,从访问的效率和相应的时间来看,用户肯定是接受不了的,所以文件系统的出现了,概况下来文件系统解决了如下一系列问题:

1.2 什么是文件系统

文件系统:是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关系数据实际保存在硬盘的地址为多少的数据块上,只需要记住文件的所属目录和文件名。

说明:

1.3 文件的基本信息 1.3.1 文件属性

文件的属性信息,又称为元数据(metadata),在不同系统中有差别,以下列举了常用的属性信息:

属性含义权限谁可以存取文件,以什么方式存取文件口令存取文件需要的口令创建者创建文件者标志类信息只读、隐藏、系统、存档、ASCII/二进制、随机存取、临时、加锁等标志信息关键字类信息记录长度、键的位置和键的长度用于关键字查找记录的文件中创建时间文件创建日期和时间最后一次存取、修改时间文件上一次存取、修改的日期和时间当前大小文件的字节数最大长度文件可能增长到的字节数

1.3.2 文件类型

很多操作系统支持多种文件系统类型。如 UNIX 和 Windows 中都支持普通文件和目录。UNIX还支持特殊文件——输入输出设备

特殊文件

普通文件和块特殊文件的区别?

块特殊文件是物理寻址空间,普通文件是块设备的虚拟地址寻址空间,普通文件比块设备文件多一层文件系统的地址转换机制。 1.4 目录基本信息

文件系统提供目录(文件夹)用于记录文件,在很多系统中目录本身也是文件。目录的形式包括单层目录和层次目录系统。

2. 设计文件系统

背景知识终于啰嗦完了,现在让我们根据上述的要求,先自行设计一个简单的文件系统。

需求: 磁盘是块存储设备,所以文件系统要做的工作就是完成文件(或者目录)和磁盘上数据块之间的映射关系。

2.1 文件的存储 2.1.1 链表分配

为每个文件构造一个磁盘块的链表,每个块的第一个字作为指向下一个块的指针,块的其他部分存放数据。如下图所示:

54a1969023d69e3a2b3a241cedac785e.png

缺点:

2.1.2 文件分配表(FAT)

仔细分析一下上一种分配的弊端,主要每个数据块中都要记录下一个块的指针导致的,如何能将这部分统一抽离出来呢?

取出每个磁盘块的指针地址,将它存储在内存中的文件分配表中。

4501e6887052d107ad1d3e64f81e0947.png

缺点:

2.1.3 i 节点

仔细分析一下上一种方式的弊端,主要是在只需要读取 A 文件的内容情况下,也必须要把 B 文件地址分配的信息加载进来,尝试进行一下优化呗!

将文件属性和文件块的磁盘地址存储在一个 i 节点(index node),给定 i 节点就能找到所有文件使用的磁盘块地址。

3848438f7c92cc45a9a3743eb5662b7a.png

优点:

2.2 目录的存储

目录的主要功能是能根据文件路径找到该文件存储的磁盘地址。目录中存储一个固定大小的目录项列表,每个文件对应一项,其中包含文件名(固定大小)和文件属性结构。以 i 节点为例,某个包含 games、mail、news、work 文件的目录存储结构如下图所示:

621ad61375b062997a14b81247a16d17.png

问题1:文件名的长度是可变的,那是否需要为每个文件的文件名预留最长文件名大小的存储空间?

答案:不需要,设计的时候可将目录项设计固定长度,将文件名放置在目录后面的堆中,存储结构如下图:

5080c1e5af7f1dd4fff0b886dd740ec6.png

问题2:思路下软连接和硬链接的区别?

答案:跟文件存储路径和 i 节点有关。

2.3 总结

操作系统针对处理器的概念建立了进程的抽象,针对物理存储器的概念建立了进程(虚拟)地址空间抽象,同样针对磁盘的概念建立了文件系统的抽象。

3. 文件系统实现

为了防止出现看过这么多遍文件系统,仍出现被问起来两眼一黑的情况,让我们看一个VSFS (very simple file system) 如何组织的例子。

注: VSFS 是一种 UNIX 文件系统的组织方式。

3.1 划分磁盘

假设现在存在一个 256 KB 大小的磁盘unix系统文件,按照每个磁盘块 4KB 的大小划分后,会得到如下图所示的结构:

9fcfc2c450cc1846657610ca9b333f42.png

3.2 增加索引结构

9b99315afc0fe5381ea81db7fb8fd7d3.png

4. 问题思考

写了好久终于写到最后一个步骤,以上总结包含了我的个人理解,难免有偏差,如有发现欢迎指出,最后想几个思考问题。

5.参考资料

(编辑:成都站长网)

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

    推荐文章