收藏 分享(赏)

操作系统第五章-文件系统.ppt

上传人:天天快乐 文档编号:777869 上传时间:2018-04-23 格式:PPT 页数:74 大小:859.50KB
下载 相关 举报
操作系统第五章-文件系统.ppt_第1页
第1页 / 共74页
操作系统第五章-文件系统.ppt_第2页
第2页 / 共74页
操作系统第五章-文件系统.ppt_第3页
第3页 / 共74页
操作系统第五章-文件系统.ppt_第4页
第4页 / 共74页
操作系统第五章-文件系统.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、第五章 文件系统,在现代计算机系统用,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,需要用户熟悉外存特性,了解各文件的属性,它们在外存上的位置,显然用户无法承担,因此,在操作系统上增加了文件管理功能,即文件系统。,第五章 文件系统,对大多数用户来说,文件系统是操作系统中最直接可见的部分。计算机的重要作用之一就是能快速处理大量信息,从而信息的组织、存取和保管就成为一个极为重要的内容。文件系统是计算机组织、存取和保存信息数据的重要手段。本章主要讨论文件的组织结构、存取结构、保护以及文件

2、系统空间管理等问题。,第五章 文件系统,文件结构文件目录管理文件存储空间管理文件共享与保护,目的与要求:了解文件结构,访问方式,存储结构。掌握文件管理用的文件控制块和文件目录结构。了解文件空间管理方法。重点与难点:文件存放与访问方式,文件目录结构。,第五章 文件系统,为了方便使用、管理系统公共程序和数据以及用户自己的程序和数据而引入文件。为了对外存空间管理和对其上文件的按名访问而引入文件系统。,第五章 文件系统为什么引入文件和文件系统,文件系统的功能 (1) 为了合理的存放文件,必需对磁盘等辅助存储器空间 (或称文件空间) 进行统一管理。在用户创建新文件时为其分配空闲区,而在用户删除或修改某个

3、文件时,回收和调整存储区。(2) 实现按名存取,完成对存放在存储设备上的文件信息的查找。(3) 为了便于存放,文件在存储设备上应按一定的顺序存放。这种存放方式被称为文件的物理结构。(4) 完成文件的共享和提供保护功能。,5.1 文件组织结构5.1.1文件概念,文件是由创建者所定义、具有文件名的一组相关的信息集合。文件的主要属性: 文件名,文件类型,文件长度,创建者,创建时间,修改时间,文件定位信息 ,文件所包含的信息。,5.1.2 文件的逻辑结构,操作系统感知文件信息的组织形式叫文件的逻辑结构。它包括流式文件(无结构文件)和记录式文件(有结构文件)两种,每种文件信息的逻辑单位分别是字节和记录。

4、流式文件(无结构文件):是指对文件内信息不再划分单位,它是依次的一串字节流构成的文件。 记录式文件(有结构文件):是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个记录。所有记录通常都是描述一个实体集的,有着相同或不同数目的数据项,记录的长度可分为定长和不定长记录两类。,记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。一个学生,当把他作为班上的一名学生时, 对他的描述应使用学号、姓名、年龄及所在系班,也可能还包括他所学过的课程的名称、 成绩等数据项。 但若把学生作为一个医疗对象时,对他描述的数据项则应使用诸如

5、病历号、 姓名、 性别、 出生年月、 身高、 体重、 血压及病史等项。,显然,对于流式的无结构文件来说,查找文件中的基本信息单位,例如某个单词,是比较困难的。但反过来,流式的无结构文件管理简单,用户可以方便地对其进行操作。所以,那些对基本信息单位操作不多的文件较适于采用流式的无结构方式,例如,源程序文件、目标代码文件等。记录式的有结构文件可把文件中的记录按各种不同的方式排列,以便用户对文件中的记录进行修改、追加、查找和管理等操作,主要用于信息管理,如数据库系统中。,5.1.3 文件的物理结构,逻辑文件在辅存的组织结构称为文件的物理结构。如何组织它们主要依赖于文件存储器的物理特性,以及用户对其文

6、件的访问方式。文件的访问方式 顺序访问 指用户从文件初始数据开始依次访问文件中的信息。经常被顺序访问的文件应该连续存储在文件存储器上。操作系统自动记录文件访问的当前位置。直接(随机)访问指用户随机访问文件中的某段信息。读/写时直接给出要访问数据的逻辑位置(如第几个字节或第几个记录)及长度,由OS将逻辑位置转换成物理位置并访问之。,磁带顺序访问设备要求文件顺序存放于带上。磁盘直接(随机)访问设备文件可顺序、链接式或随机(通过类似页表的结构访问)存放于设备上。,5.1.3 文件的物理结构,为了便于存放于磁盘,文件可被等分成块文件系统将一个文件分块存放于外存,文件控制块将包含文件的定位信息,文件的物

7、理结构包括顺序结构(连续结构)、链接结构、索引结构三种。顺序结构(连续结构) 文件顺序连续存放于文件存储器上(如磁带文件,光盘文件)。特点:实现简单顺序访问容易且速度快要求有连续的存储空间,外部碎片多必须事先知道文件的长度,(一)顺序结构,文件名 始址 块数,count 0 2tr 14 3mail 19 6list 28 4f 6 2,文件目录,count,f,tr,mail,list,磁盘空间,(二)链接结构,链接结构文件不连续地存放于文件存储器上,但使用指针按文件数据顺序将其链接起来。特点:提高了磁盘空间利用率,不存在外部碎片问题;文件操作灵活(添加、删除等),有利于文件长度动态变化。,

8、(二)链接结构1、隐式链接,文件名 始址 末址,jeep 9 25,文件目录,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,1,10,16,-1,25,磁盘空间,隐式链接问题:只适合顺序访问,对随机访问是低效的。可靠性差,因为只要其中任何一个指针出现问题,都会导致整个链断开。指针占用空间。,2. 显式链接,把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。该表对应整个磁盘,表的序号是物理盘块号。在每个表项中存放链接指针,即下一个盘块号。我们将该表称为文件分配

9、表FAT。大大减少了访问磁盘的次数,提高了检索速度。,2. 显式链接,(三)索引结构,链接分配方式虽然解决了连续分配方式所存在的问题, 但又出现了另外两个问题, 即: (1) 不能支持高效的直接存取。要对一个较大的文件进行直接存取,须首先在FAT中顺序地查找许多盘块号。 (2) FAT需占用较大的内存空间。,(三)索引结构,索引结构文件不连续存放于文件存储器上,使用一张索引表来定位文件中的数据(类比页表)特点:既能顺序存取,又能随机存取,支持文件长度动态变化,外存利用率高,但索引表需占额外空间。,单级索引结构:为每个文件分配一个索引表,一个索引表就是磁盘块地址数组,其中第i个条目指向文件的第i

10、块多级索引结构:混合索引结构:,1、单级索引结构,文件名 索引表地址,文件目录,Jeep 19,917 11025,19,文件jeep的单级索引表,问题:每建立一个文件,分配一个索引表,占用较多的外存空间。对于中小文件,一个索引表需要占用一个盘块,空间浪费。,2. 多级索引结构,3. 混合索引结构,将多种索引方式相结合而形成的一种分配方式。例如,系统中即采用了直接地址,有采用了一级索引方式,或两级索引方式,甚至还采用了三级索引。这种方式在UNIX系统中采用。在Unix System V的索引点中,共设置了13个地址项,即iaddr(0)iaddr(12)。它们把所有的地址项分成两类,即直接地址

11、和间接地址。,(1) 直接地址 为了提高对文件的检索速度, 在索引结点中可设置10个直接地址项,即用iaddr(0)iaddr(9)来存放直接地址。 换言之,在这里的每项中所存放的是该文件数据的块号。假如每个块的大小为 4 KB,当文件不大于40 KB时,便可直接从索引结点中读出该文件的全部块号。,(2) 一次间接地址 对于大、 中型文件, 只采用直接地址是不现实的。 为此,可再利用索引结点中的地址项iaddr(10)来提供一次间接地址。这种方式的实质就是一级索引分配方式。图中的一次间址块也就是索引块,系统将分配给文件的多个块号记入其中。在一次间址块中可存放1K个块号, 因而允许文件长达4 M

12、B。,(3) 多次间接地址。 当文件长度大于4 MB+40 KB时(一次间址与10个直接地址项), 系统还须采用二次间址分配方式。这时,用地址项iaddr(11)提供二次间接地址。该方式的实质是两级索引分配方式。系统此时是在二次间址块中记入所有一次间址块的块号。在采用二次间址方式时,文件最大长度可达4 GB。 同理,地址项iaddr(12)作为三次间接地址, 其所允许的文件最大长度可达4 TB。,习题一,设文件索引节点有8个索引项,其中4个地址项是直接地址索引,3个地址项是一级间接地址索引,1个地址项是二级间接地址索引。每个地址项大小为4个字节,若磁盘索引块和磁盘数据块大小均为256字节,则可

13、表示的单个文件的最大长度为多少KB?,习题二,普通文件采用UNIX三级索引结构,即文件控制块中给出13个磁盘地址,前10个磁盘地址指出文件前10块的物理地址,第11个磁盘地址指向一级索引表,一级索引表给出256个磁盘地址,即指出该文件第11块至第266块的物理地址;第12个磁盘地址指向二级索引表,二级索引表中指出256个一级索引表的地址;第13个磁盘地址指向三级索引表,三级索引表中指出256个二级索引表的地址。文件K的第7266块需要启动几级索引?,习题三,普通文件采用UNIX三级索引结构,即文件控制块中给出13个磁盘地址,前10个磁盘地址指出文件前10块的物理地址,第11个磁盘地址指向一级索

14、引表,一级索引表给出256个磁盘地址,即指出该文件第11块至第266块的物理地址;第12个磁盘地址指向二级索引表,二级索引表中指出256个一级索引表的地址;第13个磁盘地址指向三级索引表,三级索引表中指出256个二级索引表的地址。访问文件K的第7266块需要启动几次磁盘?(假设已经找到了K文件的地址),5.2 文件目录管理,建立文件系统的作用在于对文件信息的“按名存取”,力求查找简便,减少查找时间。为了能对这些文件实施有效的管理,必须对它们加以妥善组织,这主要是通过文件目录实现的。文件目录是一种数据结构,用于标识系统中的文件及其物理地址,供检索时使用。,对目录管理的要求如下:实现“按名存取”。

15、 提高对目录的检索速度。 文件共享。 允许文件重名。,1、文件控制块,为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,即文件控制块。文件控制块(FCB)的主要内容文件名创建者存放方式:说明该文件在辅存的结构,如顺序结构、索引结构。文件物理位置信息:具体说明文件在辅存的物理位置和范围,对于不同的物理结构,应做不同的说明,如索引表。创建、修改时间、保存时间口令:用于对文件访问进行验证操作限制:如读、写、执行权限说明,文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合目录项:构成文件目录的项目,即FCB目录文件:为了实现对文件目录的管理,通常将文

16、件目录以文件的形式保存在外存,这个文件就叫目录文件目录主要是为了系统快速实现“按名存取”而引入的,查目录是文件系统最频繁的操作,因此目录的合理组织很重要.,文件目录通常是存放在磁盘上的,当文件很多时,文件目录可能要占用大量的盘块。在查找目录的过程中,先将存放目录文件的第一个盘块中的目录调入内存,然后把用户所给定的文件名与目录项中的文件名逐一比较。若未找到指定文件,便再将下一个盘块中的目录项调入内存。,在检索目录文件的过程中,只用到了文件名,仅当找到了一个目录项时,才需从该目录项中读出该文件的物理地址。而其它一些对文件进行描述的信息,在检索目录时一概不用。显然这些信息在检索目录时不需要调入内存。

17、采用将文件名与文件描述信息分开的办法,即形成索引结点。,2. 索引结点,UNIX的文件目录,使文件描述信息单独形成一个称为索引结点的数据结构,简称为i结点。,5.2.1一级目录结构,在整个文件系统中只建立一张目录表,每个文件占用一个目录项。每个目录项就是一个文件的FCB。目录表中包含所有文件的FCB。当要访问一个文件时,先按文件名在目录中找到对应的文件FCB。,一级目录结构示意图,FCB1,FCB2,FCB3,FCBn,文件,1,文件,2,文件,3,文件,n,优点:简单,易实现缺点:限制了用户对文件的命名(存在“命名冲突”问题)检索文件时平均检索时间长不适于多用户系统,5.2.2二级目录结构

18、为克服单级目录结构存在的命名冲突问题,并提高对目录文件的检索速度而引入。目录分为两级:一级称为主文件目录MFD ,给出用户名,用户子目录所在的物理位置;二级称为用户文件目录UFD (又称用户子目录),给出该用户所有文件的FCB。每个UFD在MFD中均设置一项,用以描述UFD的用户名及其物理位置。特点:解决了文件的重名问题; 可用于多用户系统; 顺序查找时间降低。,路径名将用户名与文件名连到一起组成路经名。例如:/luoyu/test.c,二级目录解决了将不同用户文件分开存放并建目录进行索引的问题,但是如果用户文件太多,在一个子目录下存放用户所有文件同样也会存在“重名”问题,因此引入了树形目录(

19、多级目录)。,5.2.3树形目录结构(多级目录结构)对二级目录简单扩充可得三级或三级以上的多级目录结构,即允许每一级目录中的FCB要么指向文件,要么指向下一级子目录即可。这是当今主流OS普遍采用的目录结构。树形目录中有根目录,树中的每个文件具有唯一的路径名。优点: 解决了命名冲突问题 层次结构清晰,便于对文件分类管理 缺点:查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度唯一确定文件的路径名太长,故引入当前目录 概念,提供相对于当前目录的相对路径名可加速文件FCB的查找。,目录查询技术:当用户要访问一个已存在文件时,系统首先利用用户提供的文件名对目录进行查询,找出该文件的

20、文件控制块;然后,根据FCB中所记录的文件物理地址,启动磁盘,将磁盘上的文件读入内存。,UNIX多级树形目录结构示意图,练习,有一个文件系统, 根目录长驻内存, 如图所示:目录文件采用链接式, 每个磁盘块存放10个下级文件的描述, 最多存放40个下级文件. 若下级文件为目录文件, 上级目录指向该目录文件的第一块, 否则指向普通文件的文件控制块.目录结构中文件或子目录按自左向右的次序排列. 普通文件采用三级索引形式, 文件控制块中给出13个磁盘地址, 前10个磁盘地址指出前10块的物理地址, 第11个磁盘地址指向一级索引表, 一级索引表给出256个磁盘地址, 即指出该文件第11块至第266块的地

21、址; 第12个磁盘地址指向二级索引表, 二级索引表中指出256个一级索引表的地址; 第13个磁盘地址指向三级索引表, 三级索引表中指出256个二级索引表的地址.,(1) 该文件系统中的普通文件最大可有多少块?(2) 若要读文件/A/D/K/Q中的某一块, 最少要启动磁盘几次? 最多要启动磁盘几次?(3)访问文件Q的第7266块,最少要启动磁盘几次? 最多要启动磁盘几次?,5.3 文件存储空间管理,存储空间管理是文件系统的重要任务之一。只有有效地进行存储空间管理,才能保证多个用户共享文件存储设备和得以实现文件的按名存取。由于文件存储设备是分成若干个大小相等的物理块,并以块为单位来交换信息的,因此

22、,文件存储空间的管理实质上是一个空闲块的组织和管理问题,它包括空闲块的组织,空闲块的分配与空闲块的回收等几个问题。有下述3种不同的空闲块管理方法。它们是:(1) 空闲表法(2) 位示图法(3) 成组链接法,(1) 空闲表法,空闲表法属于连续分配,它与内存的动态分配方式雷同,它为每个文件分配一块连续的存储空间,即系统也为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项,其中包括表项序号,该空闲区的第一个块号,该区的空闲块数等信息。在系统为某个文件分配空闲块时,首先扫描空闲表,如找到合适的空闲区项,则分配给申请者,并把该项从空闲文件目录中去掉。如果一个空闲区项所含块数超过申请者要求,

23、则为申请者分配了所要的物理块之后,再修改该表项。,当一个文件被删除,释放存储物理块时,系统则把被释放的块号、长度以及第一块块号置入空闲表的新表项中。显然,在内存管理时讨论过有关空闲连续区分配和释放算法。只要稍加修改就可用于空闲表的分配和回收。空闲表方法适用于连续文件结构的文件存储区的分配与回收。,(2) 位示图,位示图是利用二进制的一位来表示磁盘中一个盘块的使用情况,当值为0时,表示对应的盘块空闲;为1时,表示已分配。磁盘上的所有盘块都有一个二进制位与之对应,这样,由所有盘块所对应的位构成一个集合,成为位示图。,(3) 成组链接法,成组链法首先把文件存储设备中的所有空闲块按50块划分为一组。其

24、中,每组的第一块用来存放前一组中各块的块号和总块数。由于第一组的前面已无其他组存在,因此,第一组的块数为49块。不过,由于存储设备的空间块不一定正好是50的整倍数,因而最后一组将不足50块,且由于该组后面已无另外的空闲块组,所以,该组的物理块号与总块数只能放在管理文件存储设备用的文件资源表中。,在成组链法对文件设备进行了上述分组之后,系统可根据申请者的要求进行空闲块的分配,并在释放文件时回收空闲块。下面我们介绍成组链法的分配和释放过程。,首先,系统在初启时把文件资源表复制到内存,从而使文件资源表中放有最后一组空闲块块号与总块数的信息进入内存。与空闲块块号及总块数相对应,用于空闲块分配与回收是指

25、针Ptr,且Ptr的初值等于该组空闲块的总块数。当申请者提出空闲块要求n时,按照后进先出的原则,分配程序在取走Ptr所指的块号之后,再做PtrPtr-1的操作。这个过程一直持续到所要求的n块都已分配完毕。当内存中只剩下最后一个空闲块号时,系统启动设备管理程序,将该块中存放的下一组的块号与总块数读入内存之后将该块分配给申请者。然后,系统重新设置Ptr指针,并继续为申请者进程分配空闲块。,5.4 文件访问系统调用,操作系统提供文件创建、删除、打开、关闭、读、写等系统调用作为用户编程接口。,5.5 文件共享与文件保护,包含有共享文件的文件系统,无环图目录结构可能会出现一个同样的文件,用户希望在不同的

26、目录中都能访问它。如果在树形目录结构中要达到这个要求,就必须生成两份文件副本,这样显然浪费了存储空间。引入无环图目录结构实现文件的共享。在树形目录结构中增加一些未形成环路的链,当需要共享文件或共享子目录时,即可建立一个链的新目录项。特点方便文件共享。两个或多个FCB的一致性难保证,如删除文件时,当文件修改而引起FCB内容变化时。,无环图目录结构示意图,为图中每个结点设置一个访问计数器,每当图中增加了一条对某个结点的共享链时,该结点的访问计数器加1;每当需要删除某个结点时,该结点的访问计数器减1。若访问计数器为0,则删除该结点,否则只删除给定的路径,保留原结点。,2. 文件的保护,(1) 人为因

27、素:由于人们有意或无意的行为,使得文件系统中的数据遭到破坏或丢失;(2) 系统因素:由于系统某部分出现异常,造成数据的破坏或丢失;(3) 自然因素:存在在磁盘上的数据,随着时间的推移将可能发生溢出或逐渐消失。,(1) 通过存取控制机制来防止由人为因素所造成的文件不安全性。(2) 通过磁盘容错技术,来防止由磁盘部分的故障所造成的文件不安全性。(3) 通过“后备系统”来防止由自然因素所造成的不安全性。,容错技术是通过系统中设置冗余部件的办法,来提高系统可靠性的一种技术.磁盘容错技术则是通过增加冗余的磁盘驱动器,磁盘控制器等方法,来提高磁盘系统可靠性的一种技术,即当磁盘系统某部分出现缺陷或故障时,磁

28、盘仍能正常工作,且不致造成数据的丢失或错误.目前广泛采用磁盘容错技术来改善磁盘系统的可靠性.,本章小结,掌握文件系统的逻辑结构和物理结构.掌握各种物理结构寻找文件某块的原理,索引结构文件最大长度的计算方法.掌握三种目录结构的特点,多级目录是寻找文件某块的计算方法.掌握三种文件存储空间管理方法.,练习,有一个文件系统,根目录长驻内存,如图所示。目录文件采用链接结构,每个目录下最多存放60个文件或目录(称为下级文件)。每个磁盘块最多可存放10个文件目录项:如果下级文件是目录文件,则上级目录项指向该目录文件的第一块地址。假设目录结构中文件或子目录按自左向右的次序排列,表示尚有其他文件或子目录。普通文件采用UNIX三级索引结构,即文件控制块中给出13个磁盘地址,前10个磁盘地址指出文件前10块的物理地址,第11个磁盘地址指向一级索引表,一级索引表给出256个磁盘地址,即指出该文件第11块至第266块的物理地址;第12个磁盘地址指向二级索引表,二级索引表中指出256个一级索引表的地址;第13个磁盘地址指向三级索引表,三级索引表中指出256个二级索引表的地址。主索引表放在目录项中,若要读/A/D/G/I/J的第7466块,最少启动硬盘几次,最多几次?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报