计算机操作系统教程_第四版_(张尧学著)_清华大学出版社_第8章

  • 格式:ppt
  • 大小:412.50 KB
  • 文档页数:101

下载文档原格式

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

① 友好的用户接口,用户只对文件进行操作,而不 管文件结构和存放的物理位置。 ② 对文件按名存取,对用户透明。 ③ 某些文件可以被多个用户或进程所共享。 ④ 文件系统大都使用磁盘、磁带和光盘等大容量存 储器作为存储介质,因此,可存储大量信息。 3. 文件的分类 在文件系统中,为了有效、方便地管理文件,常常 把文件按其性质和用途等进行分类。 按文件的性质和用途可以分为三类:
显然,这些人工干预的控制和保存软件资源的方法 不可能做到透明存取,极大地限制了计算机的处理 能力和 CPU等计算机硬件的利用率。 大容量直接存取的磁盘存储器以及顺序存取的磁带 存储器等的出现,为程序和数据等软件资源的透明 存取提供了物质基础。这导致了对软件资源管理质 的飞跃——文件系统的出现。文件系统把相应的程 序和数据看作文件,并把它们存放在磁盘或磁带等 大容量存储介质上,从而做到对程序和数据的透明 存取。这里,透明存取是指不必了解文件存放的物 理结构和查找方法等与存取介质有关的部分,只需 给定一个代表某段程序或数据的文件名,文件系统 就会自动地完成对与给定文件名相对应文件的有关 操作。
7.2.2 存取方法 用户通过对文件的存取来完成对文件的修改、追加 和搜索等操作。常用的存取方法有三种: (1) 顺序存取法 (2) 随机存取法(直接存取法) (3) 按键存取法 顺序存取是按照文件的逻辑地址顺序存取。在记录 式文件中,这反映为按记录的排列顺序来存取,例 如,若当前读取的记录为Ri,则下一次读取的记录 被自动地确定为Ri的下一个相邻的记录Ri+1。在无 结构的字符流文件中,顺序存取反映当前读写指针 的变化。在存取完一段信息之后,读写指针自动加 或减去该段信息长度,以便指出下次存取时的位置。
显然,对于字符流的无结构文件来说,查找文件中 的基本信息单位,例如某个单词,是比较困难的。 但反过来,字符流的无结构文件管理简单,用户可 以方便地对其进行操作。所以,那些对基本信息单 位操作不多的文件较适于采用字符流的无结构方式, 例如,源程序文件、目标代码文件等。 除了字符流的无结构方式外,记录式的有结构文件 可把文件中的记录按各种不同的方式排列,构成不 同的逻辑结构,以便用户对文件中的记录进行修改、 追加、查找和管理等操作。 记录是一个具有特定意义的信息单位,它由该记录 在文件中的逻辑地址(相对位置) 与记录名所对应的 一组键、属性及其属性值所组成。图7.2是一个记 录的组成例。
随机存取法允许用户根据记录的编号来存取文件的 任一记录,或者是根据存取命令把读写指针移到欲 读写处来读写。UNIX系统以及MS-DOS等操作系 统都采用顺序存取和随机存取等两种方法。 按键存取是一种用在复杂文件系统,特别是数据库 管理系统中的存取方法。文件的存取是根据给定的 键或记录名进行的。按键存取法首先搜索到要进行 存取的记录的逻辑位置,再将其转换到相应的物理 地址后进行存取。下面,介绍按键存取的搜索方法。 对文件进行搜索的目的是要查找出特定记录所对应 的逻辑地址,以便将其转换为相应的物理地址,实 现对文件的操作。
除了按文件的用途和组织形式来分类外,还可以按 文件中的信息流向或文件的保护级别等分类。例如, 按信息流向可把文件分为:输入文件、输出文件、 以及输入/ 输出文件等。按文件的保护级别又可分 为:只读文件、读写文件、可执行文件和不保护文 件等。 文件的分类主要是便于系统对不同的文件进行不同 的管理,从而提高处理速度和起到保护与共享的作 用。例如,一个系统文件在读入内存时将被放在内 存的某一固定区且享受高的保护级别,从而不必像 一般的用户文件那样只有在内存用户可用区分得相 应的空闲区之后才能被调入内存。
图7.2 记录组成例
图中,1296是名为R 的记录在文件中的逻辑地址, ‘姓名 : A ’是该记录的键,而 ‘性别’,‘出生 年月’,‘工资’ 等是该记录的属性,紧跟在这 些后面的是属性值。一个记录可以有多个键名,每 个键名可对应于多项属性。再者,根据各系统设计 的要求不一样,记录既可以是定长的,也可以是变 长的。记பைடு நூலகம்的长度可以短到一个字符,也可以长到 一个文件,这要由系统设计人员确定。 常用的记录式结构文件有以下几种: (1) 连续结构; (2) 多重结构; (3) 转置结构; (4) 顺 序结构。 下面分别介绍这几种结构。
在有些操作系统中,从字符流文件的角度出发,设 备也被看作是赋予特殊文件名的文件。从而,系统 可以对设备和文件实施统一管理,以致大大简化设 备管理程序和文件系统的接口设计。 用户文件名由用户给定,它是一个字母数字串,有 些系统规定必须是英文字母打头且允许一些其他的 符号出现在文件名的非打头部分。例如a.out, ccdos.exe均为合法文件名。 (2) 文件系统 操作系统中与管理文件有关的软件和数据称为文件 系统。它负责为用户建立文件,撤消、读写、修改 和复制文件,还负责完成对文件的按名存取和进行 存取控制。 文件系统具有以下特点:
2. 文件与文件系统的概念 (1) 文件 上面已说过,文件是一段程序或数据的集合。这是 一种较为模糊的说法。在计算机系统中,文件被解 释为一组赋名的相关联字符流的集合,或者是相关 联记录( 一个有意义的信息单位 )的集合。 文件的两种解释定义了两种文件形式。赋名的字符 流文件是一种无结构文件或流式文件。目前常用的 操作系统,例如 UNIX 操作系统,MS-DOS等均采 用无结构文件形式。无结构文件由于采用字符流方 式,与源程序、目标代码等在形式上是一致的,因 此,该方式适用于源程序、目标代码等文件。由相 关联记录组成的文件中的有些基本信息单位是记录。 记录是由 N (N >1) 个字节组成的具有特定意义的 信息单位。记录式文件主要用于信息管理。
图7.3 文件的记录名和键构成的行列式
显然,如果只按行列式结构来排列记录,将会浪费 较多的存储空间。从而,我们把行列式中那些为零 的项去掉,并以键Ki为队首,以包含键Ki的记录为 队列元素来构成一个记录队列。对于一个有m个键 的队列来说,这样的队列有m个。这m个队列构成 了该文件的多重结构(multi_list)。如图7.4所示。 (3) 转置结构 在图7.4的多重结构中,每个队列中和键直接相连的 只有一个记录。这种结构虽然在探索时要优于连续 结构,但在探索某一特定记录时,必须在找到该记 录所对应的键之后,再在该键所对应的队列中顺序 查找。与此相反,转置结构把含有相同键的记录指 针全部指向该键,也就是说,把所有与同一键对应 的记录的指针连续地置于目录中该键的位置下(图 7.5)。转置结构最适合于给定键后的记录搜索。
第7章 文件系统
7.1 文件系统的概念 7.2 文件的逻辑结构与存取方法 7.3 文件的物理结构与存储设备 7.4 文件存储空间管理 7.5 文件目录管理 7.6 文件存取控制 7.7 文件的使用 7.8 文件系统的层次模型 本章小结 习题
对大多数用户来说,文件系统是操作系统中最直接 可见的部分。计算机的重要作用之一就是能快速处 理大量信息,从而,信息的组织、存取和保管就成为 一个极为重要的内容。文件系统是计算机组织、存 取和保存信息的重要手段。本章主要讨论文件的组 织结构、存取结构、保护以及文件系统空间管理等 问题。
(1) 连续结构 连续结构是一种把记录按生成的先后顺序连续排列 的逻辑结构。连续结构的特点是适用性强,可用于 所有文件 ,且记录的排列顺序与记录的内容无关。 这有利于记录的追加与变更。但是,连续结构文件 的搜索性能较差,例如要找出某个指定键的记录时, 系统必须对文件全体进行搜索。 (2) 多重结构 如果把记录按键和记录名排列成行列式结构,则一 个包含n个记录名、m个(m≤n)个键的文件构成一 m*n维行列式(如图7.3)。其中,如果第i(1≤i≤m) 行 和第j(1≤j≤n) 列所对应的位置上为1,则表示键Ki 在记录 R中; 反之,则表示键Ki不在记录 Rj 中。另 外,同一个键也可以同时属于不同记录。
7.1 文件系统的概念
1. 文件系统的引入 操作系统对计算机的管理包括两个方面:硬件资源 的管理和软件资源的管理。硬件资源的管理包括 CPU 的管理、存储器的管理、设备管理等,主要 解决硬件资源的有效和合理利用问题。软件资源的 管理则包括对各种系统程序(包括操作系统本身的 程序)、系统应用程序或工具(例如编辑程序、编 译程序等)、库函数及各种用户程序和数据的管理。 图7.1给出了资源管理的分类图。
另外,按组织形式,文件又可被画分为以下三类: (1) 普通文件 普通文件既包括系统文件,也包括用户文件和库函 数文件、实用程序文件。普通文件主要是指组织格 式为系统中所规定的最一般格式的文件,例如由字 符流组成的文件。 (2) 目录文件 目录文件是由文件的目录信息构成的特殊文件。即 该文件的内容不是各种程序或应用数据,而是用来 检索普通文件的目录信息。 (3) 特殊文件 在 UNIX 系统中,所有的输入、输出设备都被看作 特殊文件。这组特殊文件在使用形式上与普通文件 相同,如查找目录、存取操作等。
7.2 文件的逻辑结构与存取方法
7.2.1 逻辑结构 文件的逻辑结构是用户可见结构。文件的逻辑结构 可分为两大类:字符流式的无结构文件和记录式的 有结构文件。在文件系统设计时,选择何种逻辑结 构才能更有利于用户对文件信息的操作呢?一般情 况下,选取文件的逻辑结构应遵循下述原则: (1) 当用户对文件信息进行修改操作时,给定的逻辑 结构应能尽量减少对已存储好的文件信息的变动。 (2) 当用户需要对文件信息进行操作时,给定的逻辑 结构应使文件系统在尽可能短的时间内查找到需要 查找的记录或基本信息单位。 (3) 应使文件信息占据最小的存储空间。 (4) 应是便于用户进行操作的。
图7.1 操作系统的软硬件管理
显然,用户使用计算机来完成自己的某件任务时, 要碰到下列问题:
(1) 使用现有的软件资源来协助完成自己的任务。 例 如, 编辑、 编译及链接程序来生成目标代码; 利 用系统调用库函数与实用程序来减少编程工作, 避 开与硬件有关的部分等。 (2) 编制完成的或未完成的程序存放在什么地方,需要 访问的数据存放在什么地方,从而使得人们可以再 利用已有的软件资源。 事实上,这两个问题是一个怎样对软件资源(程序 和数据)进行透明存放,并能令这些程序和数据做 到召之即来的问题。在早期的计算机系统中,由于 硬件资源的限制,只能用卡片或纸带来存放程序或 数据。这些卡片和纸带都分别编号存放,当用户需 要使用它们时,再把这些卡片和纸带放在读卡机上 输入计算机。
图7.4 文件的多重结构
图7.5 文件的转置结构
(4) 顺序结构 如果系统要求按某种优先顺序来搜索或追加、删除 记录,则最好采用顺序结构。如果给定了顺序规定 (例如按字母顺序),则把文件中的键按规定的顺序 排列起来就形成了顺序结构文件。例如,把人民日 报上登载的新闻按年月日为键做成记录放入文件中, 并以时间先后顺序组成文件。这样,如果要处理某 段时间内所发生的大事等问题,就会变得非常简单。 例如用户想了解两伊战争的情况,则只要把1990年 8 月19日开始的两个月内的有关记录搜索到就行了。
文件系统必须完成下列工作: (1) 为了合理的存放文件,必需对磁盘等辅助存储器 空间 (或称文件空间) 进行统一管理。在用户创建 新文件时为其分配空闲区,而在用户删除或修改某 个文件时,回收和调整存储区。 (2) 为了实现按名存取,需要有一个用户可见的文件 逻辑结构,用户按照文件逻辑结构所给定的方式进 行信息的存取和加工。这种逻辑结构是独立于物理 存储设备的。 (3) 为了便于存放和加工信息,文件在存储设备上应 按一定的顺序存放。这种存放方式被称为文件的物 理结构。 (4) 完成对存放在存储设备上的文件信息的查找。 (5) 完成文件的共享和提供保护功能。
(1) 系统文件 该类文件只允许用户通过系统调用来执行它们,而 不允许对其进行读写和修改。 这些文件主要由操 作系统核心和各种系统应用程序和数据所组成。 (2) 库文件 该类文件允许用户对其进行读取、执行, 但不允许 对其进行修改。库文件主要由各种标准子程序库组 成。如 C 语言子程序库、FORTRAN子程序库等。 (3) 用户文件 用户文件是用户委托文件系统保存的文件。这类文 件只由文件的所有者或所有者授权的用户才能使用。 用户文件主要由源程序、目标程序、用户数据库等 组成。