操作系统原理第十章 文件系统

本科生操作系统原理学习记录
学习记录全家桶

10.1 文件概念

文件:具有文件名的相关信息集合

文件名:唯一、便于记忆

文件结构:便于程序理解文件内容

  • 无结构:文字流、字节流
  • 简单记录结构:线性、固定长度、可变长度、HTML文档
  • 复杂结构:格式化文档、多媒体文件

文件类型:一般由扩展名决定(也称文件后缀名,用 “.” 分隔)

10.2 文件操作

为什么需要有打开文件的操作?

需要数据结构:

  • 打开文件表:跟踪打开文件
  • 文件指针:指向最后一次读写的位置

10.3 文件结构

逻辑文件

文件呈现在用户面前的组织结构

又称为文件逻辑结构

逻辑文件决定了文件访问方法

文件访问方式:

  • 顺序访问:一个接一个访问,典型代表:磁带上的文件
  • 直接访问:可以指定到文件的某条路径,典型设备:磁盘
逻辑文件 存储容量 访问数据
顺序文件 ~40MB ~400K
直接文件 ~100MB 100B
索引文件 ~44MB 44B

10.4 文件目录

文件控制块FCB:存放文件操作所需的各种属性

i Node (降低ds)

索引结点:目录项只放两样东西,文件名和指针(指向i Node,i Node里面存放除了文件名以外的信息,包括文件的位置)

单级目录

双级目录

树形目录

有向无环图:文件共享

硬链接与软链接

点击下面的链接查看具体使用

硬链接和符号链接的区别 - 简书 (jianshu.com)

硬链接作用:

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。只删除一个连接并不影响节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

还有如果把链接名创建为一个以.开头的隐藏文件,还能很好的隐藏自己的隐私。

软链接作用:

软链接又称之为符号连接(Symbolic Link)。软链接文件类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息

优缺点:

软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

当然软链接也有硬链接没有的缺点,因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了,而硬链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

慕课单元作业

1、一个文件系统的每个目录文件最多存放40个下级文件(目录文件或普通文件),每个物理块可以存放10个目录项。若下级文件为目录文件,上级目录指向该目录文件的第一块,否则指向普通文件的文件控制块。请问:
1)如果采用单级目录,查找一个文件最多和最少需要读入多少个物理块?
2)如果采用二级目录,查找一个文件最多和最少需要读入多少个物理块?

单级目录:最多5个物理块,最少2个物理块 ,读入FCB也算一次读入物理块

二级目录:最多9个物理块,最少3个物理块

2、在Unix系统的文件系统中引入i结点的目的是什么?请举例说明。

‍降低目录项的大小,同时也降低了读入块的数量。

举例:

假设物理块大小为4KB,某个目录中有1万个文件。

每个文件的FCB(目录项)大小为2KB,则

目录文件大小:20000KB

目录文件需要的物理块数量:5000块

检索文件平均需要访问的物理块数:(5000+1)/2=2500.5

而采用了 i node之后,一个i node大小为64B

目录文件大小:640000B=625KB

目录文件需要的物理块数量:157块

检索文件平均需要访问的物理块数:(157+1)/2=79

3、请谈谈Windows中采用的符号链接的缺点和优点。

‏优点:

软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。

缺点:

因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了。

它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

4、请举例说明什么的文件采用顺序文件较好,什么文件采用直接文件较好?为什么?

‌文件信息按照存放顺序,一个记录一个记录地依次访问采用顺序文件,因为这样的文件只能按照顺序进行访问,所以采用顺序文件存放比较好。

想要直接定位到文件的某条记录进行访问的文件采用直接文件,因为对于想要直接访问某个位置来说,直接文件访问效率高,可以快速定位。

5、在树型目录中,是不是目录层次越多越好?为什么?请举例说明

不是目录层次越多越好,因为在树形目录中查找一个文件,需要按路径名逐级访问中间结点,这就增加了磁盘访问次数,无疑将影响查询速度。如果目录层次很多的时候,可能就会产生访问磁盘次数非常多的情况。

猜你喜欢

转载自blog.csdn.net/weixin_45788387/article/details/122365638