操作系统4.ppt
第四章 文件系统 操作系统对计算机的管理包括两个方面:硬件资源的管理和软件资源的管理。软件资源的管理则包括对各种系统程序、工具软件、中间件、库函数及各种用户程序和数据的管理。用户使用计算机来完成自己的某件任务时要碰到下列问题:(1)使用现有的软件资源来协助完成自己的任务。(2)编制完成的或末完成的程序存放在什么地方,需要访问的数据存放在什么地方,从而使得人们可以再利用已有的软件资源。这两个问题其实就是一个怎样对软件资源(程序和数据)进行透明地快速存取的问题。大容量直接存取的磁盘存储器以及顺序存取的磁带存储器等的出现,为程序和数据等软件资源的透明存取提供了物质基础,这导致了对软件资源管理质的飞跃文件系统的出现。文件系统把程序和数据看作文件,并把它们存放在磁带或光盘等大容量存储介质上,从而做到对程序和数据的透明存取。透明存取是指不必了解文件存放的物理结构和查找方法等与存取介质有关的部分,只需给定一个代表某段程序或数据的文件名,文件系统就会自动地完成对给定文件名相对应文件的有关操作。文件系统必须完成下列工作:(1)为了合理的存放文件,必须对磁盘等辅助存储空间(文件空间)进行统一管理。在用户创建新文件时为其分配空闲区,而在用户删除或修改某个文件时回收和调整存储区。(2)为了实现按名存取,需要有一个用户可见的文件逻辑结构,用户按照文件的逻辑结构所给定的方式进行信息的存取和加工。这种逻辑结构是独立于物理存储设备的。(3)为了便于存放和加工信息,文件在存储设备上应按一定的顺序存放。这种存放方式被称为文件的物理结构。(4)完成对存放存储设备上的文件信息的查找。(5)完成文件的共享和提供保护功能。4.1 文件系统概述4.1.1 文件和文件系统1.文件文件(File)是一个具有符号名的一组相关联元素的有序序列。一个文件由若干个称为逻辑记录的最小单位组成。记录是一个有意义的信息集合,它是作为对文件进行存取操作的基本单位。2.文件系统操作系统中负责管理和存取文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关的软件;被管理的文件;实施文件管理所需的数据结构。文件系统是对文件存储器的存储空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。文件系统给用户带来的好处:使用的方便性;按名存取。数据的安全性;提供保护措施,防止有意或无意的破坏。接口的统一性;用户可以使用统一的广义指令或系统调用来存取各种介质上的文件。4.1.2 文件的类型1.按性质和用途分系统文件:由系统软件构成的文件。大多数系统文件只允许用户调用,而不允许 用户去读和修改。库文件:系统提供给用户使用的各种标准过程、函数和应用程序等。这类文件允许用户调用,不允许用户修改。用户文件:用户委托文件系统保存的文件,如源程序、目标程序、原始数据等。这类文件只能由文件所有者或所有者授权用户使用。2.按保护方式分只执行文件:该类文件只允许授权用户调用执行,但不允许对它进行读写。只读文件:该类文件允许所有者或授权用户对文件进行读,但不允许写。读写文件:该类文件允许所有者或授权用户对文件进行读写,但禁止未授权用户读写。不保护文件:所有用户都可以存取的文件。3.按文件的流向分:输入文件、输出文件、输入输出文件4.按文件组织和处理方式分普通文件:由ASCII或二进制码组成的字符文件。目录文件:由文件目录组成。用来管理和实现文件系统功能的系统文件通过目录文件可以对其它文件的信息进行检索。由于目录文件也是由字符序列构成,因此对其可进行与普通文件一样的文件操作。特别文件:特指系统中的各类I/O设备。4.1.3 文件系统应具有的基本功能 1.文件的结构及有关存取方法;2.文件的目录机构和有关处理;3.文件存储空间的管理;4.文件的共享和存取控制;5.文件操作和使用;4.2 文件的结构和存取法 文件的结构就是文件的组织形式。从用户观点出发所观察到的文件组织形式称为文件的逻辑结构;从实现观点出发,文件在外存上的存放组织形式称为文件的物理结构。文件的逻辑结构与存储设备特性无关,但文件的物理结构与存储设备的特性有很大关系。4.2.1 文件的逻辑结构 这是从用户观点出发,所观察到的文件组织形式,是用户可以直接处理的数据及其结构。它独立于物理特性,又称为文件组织。文件的逻辑结构可分为两种形式:一是无结构的流式文件,二是有结构的记录式文件。1.字符流式文件:基本信息单位是字节或字。2.记录式文件:由若干个记录组成。可分为等长记录文件和变长记录文件。4.2.2 文件的物理结构 这是从系统的视角出发,系统看到的文件在文件存储器中的存放形式,称为文件的物理结构。通常把文件的存储空间划分成若干个物理块,并以物理块作为分配和传输信息的单位。块长一般是固定的,如硬盘常以512或1024B为一块。1.连续结构 若一个逻辑文件的信息存放在文件存储器上的相邻物理块中,则称该文件为连续文件,这样的结构称为连续结构。优点:简单,一旦知道文件存储的起始块号和文件长度,就能很快进行存取,速度快。缺点:文件的长度不能动态地增加,因为文件的尾部之后可能已分配给别的文件了。不宜用来存放经常被修改的文件。2.串联结构 串联结构也称链接结构。链接文件的物理块是不连续的,也不必是顺序排列的,在每个物理块的尾部设置了一个指针(或称链接字),指向下一个物理块。优点:文件可以动态增长,不要求连续分配,调整链接指针很容易插入或删除物理块。缺点:一般只适宜顺序存取而不适宜随机存取,为了得到后面块信息,必须从头开始读取前面所有的块,才得到后面的块的物理地址。3.索引文件 索引文件结构是实现不连续分配的另一种方案。这种结构要求为每个文件建立一张索引表,每一表目之处记录文件所在的物理块号,索引表位置则由文件说明项指出。优点:具有串联文件结构的优点,并便于随机存取。缺点:由于有索引表而增加了存储空间的开销。存取文件需要两次访问存储器(先取索引表,再访问物理块),降低了文件存取速度。改进:在文件存取之前,预先把索引表放在内存中,访问磁盘动作只要一次。4.2.3 文件的存取方法 文件的存取方法是指读写文件存储器上的一个物理块的方法。1.顺序存取法 严格按文件信息单位排列的顺序依次存取。2.直接存取法(随机存取法)以任意次序直接读写某个数据。3.按键存取法(按关键字存取法)根据文件中各记录内容进行存取。属于直接存取法。可分为:线性搜索法、散列法(hash)、二分搜索法等方法。4.2.4 文件结构、文件存储设备和存取法的关系磁带的结构(顺序存取设备)磁盘的结构(直接存取设备)存储设备磁 盘磁 带文件结构连续串接索引连续存取方法顺序、直接顺序顺序、直接顺序文件结构、文件存储设备和存取法的关系4.3 文件目录文件与文件控制块一一对应,文件控制块的有序集合称为文件目录。一个文件控制块就是一个文件目录项。文件目录也是一个文件目录文件。4.3.1 单级目录系统中建立一张线性表,每个文件在表中占一项,文件不许重名。文件名记录长记录数起始块号其它ALPHA500525BETA4001030TEST500740优点:简单。缺点:不允许重名;文件数量过多时,查找速度慢。4.3.2 二级目录 系统中的目录分成一个主目录表和多个次目录表。主目录由次目录项集合而成,次目录由文件目录项集合而成。优点:检索速度提高,不同用户目录中的文件可以同名。不同用户还可使用不同的文件名来访同系统中的同一个共享文件。缺点:缺乏灵活性,无层次概念。二级目录结构 4.3.3 多级目录(树型文件结构)每一级目录中的目录项可以描述一个文件,也可以描述另一个目录,从而形成层次结构。文件系统的树形结构如下:路径名:从根目录到任何文件之间的唯一通路。用户访问文件时,为保证访问的唯一性,用户在开始时必须使用文件的路径名。绝对路径名:它由从根目录到文件的路径组成。例如:12A (windows系统)当前目录:层次目录结构,沿着路径查找文件会耗费时间,特别是目录不能全部装入内存时。系统引入“当前目录”来克服这个缺点。有了“当前目录”,对无路径说明的文件,系统不从根目录查找,先从当前目录查找。4.4 文件存储空间的管理存储空间管理程序要解决的主要问题:如何登记空闲区的分布情况?如何按需要给一个文件分配存储空间?当某一文件或某一部分不再需要保留时,如何收回它所占用的存储空间。4.4.1 空白文件目录 空白文件盘空间上一个连续的未分配区域。系统为每个磁盘建立一张空闲块表,表中每个登记项记录连续空闲块的首块号和块数。序 号第一个空白块号空白块个数物理块号124(2,3,4,5)293(9,10,11)3155(15,16,17,18,19)4-当存储空间中有大量的小空白文件时,效率很低。这种管理仅适用连续文件。4.4.2 空白块链 1.单块链接法 所有的空闲块链接在一起,系统中保留一个链首指针。当修改链接字时要读几个盘块,工作量较大。如果采用索引表则只要修改索引表中几个有关项,但索引表占用的存储空间较大,对系统来说也是一个负担。2.成组链接法(UNIX系统中采用)把所有的空闲块按固定数量(一般为50)划分为若干组。组的划分是从后往前顺序划分。每组的第一块用来存放前一组中的块号和本组块数。4.4.3 位示图(Bit Map)为文件存储器存储空间建立一张位示图用以反映整个存储空间的分配情况。4.4.4 MS-DOS的盘空间的管理 MS-DOS盘空间的分配采用文件分配表FAT,盘空间的分配单位称为簇。簇的大小因盘而异,每个簇在FAT表中占用一项。表项内容为“000”表示空闲,“FFF”表示是文件的最后一簇,其它为下一簇号。MS-DOS的FAT表4.5 文件的共享4.5.1 目录结构中的共享同名共享:各用户使用同一文件名(包括其路径名)来访问某一文件。异名共享:各用户使用各自不同的文件名来访问某一文件。异名共享所采用的方法称为文件的勾连。此文件系统的目录结构不再是树型结构,而是一个有向图的非循环图。左图中,目录(或文件)Wang既可以通过/usr/user1/Wang访问,也可通过/usr/user2/Wang访问。勾连有两种形式:允许目录项链接到目录树中的任一节点。如果链接到的是目录节点,则表示可以共享该目录及其后继目录所包含的所有文件。只允许链接到数据文件的叶子节点。1.基于索引节点的共享方法UNIX系统的文件目录结构由目录项和索引节点构成。目录项由文件名和索引结点号组成。索引节点中包含文件属性、文件共享目录数、与时间有关的文件管理参数以及文件存放的物理地址的索引区等。1.优点:能够实现文件的异名共享。2.缺点:文件拥有者不能删除他人共享的文件;由于每一共享文件具有几个文件名,遍历时可能会多次遍历该共享文件。2.基于符号链的共享方法 为共享一个文件,由系统创建一个LINK类型的新文件,将新文件写入用户目录中以实现目录与文件的链接。在新文件中只包含被链接文件的路径名,称这样的链接方法为符号连接。只有正真的文件拥有者才有一个指向索引结点的指针。连接到该文件上的用户只有路径名,没有指向索引结点的指针。优点:文件拥有者能删除他人共享的文件。缺点:当其他用户读共享文件时需要根据文件路径名的各个分量逐个查找,访问开销大。4.6 文件的存取控制文件系统对文件的保护常常采用存取控制方式进行。4.5.1 文件存取控制法1.存取控制矩阵缺点:当用户和文件数量都很大时,存取控制矩阵的存取将是困难的,且它将占用相当大的存储空间。2.存取控制表 实际上,大多数用户的文件一般只允许选择性很强的共享,即只允许少数用户具有某种存取权限;反之,一个用户也只对少数的文件有存取要求。3.用户权限表 该表是一个或一组对其所要存取的文件所拥有的存取权限的集合。4.口令方式 文件主在建立一个文件时进行口令登记。5.加密口令的缺点:可通过多次实验来掌握口令。针对口令的缺点,另一种方法是对所有的文件用密码来编码 加密解密过程 4.7 文件系统和用户间的接口文件系统的层次模型 操作系统中文件操作的各功能程序均允许用户通过“系统调用”(或称“访管指令”)随意调用。进行“系统调用”时必须给出相应的“调用参数”。提供的文件操作:1.创建文件 creat()2.删除文件 unlink()3.打开文件 open()4.关闭文件 close()5.读文件 read()6.写文件 write()7.设定读写位置 seek()