840 likes | 976 Views
操作系统应用与配置. 第 5 章 文件系统. 文件系统是对软件资源的管理。 文件系统是计算机组织、存取和保护信息的重要手段。 计算机的重要作用之一是快速处理大量信息,从而信息的组织、存取和保管就成为一个极为重要的内容。 本章讨论的问题:文件的组织结构、文件的组织管理、文件操作、文件的存取控制和文件系统空间。. 5.1 文件系统的概念. 5.2 文件的逻辑结构与存取方法. 5.3 文件的物理结构与存储设备. 5.4 文件存储空间管理. 5.5 文件目录管理. 5.6 文件存取控制. 5.7 文件的使用.
E N D
操作系统应用与配置 第5章 文件系统
文件系统是对软件资源的管理。 文件系统是计算机组织、存取和保护信息的重要手段。 计算机的重要作用之一是快速处理大量信息,从而信息的组织、存取和保管就成为一个极为重要的内容。 本章讨论的问题:文件的组织结构、文件的组织管理、文件操作、文件的存取控制和文件系统空间。
5.1 文件系统的概念 5.2 文件的逻辑结构与存取方法 5.3 文件的物理结构与存储设备 5.4 文件存储空间管理 5.5 文件目录管理 5.6 文件存取控制 5.7 文件的使用 5.8 文件系统的层次模型
5.1 文件系统的概念1.文件系统的引入 早期的计算机系统,由于没有功能足够强大的文件管理系统对外部存储器中文件进行管理,所以对文件的使用相当复杂和繁琐。特别是对于用户文件的组织和管理常常要用户亲自干预,比如要按照设备的物理地址安排的位置,组织相应的输入/输出指令,还应掌握存储空间上信息的分布等等,稍不注意就破坏原来已存入介质的文件信息。
尤其是在多道程序引入后,多个用户共享大容量的文件存储器,让用户自己协调管外存上的信息,难以办到也不允许。 现代OS都引入了文件系统,协助用户存取和管理他的信息,使得用户“按其文件名”存取信息十分方便。 目前各类计算机系统都十分重视文件管理的功能,即使在小型机甚至个人计算机中 ,OS的其它功能往往不见得很强,但相对来说都具有较强的文件管理功能。
2. 文件与文件系统概念 • 文件的定义: • 文件是具有符号名的、在逻辑上具有完整意义的相关信息的集合。 • 文件的形式: • 以字符为基本单位构成的文件,其内容被看作是一组字符流。 • 以记录为基本单位构成的文件,其内容是一组相关记录。记录是有一定独立意义的信息的集合。
3)文件系统的定义:所谓文件系统是操作系统中负责管理和存取文件的软件机构。它负责为用户建立、撤消、读写、修改和复制文件,还负责完成对文件的按名存取和进行存取控制。3)文件系统的定义:所谓文件系统是操作系统中负责管理和存取文件的软件机构。它负责为用户建立、撤消、读写、修改和复制文件,还负责完成对文件的按名存取和进行存取控制。 • 4)文件系统的组成: • 实施文件管理的软件程序; • 被管理的文件信息; • 有关文件管理的数据结构。
3. 文件系统的功能 • 从系统角度看,文件系统的主要功能是对文件存储空间进行组织、分配,并提供对文件的存储、检索和保护等手段。 • 从用户角度看,文件系统主要是实现了对文件的“按名存取”。所谓“按名存取”是指当用户需要存取文件时,只需提供文件名即可,究竟文件在存储介质的什么地方,如何存放,用户可以不必考虑。这样用户对文件的使用变得更为简单方便。
具体来说,文件系统的功能包括: 1)实现从逻辑文件到物理文件的转换。 2)有效地分配和管理文件存储空间。 3)建立文件目录。 4)提供合适的存取方法,适应各种不 同的应用。 5)给用户提供一组文件操作。
3. 文件的分类 文件可按各种方法进行分类: • 按性质和用途分类 • 按使用情况分类 • 按保护方式分类 • 按信息流向分类 • 按组织和管理方式分类
按性质和用途分类 • 系统文件:有关操作系统及其它系统程序的信息所组成的文件。这类文件对用户不直接开放,只能通过系统调用为用户服务。 • 库文件:由标准子程序及常用的应用程序组成的文件。 这类文件允许用户调用,但不允许用户修改。 • 用户文件:由用户委托操作系统保存的文件,如源程序文件,目标程序文件,以及由原始数据、计算结果等组成的文件。
按使用情况分类 • 临时文件:用户在一次算题过程中建立的“中间文件”。 当用户撤离系统时,其文件也随之被撤消。 • 档案文件:只保存在作为档案的磁带上, 以便考证和恢复用的文件,如日志文件。 • 永久文件:用户要经常使用的文件。 它不仅在磁盘上有文件副本,而且在“档案”上也有一个可靠的副本。
按保护方式分类 • 只读文件:允许文件主及核准的用户读, 但不允许写的文件。 • 读写文件:允许文件主及核准的用户读、 写, 但禁止未核准的用户读、写的文件。 • 可执行文件:允许用户调用执行的文件。 • 不保护文件:所有用户都可以存取的文件。
按信息流向分类 • 输入文件:只能输入的文件,例如键盘输入 • 输出文件:只能输出的文件,例如打印机文件 。 • 输入输出文件:既可读,又可写的文件,例如在磁盘、 磁带上的文件。
按组织和管理方式分类 • 普通文件:是系统所规定的最一般组织格式的文件。例如在UNIX系统中由字符流组成的无结构的文件。 • 目录文件:是由文件的目录信息构成的专用文件。即该文件的内容是用来检索文件的目录信息。 • 特殊文件:是具有各种特殊用途的文件,它们在使用形式上与普通文件相同,如查找目录、存取操作等。如:所有的I/O设备都被看作特殊文件,分为字符设备文件和块设备文件。
4. 文件系统的特点 • 友好的用户接口。用户只对逻辑文件进行操作,不考虑文件结构和存放的物理位置。 • 对文件按名存取,对用户透明。 • 使用方法统一,某些文件可以被多个用户或进程所共享。 • 文件系统使用大容量存储器作为存储介质,可存储大量信息。 • 安全可靠。
5. 2 文件的逻辑结构与存取方法 • 1. 逻辑结构 • 文件的逻辑结构----呈现在用户面前的文件结构。 • 逻辑结构分为两种: • 无结构的流式文件 • 有结构的记录式文件
无结构的流式文件 • 有序文件的相关数据集合。 • 优点是结构简单、便于操作、节省存储空间。 • 缺点是查找流式文件中的基本信息单位比较困难。 • 系统中的源程序、目标代码等都是流式文件。 • UNIX系统就是采用流式文件。一些慢速字符设备也被视作流式文件,其内容是这些设备传输的信息,即通过这些设备的字符流。
有结构的记录式文件 • 记录式文件由一组记录按照某种方式排列组成,如数据库文件。 • 记录是一个具有特定意义的信息单位,它由该记录在文件中的逻辑地址(相对位置)与记录名所对应的一组关键字、属性及其属性值所组成。 记录组成例
记录式文件的优点是:信息组织合理,查找方便,便于用户对文件中的记录进行修改、追加、查找和管理等操作。 缺点是开销较大。 数据库管理系统多采用有结构的记录文件。
2. 文件的存取方法 • 用户通过对文件的存取来完成对文件的修改、追加和搜索等操作。 • 由于文件的性质和用途不同,以及用户对文件的使用要求不同,因而对文件的存取方法也有不同的要求。 • 常用的存取方法有三种:顺序存取法、随机存取法和按键存取法。
1)顺序存取法 • 按照文件的逻辑地址顺序存取。 • 在有结构的记录式文件中,若当前读取的记录是第i个记录Ri,则下一次读取的记录就是第i+1个记录Ri+1。 • 在无结构的流文件中,顺序存取反映当前读写指针的变化。在存取完一段信息之后,读写指针自动加上或减去该段信息长度,指出下次存取时的位置。
2)随机存取法 • 随机存取法也称为直接存取法。 允许用户随意存取文件中的任何一个记录,和上一次读写位置无关。 • 在直接存取文件访问时,用户除了给出文件名外,还应给出要读出的记录号。按照记录的编号来存取文件的任一记录,或者是根据存取命令把读写指针移到欲读写的编号处来读写。
定长:记录号i,长度m LA=i*m 故读写第i个记录的首址为: rptr=addro+i*m wptr=addro+i*m (addro是i记录所在的物理地址,m为记录的长度)
3)按键存取法 按照给定的关键字值或记录名进行存取。 • 按键存取是一种用在复杂文件系统特别是数据管理系统中的存取方法,文件的存取是根据给定的键或记录名进行的。 • 按键存取法,首先搜索到要进行存取的记录的逻辑位置,再将其转换到相应的物理地址后进行存取。 • 对文件的搜索包括两种:关键字的搜索和记录的搜索,具体实现的算法有线性搜索、二分搜索和散列搜索等。
5.3 文件的物理结构与存储设备 • 文件的物理结构是指文件在存储介质上的存储结构。它与存储介质的物理特性密切相关,并对文件的存取方法有较大影响。 • 为了有效利用外存的空间和便于对文件信息的存取,通常是把外存的存储空间划分成若干个物理块,并以物理块作为存储空间分配的基本单位。 • 物理块的长度通常是固定的。在记录文件中允许一个逻辑记录占用几个物理块,也可以在一个物理块中存放几个逻辑记录。
1. 文件的物理结构 • 文件系统的重要作用之一,就是在用户的逻辑文件和相应存储设备上的物理文件之间建立映射,实现二者的转换。 • 文件在逻辑上都可以看成是连续的,但在物理介质上存放时,却可以有各种形式。 • 常见的几种基本的文件物理结构是:连续结构、链接结构(串联)和索引结构。
文件说明: 文件A 文件A 起始块号14 文件长度(块数4) 物理块号 14 15 16 17 2 3 逻辑块号 0 1 1) 连续文件 • 将文件信息连续存放到存储器上的一组相邻的物理块中。显然,这种结构的文件的逻辑记录顺序与物理块的顺序是一致的,这类文件称为连续文件。
连续结构的特点 • 优点:连续文件存取信息的速度较快。一旦找到了文件在存储设备上的起址和文件长度,就能很快地进行存取。 • 缺点:建立连续文件时,需要连续的存储空间,故文件长度不能动态调整、容易出现存储碎片、存储空间的利用率较低。 • 因此,连续文件结构不宜用来存放用户文件、数据库文件等经常被修改的文件。
文件说明: 文件A 文件A 20 15 24 17 起始块号20 物理块号 15 24 17 0 链接指针 逻辑块号 0 1 2 3 2)串联(链接)文件 • 将文件信息存放到不连续的一组物理块中。 • 这些非连续的物理块之间没有顺序关系,其中每个物理块设有一个指针,指向其后续连接的另一个物理块,从而使得存放同一文件的物理块链接成一个串联队列。
串联文件结构的特点 优点: • 在文件说明信息中不必指明文件的长度,只需指明该文件的起始块号即可。 • 文件可以动态增删,长度可以动态地改变,只要调整连接指针就可在任何一个信息块之间插入或删除一个信息块。 缺点:只能按队列中的串联指针顺序搜索,搜索速度较慢、效率较低。 • 因此,串连文件结构不适宜随机存取,一般只适用于逻辑上连续的文件,且存取方法应该是顺序存取的。
索引表: 文件说明: 24 逻辑块号 物理块号 文件A 0 24 索引表指针 15 1 15 27 2 22 3 25 25 3)索引文件 • 索引结构要求系统为每个文件建立一张索引表,表中每一栏目指出文件信息所在的逻辑块号和与之对应的物理块号。索引表的物理地址则由文件说明信息项给出。 • 索引表是在文件建立时由系统自动建立的,并与文件一起存放在同一文件卷上。对于一个大的文件,其的索引表通常要占用一至几个物理块。
索引表的组织 • 索引表的大小取决于文件的大小。如果文件很大,则相应的索引表也较大,索引表本身可按串联或连续方法来组织,但前者增加了存取索引表的访问次数,而后者又不便于索引表的动态增长。 • 组织索引表的另一种方法是建立多级索引,即为索引表再建立索引。UNIX操作系统就是采用多级索引结构。
多重索引表 多重索引结构
索引文件的存取 • 索引文件的存取,首先是查索引表,得到记录地址;然后是根据所得到的地址,存取相应记录。这需要两次访问文件存储空间,因而降低了文件的存取速度。 • 一种改进的方法是,当对某个文件进行操作之前,系统预先把索引表放入内存。这样文件的存取就可直接在内存通过索引表确定物理地址块号,而访问磁盘的动作只需要一次。
索引结构的特点 • 优点:既适用于顺序存取,又适用于随机存取。 • 缺点:增加了索引表的空间开销,降低了文件存取速度。
5.4 文件存储空间的管理 • 无论是程序还是数据,所有信息都是以文件形式存放在外存上。所以,这些外部存储器也称为文件存储器,其空间也叫作“文件存储空间”。 • 为了便于用户按名存取所需文件,文件系统要掌握存储器存储空间的使用情况。由于文件存储设备分成若干个大小相等的物理块,并且以块为单位来交换信息的,因此文件存储空间的管理实质上是一个空闲块的组织、分配与回收的问题。 • 三种常用的管理方法:位示图,空闲文件目录,空闲块链
1. 位示图 • 系统首先从内存中划出若干个字节,为每个文件存储设备建立一张位示图,这张位示图反映每个文件存储设备的使用情况。 • 在位示图中,每个文件存储设备的物理块都对应一个比特位。如果该位为“0”,则表示所对应的块是空闲块,反之如果该位为"1",则表示所对应的块已被分配出去。
位示图示例 • 显然,利用位示图来进行空闲块分配时,只需查找图中的"0"位,并将其置为"1"位。反之,利用位示图回收时只需把相应的比特位由“1”改为“0”即可。
2. 空闲文件目录 • 将外存的文件存储空间上的一个连续的未分配区域当作一个空闲文件。 • 系统再为所有空闲文件建立的一张空闲文件目录表。 • 在这张目录表中为每个空闲文件建立了一个表项,表项的内容包括该空闲文件的第一个空闲块的地址(物理块号)和该空闲文件的长度(所包含的空闲块个数)。
序号 第一个空闲块号 空闲块数 物理块号 1 2 3 2、3、4 2 9 4 9、10、11、12 3 15 5 15、16、17、18、19 4 -- -- -- 空闲文件目录示例 • 空闲文件目录类似于可变分区存储管理时使用的数据结构“可用分区表”。 • 该方法实现简单,适用于连续文件结构的文件存储区的分配与回收。
3. 空闲块链 • 空闲块链是一种较常用的空闲块管理方法。 • 它把文件存储设备上的所有空闲块链接在一起,其中的空闲块可以互不相邻,因此构成空闲块链的存储空间可以是不连续的。 • 它类似于分区存储管理时使用的数据结构“空闲区链”。 • 当申请者需要空闲块时,分配程序从链首开始摘取所需要的空闲块,然后调整链首指针。反之,当回收空闲块时,把释放的空闲块逐个插入链尾上。
空闲块链的链接方法 • 空闲块链的链接方法因系统而异,常用的链接方法有3种:按释放先后顺序链接的方法、按空闲区大小顺序链接方法、按成组链接法。
练习题: 多选题 • 1.文件的物理结构一般有() A 连续文件 B 流式文件 C 记录式文件 D串联文件 E 索引文件 答案:A D E
2. 某文件系统采用索引文件结构,假定文件索引表的每个表项占3个字节,存放一个磁盘块的块号(磁盘块的大小为512B)。试问 1)该文件系统能管理的最大磁盘空间是多少字节 2)若采用2级或3级索引该文件系统能管理的最大磁盘空间又是多少字节?
分析: 由于索引表占用一个大小为512B的磁盘,所以该文件系统的索引表可以管理512/3=170个表项,而每一个表项对应一个物理块,因此该文件系统可以管理的最大磁盘空间为170*512B=87040B=85K 若采用二级索引,则是:170*170*512B=7225KB 若采用三级索引,则是:170*170*170*512B=2456500KB=2398.93M
5.5 文件目录管理 • 为了便于对文件的控制和管理,操作系统为每个文件建立了一个文件说明,称为文件控制块FCB,其中通常包含: • 文件名、文件在存储介质上的物理位置、文件的逻辑结构及文件类型、文件的访问控制信息和文件属性、文件的创建日期和时间等管理信息 。 • 为了管理上的方便,文件系统建立了一套目录机构,以实现对文件的按名存取。
文件的组成 一个文件包括两部分:文件说明和文件体。 文件体:文件本身的信息。 文件说明包括文件名、第一个物理块的地址、存取控制和有关信息。 文件目录 文件目录可分为单级目录、二级目录和多级目录
1. 单级目录 • 单级目录是一种最简单、最原始的目录结构。 • 文件系统为存储设备中的所有文件建立一张目录表,每个文件在其中占有一项用来存放文件说明信息。