大工21春《操作系统概论》复习资料十六
《操作系统概论》辅导资料十六主题:第6章文件管理(第3—4节)学习时间:2020年7月13日--7月19日“不忘初心、牢记使命”主题理论学习:信仰、信念、信心,任何时候都至关重要。小到一个人、一个集体,大到一个政党、一个民族、一个国家,只要有信仰、信念、信心,就会愈挫愈奋、愈战愈勇,否则就会不战自败、不打自垮。无论过去、现在还是将来,对马克思主义的信仰,对中国特色社会主义的信念,对实现中华民族伟大复兴中国梦的信心,都是指引和支撑中国人民站起来、富起来、强起来的强大精神力量。
摘选自《在庆祝改革开放40周年大会上的讲话》习近平《论全面深化改革》内容:
第6章文件管理
这周我们将学习课件第6章中的第3—4节,下面整理出的理念框架供同学们学习。
本篇的基本要求:
1.了解文件数据的组织和存储
2.掌握目录结构
重点掌握内容:
1.目录、路径名6.3文件目录
一、文件控制块
为了描述、管理和控制文件,操作系统为每个文件设置了专门的数据结构,称为文件控制块(FCB)。每个文件有一个文件控制块,它是该文件的唯一标识,文件管理程序正是借助文件控制块中的信息来管理和操作文件。
若干个文件控制块的有序集合就构成了文件目录,而每个文件控制块就是一个目录项,因此,文件目录实际上是由若干文件控制块组成的文件,通常称为目录文件。
一个典型的文件控制块通常包含以下信息:
(1)基本信息
(2)存取控制信息
(3)文件使用信息二、目录结构
目录结构指文件目录的组织形式。目录结构的组织好坏,直接关系到文件系统的存取速度,同时也关系到文件的共享和安全性,因此,组织好文件的目录结构,是设计好文件系统的重要环节。目录结构有单级目录结构、二级目录结构以及多级目录结构等。
单级目录是最简单的目录结构,它指将所有文件的文件控制块依次保存在一张目录表中。单级目录结构实现了目录管理的最基本功能——按名存取,但它存在以下缺点:只能顺序查找,文件检索速度慢,不允许文件具有重名,不便于实现文件共享,只适用于单用户环境。
二级目录指目录分成两级。一级是用户自己的用户文件目录(UFD),它由该用户的所有文件的文件控制块组成,其结构与单级目录相似。另一级是主文件目录(MFD),整个系统设置一张主文件目录,每个用户文件目录在主文件目录中占有一个目录项,它记录了该用户目录的用户名及其物理位置等信息。
路径名----从根目录出发,一直到所要找的文件,把途经的各分支子目录名的连接。如下图所示为典型的路径名
/三、目录检索技术
目录管理的最基本功能是对文件实现“按名存取”。要实现文件的按名存取,系统必须先依次进行下述操作:根据用户提供的文件名在文件目录上找到该文件的文件控制块或索引结点,从文件控制块或索引结点中找到该文件的物理地址(盘块号),由盘块号换算出该文件在磁盘上的物理位置(柱面、磁道、扇区),通过磁盘驱动程序将该文件读入内存。完成这些操作的关键是怎样根据文件名从目录中检索出文件的物理位置。
存在两种常用的目录检索方法:
线性检索法
哈希检索法。
1.线性检索法
线性检索法又称为顺序检索法例如,若要检索绝对路径名为/etc/sysconfig/network的文件,线性检索法按照以下过程完成检索操作:
(1)从路径名中分离出目录文件名etc,用它在根目录文件中顺序检索,找到匹配者的索引结点,再从该索引结点中找到存储/etc目录文件的磁盘块,并将该盘块读入内存。
(2)从路径名中分离出目录文件名sysconfig,用它在/etc目录文件中顺序检索,找到匹配者的索引结点,再从该索引结点中找到存储/etc/sysconfig目录文件的磁盘块,并将该盘块读入内存。
(3)从路径名中分离出文件名network,用它在/etc/sysconfig目录文件中顺序检索,找到匹配者的索引结点,再从该索引结点中找到存储network文件的磁盘块。目录检索工作到此结束。
在顺序检索过程中,如果有一个目录名(或文件名)分量没有找到,则说明待查文件在指定位置不存在;这时,应停止检索并返回“文件未找到”信息。
2.散列检索法
如果文件系统采用哈希(散列)方法进行管理,即文件目录是一张哈希(散列)表,每个文件名的哈希函数值是文件目录中对应目录项的索引值,则可以使用哈希检索法查找指定文件。
具体方法如下:以文件名为自变量,代入创建文件目录时使用的哈希函数,计算出哈希函数值,则得到该文件的目录项在文件目录中的索引号,利用这个索引号从文件目录中直接找到欲访问文件的目录项,从而获得该文件的物理地址。
采用哈希检索法可以显著提高文件的检索速度。6.4文件存储空间管理
文件管理的一项基本任务是对文件的存储空间进行管理,解决为新建文件分配存储空间以及回收已删除文件的存储空间等问题。为新建文件分配外存空间可以采用连续分配和离散分配两种方式。不同的分配方式具有不同的特点。连续分配方式具有较高的文件访问速度,但容易产生外存碎片。离散分配方式正好相反,不会产生外存碎片,但访问速度比较慢。无论采用什么方式分配外存空间,进行分配的单位始终是磁盘块而非字节。
要实现外存空间的分配和回收,系统必须设置相应的数据结构,记录外存空间当前的使用情况;同时还必须提供相应手段,实现外存空间的具体分配和回收操作。常用的文件存储空间管理方法有以下几种:空闲区表法、空闲块链表法、位示图法和成组链接法。
一、空闲块链表法
将磁盘上当前的所有空闲块通过指针链接成一个链表,当系统给文件分配存储空间时,分配程序就从该链表中摘取合适的空闲块分配给用户。
空闲盘块链
将磁盘上当前的所有空闲空间,以盘块为单位链接成一个链表。当用户请求为文件分配存储空间时,系统就从空闲盘块链的表头开始,依次摘取适当数目的空闲盘块分配给用户。当用户删除文件时,系统就将回收的盘块依次链入空闲盘块链。空闲盘块链的优点是分配和回收盘块过程非常简单,缺点是在为一个文件分配存储空间时,可能要重复进行多次分配操作。
/
空闲盘区链
将磁盘上当前的所有空闲空间,以空闲盘区为单位链接成一个链表。由于各个空闲盘区的大小可能不一样,因此,每个空闲盘区除了含有指向下一个空闲盘区的指针以外,还用一定的字节记录了空闲盘区大小(即盘块数量)。使用空闲盘区链分配盘区的方法与内存的动态分区分配类似,可以采用首次适应等算法。在回收盘区时,也要考虑相邻空闲盘区的合并问题。为了提高对空闲盘区的检索速度,可以采用显式连接,即在内存中为空闲盘区建立一张链表。
二、位示图法
位示图法指利用一个由若干二进制位构成的图形来描述磁盘当前盘块的使用情况。二进制位的数量与磁盘的盘块数量相同,每个二进制位对应一个盘块,其中,若某二进制位为0,则表示对应的盘块为空闲盘块;若某二进制位为1,则表示对应的盘块已被分配。
/
三、成组链接法
空闲区表法和空闲块链表法都不适用于大型文件系统,因为大型文件系统的空闲区表或空闲块链表太长。在UNIX等操作系统中将这两种方法结合起来,得到一种称为“成组链接法”的文件存储空间管理方法。成组链接法将磁盘的空闲盘块按照指定长度划分成若干组(例如,每组有100个盘块),最后一组的盘块数量可能小于指定长度(例如,小于100),再将每组盘块的盘块数和盘块号以堆栈形式依次保存在后一组空闲盘块的第一个盘块中,而将最后一组空闲盘块的盘块数和盘块号以堆栈形式依次保存在文件系统的超级块中
/
重要考点
一、选择题
1、文件系统采用二级目录结构,这样可以( )。
A. 缩短访问文件存储器时间
B. 实现文件共享
C. 节省主存空间
D. 解决不同用户之间的文件名冲突问题
答:D
解析:二级目录,就是子目录,继承在主站目录下的,相当于在网站的根目录下再建立一个文件夹存放网站,解决不同用户之间的文件名冲突问题2、一个文件的路径名是从( )开始,一直到所要找的文件,把途经的各分支子目录名连接一起而形成的。
A.三级目录
B.根目录
C.多级目录
D.二级目录
答:B
解析:路径名----从根目录出发,一直到所要找的文件,把途经的各分支子目录名的连接。如下图所示,第一个就是根目录。南开答案可以联系QQ 761296021
页:
[1]