《第七章文件系统教材课程》由会员分享,可在线阅读,更多相关《第七章文件系统教材课程(56页珍藏版)》请在金锄头文库上搜索。
1、1,第七章 文件系统,7.1 文件系统的概念 7.2 文件的逻辑组织与存取方法 7.3 文件的物理结构与存储设备 7.4 文件存储空间的管理 7.5 文件目录管理 7.6 共享与安全 7.7 文件完整性 7.8 文件的使用,2,一、引言,软件资源包括各种程序和数据,是一些具有一定逻辑意义的、相关联的信息集合,因此,软件资源也可称为信息资源。对软件资源的管理形成了操作系统的文件管理系统(简称文件系统)。,第七章 文件系统,7.1 文件系统的概念,二、文件,文件:是指一个具有名称的、一组在逻辑上具有完整意义的相关信息的集合。 文件必须要有一个文件名。它通常由一串ASCII码字符或汉字构成,用户利用
2、文件名来访问文件,即“按名存取”。,3,按文件的性质和用途分类: 1)系统文件。由操作系统核心和各种系统程序及数据组成的文件。 这类文件通常只允许用户通过操作系统调用执行,不允许对其进行读写和修改。如编译程序、解释程序以及操作系统本身。,2)库文件。主要由各种标准子程序库组成。 这类文件只允许用户对其进行读取、执行,但不允许对其进行修改。如C语言子程序库、PASCAL语言子程序库等。,3)用户文件。由用户建立的文件。 这类文件只由文件主或被授权的用户才能使用。如源程序、目标程序、数据文件等。,三、文件的分类,5,按文件的信息流向分类可分为: 1)输入文件。只能读入的文件。如键盘输入、纸带输入、
3、读卡机、只读存储器、只读光盘中的文件。 2)输出文件。只能写的文件。如穿孔机、打印机上的文件。 3)输入输出文件。既可读,又可写的文件。如磁盘、磁带和可读写光盘。,按文件保留要求也可划分为三类: 1)临时文件。指保留用户暂时使用的文件,无副本。 2)永久文件,指保留用户经常用到的文件,有副本。 3)档案文件,指只作备份保存起来的文件,以备查证和恢复用。,6,四、文件系统,文件系统:操作系统中负责管理文件的机构。 文件系统负责文件的创立,撤消,读写,修改,复制和存取控制等,并管理存放文件的各种资源。,文件系统的功能: 1)实现文件名到文件空间的映射。 2)实现文件存储空间的分配与回收。 3)实现
4、文件目录的操作管理。 4)提供文件的共享以及保护与保密措施。 5)实现用户要求的各种文件操作。,7,文件系统的功能可以从两个方面来看:用户使用角度和系统管理角度。,从用户使用角度,文件系统主要实现了信息的“按名存取” (文件系统的外部特征)。,从系统管理角度,文件系统主要实现了文件存储器存储空间的组织分配,文件信息的存储,并对存入的文件进行保护和检索(文件系统的内部特征)。,当用户要求系统保存一个已命名的文件时,文件系统根据一定的格式把该文件存放到文件存储器中适当的地方。 用户需要时,系统根据用户指定的文件名,能够从文件存储器中找出所需要的文件或文件中的某些信息。,8,文件系统主要有如下持点:
5、 1)使用方便。 用户借助文件名,并提供适当参数即可方便、灵活地在各种存贮介质上存取和访问控制所需文件。 2)安全可靠。 文件系统能提供各种保护措施,防止对文件信息无意或有意的破坏,并避免由于各种偶然性事故可能造成文件信息的损坏,而且为用户提供了一定的保密措施如对文件加密,以防止用户信息被人“偷窃”。,3)便于共享。 文件系统为用户提供了文件共享功能,使多个用户能共享同一文件。 4)统一管理。 用户可以用统一的虚拟IO指令(或系统调用)来存取各种存贮介质上的文件。,9,7.2 文件的逻辑组织与存取方法,一、文件的组织,文件的逻辑结构:从用户的观点出发所观察到的文件组织形式,是用户可以直接处理的
6、数据及其结构; 文件的物理结构:从实现观点出发,文件在外存上的存放组织形式。 文件的逻辑结构与存储设备无关,但文件的物理结构与存储设备的特性有很大关系。,二、文件的逻辑结构和存取方法,文件的逻辑结构可分为两大类: 1)有结构文件:由记录构成的文件,也以记录为单位进行存取。称为记录式文件; 2)无结构文件:由字符流构成的文件,称为流式文件。,10,文件的存取方法:,文件的存取方法是指:按照文件的逻辑结构存取文件的形式。文件的存取方法是由文件的性质和用户使用文件的情况来决定的。,根据存取的顺序关系可分为两类:顺序存取和随机存取。,顺序存取:按照文件信息的逻辑顺序依次进行读写的存取方法称为顺序存取。
7、采用顺序存取方法的文件称为顺序文件。,随机存取:是根据记录的编号来直接存取文件中的任意一个记录,而无需存取其前面的记录;或者是根据存取命令把读写指针移到欲读写信息处。,11,按键存取:是根据给定的键值或记录名来直接存取纪录式文件中的记录。,12,7.3 文件的物理结构与存储设备,文件的物理结构:是指一个逻辑文件在物理存储器上的存储结构形式。它与文件的存取方法以及文件存储器的特性是密切相关的,是由操作系统给定的。,卷:存储介质的物理单位。 物理块:文件的存储设备通常划分为大小相等的物理块,物理块是分配和传输信息的基本单位。物理块的大小与设备有关,但与逻辑记录的大小无关。 文件的物理结构:存储文件
8、信息的物理块的组织形式。,常用的文件物理组织方式:连续文件、链接文件和索引文件。,13,物理块号,一、连续存放方式连续文件,连续文件:把逻辑上连续的文件信息存放到依次连续的物理块中。这样组织的文件称为连续文件。,优点:结构简单,存取速度比较快。,缺点:1)文件存储器的存储空间存在着一些“零头”,而 不能有效地加以利用。,2)在建立文件时必须确定好文件长度; 3)不能动态增长;,14,二、链接块存放方式串联文件,是将文件存放在外存的若干个不连续的物理块中,每一个物理块中设有一个指针,指向下一个物理块的位置,从而使得存放同一个文件的物理块链接起来。,优点:不存在碎片问题,存储空间利用率较高,便于文
9、件的动态增长。,缺点:1)只能顺序访问,因而查找效率较低。 2)链接字占空间。,15,三、索引结构 基本思想:将文件存放在外存的若干个物理块中,系统为每个文件建立一个索引表,索引表中的每个表目存放文件信息所在的逻辑块号和与之对应的物理块号 。,16,在对索引文件进行检索时,先从FCB中读出索引表始址,然后从索引表中找到指定关键字所对应的索引项,根据其中的物理地址读出所要的记录。,文件控制块,存放文件的属性,多重间接索引 将索引表本身作为一个文件,再为其建立一个索引表,这个索引表作为文件索引的索引,由此构成了多重间接索引。第一级索引表的表目指向第二级索引,第二级索引表的表目指向相应信息所在的物理
10、块号。以此类推可逐级建立索引,进而构成多重间接索引。,优点:便于随机存取,具有直接读写任意一个记录的能力,便于文件的增、删、改。 缺点:增加了索引表的空间开销和查找时间。,17,四、文件存储设备,常用的文件存储设备:磁带、磁盘、光盘。 存储设备的特性决定了文件的存储结构和存取方法。,2. 直接存取设备磁盘,1. 顺序存取设备磁带。,18,3. 文件的存储结构、存取方法和存储设备之间的关系,19,9.4 文件存储空间的管理,在创建一个文件时,存储空间的分配,有两种方案: 1)分配连续的区域; 2)分配不连续的物理块。,文件存储空间的管理包括:空闲块的组织、分配与回收。 常见的空闲块管理方法有:空
11、白(闲)文件目录、空闲块链和位示图。,20,将文件存储设备上的每个由多个连续的空闲块组成的空闲区看作一个空闲文件,系统为所有的空闲文件单独建立一个目录称为空闲文件目录,每个空闲文件在这个目录中占一个表目,记录了空闲文件的第一个空闲块的块号和空闲块的数目 。,一、空白(闲)文件目录,21,分配:系统依次扫描空闲文件目录中的各表目,直到找到一个满足要求的空闲区为止。 回收:系统顺序扫描空闲文件目录,寻找相邻空闲区,对该空闲区所对应的表目进行修改,否则寻找一个空表目,将释放区的第一个物理块号和该区域的物理块数填入该空表目中。,优点:当文件存储空间中只有少数空闲区时效果较好。 缺点:如果存储空间中有大
12、量较小的空闲区时,空闲文件目录将变得很大,从而大大降低效率。 空闲文件目录适用于建立连续文件,其分配与内存管理中的动态分区管理方式相似,因此同样可以采用最先适应算法、最佳适应算法、最坏适应算法来管理。,22,二、空闲块链,在文件存储设备上的每个空闲块中设立一个链接指针,指向下一个空闲块的位置,从而将所有空闲块链接在一起,并设置一个头指针指向空闲块链的第一个物理块 。 分配:从链首取下所需的空闲块,然后调整链首指针。 回收:把释放的空闲块逐个插入空闲块链中。 优点:分配和回收一个空闲块的过程都非常简单。 缺点:分配和回收时需启动I/O,系统开销较大。 改进:采用成组链接法。,23,24,成组链接
13、法:,1、成组链接法的基本原理:成组链接法首先把文件存储设备中的所有空闲块按每50块分为一组,组的划分为从后向前顺次划分。其中,每组的第一块用来存放前一组中各块的块号和空闲块数。第一组的块数为49块。因为最后一组将不足50块,所以,该组的块号和和空闲块数只能放在管理文件存储设备的文件资源表(专用块)中。,2、成组链接法的分配与回收过程: 首先,系统在初启时把文件资源表(专用块)复制到内存,从而使文件资源表中放有最后一组的空闲块号和总块数的堆栈进入内存,使得空闲块的分配和回收可在内存中进行。用语空闲块分配和回收的堆栈有栈指针Ptr,且Ptr的初值等于该组空闲块的总块数。,25,26,分配一个空闲
14、块时,按照后进先出的原则,分配程序在取走栈指针Ptr所指的块号之后,再做Ptr=Ptr-1的操作。当堆栈中只剩下最后一个空闲块号时,系统启动设备管理程序将该块中存放的下一组的空闲块号与总块数读入内存之后再把该块分配给申请者,然后系统重新设置Ptr指针。,文件存储设备的最后一个空闲块中设置有尾标识,以指示空闲块分配完毕。 回收一个空闲块时,回收程序先做指针Ptr=Ptr+1的操作,然后把回收的物理块号放入当前指针Ptr所指的的位置。如果指针Ptr的值等于50,则表示该组已经回收结束。此时,如果还有新的物理块需要回收的话,回收该块并启动I/O设备管理程序,把回收的50个块号与块数写入新回收的块中。
15、然后,将指针Ptr重新设置为1,另起一个新组。 对空闲块的分配和回收必须互斥进行。,27,三、位示图,位示图:反映整个存储空间的分配情况。其中每一个字的每一位都对应一个物理块。图中“1”表示对应的块已分配,“0”表示其对应的块为“空白”未分配。,28,优点:位示图尺寸是固定的,通常比较小,可以放在主存中。因而文件存储空间的分配和回收工作可以高速地进行。 缺点:需要将位示图中的字值数换算成相应的物理块号。,29,7.5 文件目录管理,一、文件目录项和内容,文件目录项:用来保存一个文件的文件名、物理位置及其它有关文件的说明信息与控制信息的数据结构称为文件目录项(或文件控制块),通常记为FCB。 文
16、件的目录项包括以下几方面的内容: 1)文件名。由用户赋予文件的标识符。 2)文件的逻辑结构。记录是否定长、记录长度、记录个数;,30,3)文件在外存的物理位置。对于连续结构和链接结构,只要登记文件的起始块号和指向文件第一个物理块的指针。对于索引结构要登记该文件索引表的首址。,4)存取控制信息。文件主本人具有的存取权限,核准的其它用户名及相应的存取权限。,5)文件管理信息。文件建立的日期和时间;上一次存取的日期和时间;要求文件保留的时间。 6)文件的类型。指明文件的类型,如系统文件,用户文件,目录文件等。,31,32,文件目录:文件目录项的有序集合称为文件目录。 目录文件:如果一个文件的内容为文件目录,则该文件称为目录文件。,二、文件目录和目录文件,三、文件目录结构,一级目录结构:在整个系统中只建立一张目录表,为每个文件分配一个目录项。 查找文件:文件名 优点:简单,适用于单用户系统或容量较小的存储介质。 缺点:查找速度慢,不允许重名、不便于实现文件的共享。,33,34,2. 二级目录结构,当一个新的用户使用文件时,系统在主目录中开辟