1、第六章 文件管理,管理硬件资源:处理机管理、存储器管理、I/O设备管理。 管理软件资源:文件管理(是指对文件进行操作和管理的软件集合。 ) 软件资源:主要包括各种系统程序、标准例程库和各类应用程序,都以文件形式存储在外部存储器上。 操作系统本身也要求文件管理功能 提供用户与外存的界面,文件系统(文件管理)的基本功能: 按用户要求创建一个新文件或删除一个存在的文件; 按用户要求,对文件进行读或写操作; 文件存储空间管理; 用户只要使用文件名就可以对文件进行访问; 对文件实现严格的维护; 实现文件的共享与保护。,文件管理面向用户实现按文件名存取文件,文件系统是对文件存贮器的空间进行组织分配,负责文
2、件的存贮,并对存入的文件进行保护检索的系统。, 与文件管理有关的软件 文件管理软件, 被管理的文件 管理的对象, 实施管理的数据结构 目录、索引, 文件系统所要解决的问题(功能), 文件系统,1) 有效地分配文件存贮器的存贮空间(物理介质),2) 提供一种组织数据的方法(按名存取、逻辑结构、组织数据),3) 提供合适的存取方法(顺序存取、随机存取),文件系统:,6.1 文件结构和存取方法 6.2 文件存储空间的管理 6.3 文件目录 6.4 文件存取控制和文件系统的安全,6.1文件结构和存取方法,逻辑文件:从用户观点出发,所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件及
3、其介质的物理特性,又称为文件组织。物理文件:文件的存储结构,是文件在外存上存储组织形式,与存储介质的存储特性有关。,文件的逻辑结构,记录式文件(有格式文件):是一种有结构的文件。由一个或多个记录组成。 以逻辑记录为单位进行存取。 定长记录文件:文件中所有记录的长度相同。 变长记录文件:每个记录的长度可以不同 无结构的流式文件(无格式文件):是有序字符的集合,文件的长度等于该文件包含的字符数。流式文件不分成记录,而是直接由一连串信息组成。,记录文件,变长:每个记录的头几个字节存储记录长度,优点:, 在空间利用上比较省,没有额外的说明和控制信息。,对流式文件而言,它是按信息的个数或以特殊字符为界进
4、行存取的。,流式文件,文件的物理结构,连续结构/顺序文件:为每个逻辑文件分配一组连续编号的物理块。连续结构保证了逻辑文件中的记录顺序与物理文件存储器中文件占用物理块的顺序的一致性。,将外存划分为固定大小的块物理块,每块通常为512字节或1024字节。,对于这种顺序结构文件,用户应给出文件的最大长度,以便在用户建立文件时为其分配足够大的外存空间。,优点:结构简单,存取速度快。 缺点:需确定文件的最大长度,不利于文件的动态增长;存在外存存储空间的碎片(外部碎片)问题,链表结构/链接文件: 是一种非连续的存储结构,其物理文件可以由不邻接的物理块组成。在每一个物理块中设立一个链接字,使存储文件信息的物
5、理块形成链表结构。 优点:空间利用率高;文件可以块为单位动态地增长和删除,易于文件扩充。 缺点:难以随机存取任意块的内容;文件的各记录分散、查询时间慢,有链接指针,降低磁盘空间的利用率。,链表结构的文件,索引结构/随机文件结构:系统为每个文件建立一张从逻辑块号到物理块号的映射表,即索引表。索引文件的索引项按文件的逻辑块号顺序排列。具有这种结构的文件称索引文件。 分单级索引,多重索引。 优点:具有链表结构文件的优点;可随机访问物理块。 缺点:索引结构可能要花费较多的外存空间。增、删物理块时,索引表项的移动耗费时间。,文件的存取方法,顺序存取: 记录式文件中:严格按照物理记录排列的顺序依次存取。
6、无结构的流式文件:从文件当前位置开始读写,然后根据当前位置的位移读写后继的信息。,读写文件存储器上的一个物理块的方法。,直接存取(随机存取):按任意次序存取文件中的记录,而不是顺序的 记录式文件中:对定长记录的顺序文件,可直接存取;对变长记录的顺序文件,需建立一张索引表,以指出每个记录的长度和起始位置,索引表按记录号顺序排列。 无结构的流式文件:事先把该文件的现行位置指针设置到欲读写信息的起始位置。,记录文件,变长:每个记录的头几个字节存储记录长度,这里为2个字节,文件结构、存储设备和存取方法之间的关系,6.2 文件存储空间的管理,空闲块链表结构 空闲文件目录 位映象图结构,目的:方便用户按文
7、件名存取文件。为了有效地管理和分配文件存储空间,系统应解决下述几个问题:如何登记空闲区的分布情况;如何按需要给一个文件分配存储空间;当一文件或其一部分不再需要保留时,如何回收其占用的存储空间。,常用的文件存储器是磁盘,其空闲盘存储空间的管理常使用的技术有:,空闲块链表结构,优点:简单,系统开销小。 缺点:工作效率低。,在空闲块中设立链接字,以建立链表,系统将盘上的所有空闲块链接成一个空闲块链表。,空闲块链表结构,空闲文件目录,优点:仅当有少量的空闲区时效果较好,适用于连续文件 缺点:当有大量的小空闲区时,效率大大降低。,系统把磁盘存储空间中一个连续的未分配的存储区称为一个“空闲文件”,并为 “
8、空闲文件” 建立一个目录,每个表项对应一个“空闲文件” 。,空闲文件的起始块号 块数,位映象图结构,优点:分配和释放都可以在内存的位映象图上完成,速度快。,一个物理块用一位二进制数表示其使用情况:0表示空闲块;1表示使用块。盘空间中的每一个物理块都用一对应的二进制位来表示它,并称所有这些二进制位组成的序列为该盘的位映象图。盘的位映象图又称为盘图或盘图文件 。,位编号: 盘图:,0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,1 1 1 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 ,注: 使用块:物理块0,1,2,3,6,
9、7,11,12,13,15,17,空闲块:物理块4,5,8,9,10,14,16,位映象图示例,6.3 文件目录,目的:方便用户按文件名存取文件,实现文件名到存储文件信息的物理空间的映射。便于文件管理。 目录文件组织的基本原则是:方便而迅速地对目录进行检索;准确地找到所需文件。,目录文件是一张记录所有文件名及其存放地址、文件的说明和控制信息的表格。,系统为所有存入系统的文件建立一张表,用以描述用户与系统进程可以存取的全部文件。每个文件占一表目即目录项(文件目录)。,目录文件由若干目录项组成,每个目录项对应一个文件。一个目录项中包括以下几方面信息: 文件名; 文件长度和文件信息存储在文件存储器中
10、的物理位置; 文件类型; 存取权限,有关存取控制方面的信息; 有关管理方面的信息,如文件建立的日期、时间等档案信息。,目录结构类型,一级目录:整个目录组织是一个线性表,系统中的所有文件都建立在一张目录表中。它主要用于单用户操作系统。它具有如下的特点: 结构简单; 文件多时,目录检索时间长; 有命名冲突:如重名 不便对文件分组管理,目录结构讨论目录的组织结构,设计目标是检索效率。,通常目录文件存储在磁盘上指定的专用区中,一级目录结构 文件名 文件,一级目录文件要求文件名和文件之间有一一对应的关系,即不允许两个文件有相同的名字。,重名 不同用户对不同文件起了相同的名字。(多个文件具有相同的文件名)
11、,二级目录:在根目录下,每个用户对应一个目录(第二级目录);在用户目录下是该用户的文件,而不再有下级目录。适用于多用户系统,各用户可有自己的专用目录。,为了解决命名冲突及提供更灵活的命名能力,文件系统采用简单的目录结构是不行的,为此,提出二级目录、多级目录结构。,二级目录结构 用户名、文件名 文件,允许在不同用户目录下的两个文件重名,多级目录:或称为树型目录(tree-like)结构。在文件数目较多时,便于系统和用户将文件分散管理。适用于较大的文件系统管理。目录级别太多时,会增加路径检索时间。,系统中有一个根目录(或根目录文件),在这个目录中可登记一般文件,也可以登记目录文件,在每个目录文件中
12、可以登记一般文件,也可以登记目录文件。,根目录和子目录 路径名:路径名 文件 绝对路径名和相对路径名,树型目录(tree-like)结构,目录名:可以修改。 目录树:中间结点是目录,叶子结点是目录或文件。 目录的上下级关系:当前目录(current directory, working directory)、父目录(parent directory)、子目录(subdirectory)、根目录(root directory)等; 路径(path):每个目录或文件,可以由根目录开始依次经由的各级目录名,加上最终的目录名或文件名来表示;,多级目录组织,方框:表示目录文件 园圈:表示信息文件,同一目
13、录中的各文件不能重名,不同目录中的文件能重名,优点:能确切反映信息的层次关系;把具有相同性质的文件安排在同一个子目录下,使用文件更加方便;有利于文件的保密。 缺点:查找文件时要逐层搜索,影响系统速度。,树型目录(tree-like)结构,6.4文件存取控制和文件系统的安全,文件共享可能导致文件被破坏或某个用户不正当存取文件。需要保护机构来实现有控制的共享。,文件保护结构的功能:防止未经授权的用户存取文件;防止一个用户冒充另一个用户存取文件;防止授权用户误用文件。,文件存取控制,用户权限表:将系统中的用户预分成几类,然后对每个文件规定各类用户的存取权限。口令:为文件设置口令,共享的用户仅在掌握该
14、文件的口令之后才可以存取文件。缺点:口令存储在文件目录中,系统操作员可能会获取全部保密文件的口令。密码:对文件加密码。系统对输入文件按某种变换规则重新编码,然后存入文件存储器。,常用的保护措施:,文件的访问权限,文件访问类型: 读read:可读出文件内容; 写write(修改update或添加append):可把数据写入文件; 执行execute:可由系统读出文件内容,作为代码执行; 删除delete:可删除文件; 修改访问权限change protection:修改文件属主或访问权限,设置文件访问权限的目的是为了在多个用户间提供有效的文件共享机制;,用户范围类型: 指定用户 用户组 任意用户
15、 访问类型和用户范围的组合: 访问矩阵:矩阵的一维是每个目录和文件,另一维是用户范围,每个元素是允许的访问方式,密码:,当用户读取文件信息时,需输入关键字,由解码程序对文件存储器中的信息逐个字节的进行反变换成原始信息。优点:保密性强节省空间; 缺点:增加了文件编码和译码的开销,系统开销大,降低访问速度。,系统应定期地产生文件系统的备份,以在必要时可以恢复被破坏了的文件。,文件系统的安全性,全量转储:系统按固定时间间隔把文件系统存储空间中的全部文件都复制到某存储介质上(如磁盘)。增量转储:仅将自上次转储后新创建的或修改过的文件写入磁盘。通常两种转储方法配合使用。,形成文件拷贝的方法:, 保护、保
16、密性,优点:,缺点:, 很费机时,全部转储工作可能要数小时。, 当发生故障时,只能恢复上次信息,变化的新信息丢失。恢复的文件与破坏时的文件差别较大;,比较简单。,全量转储:,增量转储:每隔一定时间,把所有被修改过的文件和新文件(系统做标志)转储到磁带上。,文件被转储后,当发生故障,可以装入转储的文件来恢复系统。,本章的重要概念及相关要求,理解引入文件管理的原因和文件系统的基本功能 文件结构和存取方法:了解文件结构、存储设备和文件存储方法的关系; 存储空间管理:了解常用存储空间的管理技术(空白文件目录、空白块链位示图、FAT表、NTFS等); 目录结构:掌握文件树型目录结构、文件路径; 文件存取控制:了解文件安全性和保护机制。,