操作系统第7章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图7.1 操作系统的软硬件管理
用户的遇到的问题: (1) 使用现有的软件资源来协助完成自己的任务。 (2) 编制完成的或未完成的程序存放在什么地方,需要 访问的数据存放在什么地方,从而使得人们可以再 利用已有的软件资源。 事实上,这两个问题是一个怎样对软件资源(程序 和数据)进行透明存放 存储器的出现,为程序和数据等软件资源的透明存 取提供了物质基础。这导致了对软件资源管理质的 飞跃——文件系统的出现。
图7.9 串联文件的物理结构
(3) 索引文件 为每个文件建立一张索引表,表中每一栏目指出文 件信息所在的逻辑块号和与之对应的物理块号。索 引表的物理地址则由文件说明信息项给出。索引结 构如图7.10所示。 索引文件结构既可以满足文件动态增长的要求,又 可以较为方便和迅速地实现随机存取。 索引结构的缺点是由于使用了索引表而增加了存储 空间的开销。另外,在存取文件时需要至少访问存 储器二次以上。一种改进的方法是,当对某个文件 进行操作之前,系统预先把索引表放入内存。
多级目录
图7.17 文件系统的树形结构
图7.2 记录组成例
常用的记录式结构文件有以下几种: (1) 连续结构 连续结构是一种把记录按生成的先后顺序连续排列 的逻辑结构。连续结构的特点是适用性强,可用于 所有文件 ,且记录的排列顺序与记录的内容无关。 这有利于记录的追加与变更。但是,连续结构文件 的搜索性能较差,例如要找出某个指定键的记录时, 系统必须对文件全体进行搜索。
二级目录结构
图7.16 二级目录结构
另外,与单级目录相比,如果单级目录表的长度为 n 的话,则单级目录时的搜索时间与 n成正比; 在二 级目录时,由于n的目录已被画分为m个子集,则 二级目录的搜索时间是与m+r成正比的。这里的 m是用户个数,r是每个用户的文件的个数。一般 有m+r≤n,从而二级目录的搜索时间要快于单 级目录。
2. 文件与文件系统的概念 (1) 文件 在计算机系统中,文件被解释为一组赋名的相关联 字符流的集合,或者是相关联记录( 一个有意义的 信息单位 )的集合。 • 流式文件 • 记录式文件
(2) 文件系统 操作系统中与管理文件有关的软件和数据称为文件 系统。它负责为用户建立文件,撤消、读写、修改 和复制文件,还负责完成对文件的按名存取和进行 存取控制。 文件系统具有以下特点: ① 友好的用户接口,用户只对文件进行操作,而不 管文件结构和存放的物理位置。 ② 对文件按名存取,对用户透明。 ③ 某些文件可以被多个用户或进程所共享。 ④ 文件系统大都使用磁盘、磁带和光盘等大容量存 储器作为存储介质,因此,可存储大量信息。
Hale Waihona Puke Baidu
还可以按文件中的信息流向或文件的保护级别等分 类。例如,按信息流向可把文件分为:输入文件、 输出文件、以及输入/ 输出文件等。按文件的保护 级别又可分为:只读文件、读写文件、可执行文件 和不保护文件等。
7.2 文件的逻辑结构与存取方法
7.2.1 逻辑结构 文件的逻辑结构可分为两大类:字符流式的无结构 文件和记录式的有结构文件。 选取文件的逻辑结构应遵循下述原则: (1) 当用户对文件信息进行修改操作时,给定的逻辑 结构应能尽量减少对已存储好的文件信息的变动。 (2) 当用户需要对文件信息进行操作时,给定的逻辑 结构应使文件系统在尽可能短的时间内查找到需要 查找的记录或基本信息单位。 (3) 应使文件信息占据最小的存储空间。 (4) 应是便于用户进行操作的。
另外,按组织形式,文件又可被画分为以下三类: (1) 普通文件 普通文件既包括系统文件,也包括用户文件和库函数文件、 实用程序文件。普通文件主要是指组织格式为系统中所规 定的最一般格式的文件,例如由字符流组成的文件。 (2) 目录文件 目录文件是由文件的目录信息构成的特殊文件。即该文件的 内容不是各种程序或应用数据,而是用来检索普通文件的 目录信息。 (3) 特殊文件 在 UNIX 系统中,所有的输入、输出设备都被看作特殊文件。 这组特殊文件在使用形式上与普通文件相同,如查找目录、 存取操作等。
图7.4 文件的多重结构
(3) 转置结构 把所有与同一键对应的记录的指针连续地置于目录 中该键的位置下。转置结构最适合于给定键后的记 录搜索。
(4) 顺序结构 把文件中的键按规定的顺序排列起来就形成了顺序 结构文件。
7.2.2 存取方法 用户通过对文件的存取来完成对文件的修改、追加 和搜索等操作。常用的存取方法有三种: (1) 顺序存取法 (2) 随机存取法(直接存取法) (3) 按键存取法
图7.8 连续文件结构
(2) 串联文件 采用非连续的物理块来存放文件信息。使得存放同 一文件的物理块链接成一个串联队列。图7.9给出 了串联文件的物理结构。 文件长度可以动态地增长,只要调整连接指针就可 在任何一个信息块之间插入或删除一个信息块。 串联文件结构的搜索效率较低。串连文件结构一般 只适用于逻辑上连续的文件,且存取方法应该是顺 序存取的
字符流的无结构文件:查找文件中的基本信息单位, 是比较困难的,但管理简单,用户可以方便地对其 进行操作。所以,那些对基本信息单位操作不多的 文件较适于采用字符流的无结构方式,例如,源程 序文件、目标代码文件等。 记录式的有结构文件可把文件中的记录按各种不同 的方式排列,构成不同的逻辑结构,以便用户对文 件中的记录进行修改、追加、查找和管理等操作。 记录是一个具有特定意义的信息单位,它由该记录 在文件中的逻辑地址(相对位置) 与记录名所对应的 一组键、属性及其属性值所组成。图7.2是一个记 录的组成例。
2. 直接存取设备 -磁盘 磁盘上每个物理块的位置可用柱面号、磁头号和扇 区号表示,这些地址和物理块号一一对应。磁盘的 结构如图7.13所示。
图7.13
7.4 文件存储空间管理
3种不同的空闲块管理方法。它们是: (1) 空闲文件目录 (2) 空闲块链 (3) 位示图
(1) 空闲文件目录 最简单的空闲块管理方法就是把文件存储设备中的 空闲块的块号统一放在一个称为空闲文件目录的物 理块中。其中空闲文件目录的每个表项对应一个由 多个空闲块构成的空闲区,它包括空闲块个数,空 闲块号和第一个空闲块号等。 空闲文件项方法适用于连续文件结构的文件存储区 的分配与回收
文件系统必须完成下列工作: (1) 为了合理的存放文件,必需对磁盘等辅助存储器 空间 (或称文件空间) 进行统一管理。 (2) 为了实现按名存取,需要有一个用户可见的文件 逻辑结构,用户按照文件逻辑结构所给定的方式进 行信息的存取和加工。这种逻辑结构是独立于物理 存储设备的。 (3) 为了便于存放和加工信息,文件在存储设备上应 按一定的顺序存放。这种存放方式被称为文件的物 理结构。 (4) 完成对存放在存储设备上的文件信息的查找。 (5) 完成文件的共享和提供保护功能。
3. 文件的分类 按文件的性质和用途可以分为三类: (1) 系统文件 该类文件只允许用户通过系统调用来执行它们,而不允许对 其进行读写和修改。 这些文件主要由操作系统核心和各种 系统应用程序和数据所组成。 (2) 库文件 该类文件允许用户对其进行读取、执行, 但不允许对其进行 修改。库文件主要由各种标准子程序库组成。如 C 语言子 程序库、FORTRAN子程序库等。 (3) 用户文件 用户文件是用户委托文件系统保存的文件。这类文件只由文 件的所有者或所有者授权的用户才能使用。用户文件主要 由源程序、目标程序、用户数据库等组成。
(2) 多重结构 如果把记录按键和记录名排列成行列式结构
图7.3 文件的记录名和键构成的行列式
把行列式中那些为零的项去掉,并以键Ki为队首, 以包含键Ki的记录为队列元素来构成一个记录队列。 对于一个有m个键的队列来说,这样的队列有m个。 这m个队列构成了该文件的多重结构(multi_list)。
第7章 文件系统
7.1 文件系统的概念 7.2 文件的逻辑结构与存取方法 7.3 文件的物理结构与存储设备 7.4 文件存储空间管理 7.5 文件目录管理 7.6 文件存取控制 7.7 文件的使用 7.8 文件系统的层次模型 本章小结 习题
7.1 文件系统的概念
1. 文件系统的引入 操作系统对计算机的管理包括两个方面:硬件资源 的管理和软件资源的管理。
对文件的搜索包括两种:键的搜索和记录的搜索。
图7.6 记录 Ri的搜索过程
几种搜索算法(1) 线性搜索法(linear search),(2) 散 列法(hash coding),(3) 二分搜索法(binary search algorithm)。 (1) 线性搜索法 线性搜索法的搜索效率较低,在文件中记录个数较 多时不宜采用。
图7.7 二分搜索法的搜索过程
7.3 文件的物理结构与存储设备
7.3.1 文件的物理结构 (1) 连续文件 连续文件是一种最简单的物理文件结构,它把一个 在逻辑上连续的文件信息依次存放到物理块中。 连续文件结构的优点是存取速度快。 缺点:不能动态增长。会留下无法使用的零头空间。 不宜用来存放经常被修改的文件。
(2) 散列法 散列法的核心思想是定义一个散列函数h(k),使得对 于给定的键k,散列函数h(k)将其变换为 k所对应的 逻辑地址。 在使用散列函数进行搜索时,有时会出现两个不同 的输入值变换到同一地址的问题。这种问题称为散 列冲突。 解决散列冲突的方法是采用多次散列探索。
(3) 二分搜索法 对于顺序结构排列的键或记录来说,二分搜索法具 有较高的搜索效率。 二分搜索法的好处是搜索效率高。与线性搜索法相 比,当 n(表长)=16时,它比线性搜索法约快二倍; 当 n=1 024 时,其平均搜索速度要快50倍。不过,二 分搜索法需要事先把搜索对象按一定顺序排列。
(3) 位示图
7.5 文件目录管理
把文件名和对该文件实施控制管理的控制管理信息 称为该文件的文件说明,并把一个文件说明按一定 的逻辑结构存放到物理存储块的一个表目中 把一个文件的文件说明信息称为该文件的目录。对 文件目录的管理就是对文件说明信息的管理。
7.5.1 文件的组成 从文件管理角度看,一个文件包括两部分:文件说明 和文件体。 文件体指文件本身的信息,它可能是前面各节讨论的 记录式文件或字符流式文件。 文件说明有时也叫文件控制块(FCB),它至少包括文 件名、与(物理结构是连续结构时)文件名相对应的文 件内部标识以及文件信息在文件存储设备上第一个 物理块的地址(物理结构是边连续结构时)。另外, 根据系统要求不同,它还包括关于文件逻辑结构、 物理结构、存取控制和管理信息等。这里的管理信 息主要指访问时间、以及记账信息等。 文件说明组成目录文件。文件系统利用目录文件完成 按名存取和对文件信息的共享与保护。
(2) 空闲块链 空闲块链是一种较常用的空闲块管理方法。空闲块 链把文件存储设备上的所有空闲块链接在一起,当 申请者需要空闲块时,分配程序从链头开始摘取所 需要的空闲块,然后调整链首指针。反之,当回收 空闲块时,把释放的空闲块逐个插入链尾上。 常用的链接方法 • 按空闲区大小顺序链接的方法 • 按释放先后顺序链接的方法 • 按成组链接法
7.5.2 文件目录 文件目录可分为单级目录、二级目录和多级目录。 单级目录是一种最简单、最原始的目录结构。文件系 统为存储设备的所有文件建立一张目录表,每个文 件在其中占有一项用来存放文件说明信息。 单级目录时的文件系统读写处理过程如图7.15。 命名冲突问题和目录表的搜索速度
图7.15 单级目录的读写处理过程
图7.10 索引文件示意图
图7.11 多重索引结构
7.3.2 文件存储设备 以磁带为代表的顺序存储设备 以磁盘为代表的直接存储设备
1. 顺序存取设备-磁带
图7.12 磁带的结构 磁带设备的存取速度或数据传输率与下列因素有关: (1) 信息密度(字符数/英寸) (2) 磁带带速(英寸/秒) (3) 块间间隙 如果带速高,信息密度大,且所需块间隙(磁头启动 和停止时间) 小的话,则磁带存取速度和数据传输 率高,反之亦然。
相关文档
最新文档