现代操作系统.pptx
《现代操作系统.pptx》由会员分享,可在线阅读,更多相关《现代操作系统.pptx(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、16.1 文件和文件系统 现代OS是通过文件系统来组织和管理在计算机中所存储的大量程序和数据;或者说,文件系统的管理功能,是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。文件是数据的一种组织形式,文件管理系统是指文件和对文件进行操纵和管理的软件集合。基于文件系统的概念而把数据的组成分为数据项、记录和文件三级。第1页/共76页2文件、记录和数据项(1)一、数据项:数据项可分成两种类型:1、基本数据项:用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,又称为数据元素或字段。它除了数据名外,还应有数据类型。表征一实体在数据项上的数据称为值。2、组合数据项:由若干
2、个基本数据项组成,简称组项。第2页/共76页3文件、记录和数据项(2)二、记录:是一组相关数据项的集合,用于描述一个对象某方面的属性。一个记录应包含的数据项,取决于需要描述的对象的哪些方面。一个对象由于他所处的环境不同可把他作为不同的对象。在诸多记录中。为了能唯一地标识一个记录,必须在记录的各个数据项中,确定一个或几个项,把他们的集合称为关键字。也即,关键字是能唯一标识一个记录的数据项集。第3页/共76页4文件、记录和数据项(3)三、文件:是由创建者所定义的,具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。在有结构文件中,文件由若干相关记录组成,无结构文件则被看成是一个字符流
3、。文件在文件系统中是一个最大的数据单位,描述了一个对象集。一个文件必须要有一个文件名,用户利用文件名来访问文件。此外,文件具有自己的属性,属性可包括:文件类型、文件长度、文件的物理位置、文件的存取控制、文件的建立时间等。第4页/共76页5文件类型 对文件的分类有下列几种方法:一、按用途分类:系统文件、用户文件、库文件。二、按文件中的数据形式分类:源文件、目标文件、可执行文件。三、按存取控制属性分类:只执行文件、只读文件、读写文件。第5页/共76页6文件系统模型 文件系统是指含有大量的文件及其属性的说明,对文件进行操纵和管理的软件,以及向用户提供使用文件的接口等的集合。文件系统接口逻辑文件系统基
4、本I/O管理程序(文件组织模块)基本文件系统(物理I/O层)I/O控制层(设备驱动程序)对象及其属性说明对对象操纵和管理的软件集合(1)文件,文件管理的直接对象。(2)目录,对目录的组织和管理,是方便用户和提高文件存取速度的关键。(3)磁盘(带)存储空间。文件系统的核心部分。文件系统的大部分功能,都是在这一层实现。包括命令接口和程序接口两类。文件系统的最底层,主要由磁盘(磁带)驱动程序组成。主要用于处理内存与磁盘(带)机系统之间数据块的交换。完成与磁盘I/O有关的大量事务,有:选择文件所在设备;进行文件逻辑块号到物理块号的转换;空闲盘块的管理;I/O缓冲的制定。处理文件和记录的相关操作。第6页
5、/共76页7文件操作用户通过文件系统所提供的系统调用实施对文件的操作:最基本的文件操作:创建文件:分配外存空间,建立目录项。删除文件:将要删除文件的目录项置为空项,回收空间。读文件;写文件;截断文件:放弃原有文件的内容设置文件的读/写位置:改顺序存取为随机存取。第7页/共76页8文件操作文件的“打开”和“关闭”操作当前OS提供的大多数对文件的操作,其过程大致分为两步:第一步是通过检索文件目录来找到指定文件的属性及其在外存上的位置;第二步是对文件实施相应的操作。为了避免多次重复地检索目录,引入open这一文件系统调用。所谓“打开”是指系统将指名文件的属性从外存拷贝到内存打开文件表的一个表目中,并
6、将该表目的编号(索引)返回给用户,以后便利用返回的索引号向系统提出操作请求。Close系统调用用来关闭文件,OS将把该文件从打开文件表中的表目上删除掉。第8页/共76页9文件操作其他文件操作为方便用户,OS都提供了数条有关文件操作的系统调用,可将这些系统调用分为若干类:最常用的一类是对文件属性进行操作的;另一类是对有关目录的;还有实现文件共享的系统调用;用于对文件系统进行操作的系统调用。第9页/共76页106.2 文件逻辑结构文件系统设计的关键要素,是将诸记录构成一个文件的方法,以及将一个文件存储到外存的方法。任何一个文件,都存在着两种形式的结构:(1)文件的逻辑结构。是从用户观点出发所观察到
7、的文件组织形式,是用户可以直接处理的数据及其结构,独立于物理特性,又称为文件组织。(2)文件的物理结构,又称为文件的存储结构,是文件在外存上的存储组织形式,与存储介质的存储性能有关。对文件的逻辑结构提出的要求有:提高检索效率;便于增、删、改文件的记录;降低文件存储费用。第10页/共76页11文件逻辑结构的类型(1)文件的逻辑结构可分为两大类:一是有结构文件(记录式文件);二是无结构文件(流式文件)。一、有结构文件:其记录长度可分为定长和不定长两类。组织这些记录的方式有多种。而形成下述几种文件:顺序文件。由一系列记录,按某种顺序排列所形成的文件。其中的记录通常是定长记录。索引文件。当记录为可变长
8、度时,通常为之建立一张索引表,为每个记录在表中设置一表项。索引顺序文件。是上述两种文件方式的结合。它为文件建立一张索引表,为每一组记录中的第一个记录设置一表项。第11页/共76页12文件逻辑结构的类型(2)二、无结构文件:即流式文件,其长度以字节为单位。对流式文件的访问,是利用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。在UNIX系统中,所有的文件都被看作是流式文件,即使是有结构文件,系统不对文件进行格式处理。第12页/共76页13顺序文件(1)一、逻辑记录的排序:文件中的记录可以是任意顺序的,因此,可以按照不同顺序进行排列,一般可归纳为以下两种:串结构。记录之
9、间的顺序与关键字无关,通常的办法是按存入的时间先后来排列。顺序结构。文件中的所有记录按关键字排列。就检索效率而言,对顺序结构文件的检索比对串结构文件的检索要高。第13页/共76页14顺序文件(2)二、对顺序文件的读/写操作R0R1R2RiRptr01I2I3IiIl定长记录文件I0R0I1R10I0+1I0+I1+2I0I1变长记录文件RptrI第14页/共76页15顺序文件(3)三、顺序文件的优缺点:顺序文件的最佳应用场合是对诸记录进行批量存取时。此时,其存取效率是所有逻辑文件中最高的。另外,只有顺序文件才能存储在磁带上,并能有效地工作。在交互应用场合,若用户要求查找或修改单个记录,这时顺序
10、文件表现出来的性能可能很差。其另一缺点是,若想要增加或修改一个记录,都比较困难。解决的办法是为顺序文件配置一个运行记录文件,每隔一定时间就将运行记录文件与原来的主文件合并,产生一个按关键字排序的新文件。第15页/共76页16索引文件 索引文件的组织:索引号 长度 m 指针prt 0 m0 1 m1 i mi R0 R1 Ri 索引表逻辑文件是一个定长记录的顺序文件。对索引文件进行检索,是根据用户提供的关键字进行的。定长记录文件,获得第i个记录的相对于第一个记录首址的地址的公式为:Ai=il。故实现顺序存取和直接存取都较方便.对于可变长记录文件,获得第i个记录相对于第一个记录首址的地址则为:Ai
11、=Ii+i 因而实现直接存取较困难,且访问的效率也低,于是采用索引表的方式。第16页/共76页17索引顺序文件 索引顺序文件是为顺序文件建立一张索引表,将顺序文件中的所有记录分成若干组,在索引表中为每组中的第一个记录建立一个索引项,其中含有记录的键值和指向该记录的指针。检索时,首先利用用户提供的关键字去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置;然后再利用顺序查找法去查找主文件,从中找到所要求的记录。对于一个很大的顺序文件,可以建立多级索引,即为索引文件再建立一张索引表,以提高检索效率。第17页/共76页186.3 外存分配方法为文件分配外存
12、空间时所要考虑的主要问题是:外存空间的有效利用;提高对文件的访问速度。目前,常用的外存分配方法有:连续分配;链接分配;索引分配。文件的物理结构直接与外存分配方式有关,采用不同的分配方式,将形成不同的文件物理结构。第18页/共76页19按文件的物理结构分类顺序文件:指把文件中的记录顺序地存储到连续的物理盘块中。这样,在顺序文件中记录的次序与它们在存储介质上的存放次序一致。链接文件:指文件中的各条记录可以存放在不相邻接的各个物理盘块中,通过物理块中的链接指针连接成一个链表。索引文件:指文件中的各条记录可以存放在不相邻接的各个物理盘块中,建立一张索引表,来实现记录和物理块之间的映射。在索引表中为每条
13、记录设一表项,其中存放该记录的记录号以及所在的物理块号。第19页/共76页20连续分配连续分配要求为每一个文件分配一组相邻接的盘块。一组盘块的地址定义了磁盘上的一段线性地址。采用该方式时,可把逻辑文件中的记录,顺序地存储到邻接的各物理盘块中,这样形成的物理文件称为顺序文件。连续分配方式下存在外部碎片问题,可利用紧凑的方法,将盘上所有文件紧靠在一起,使所有的碎片拼接成一大片连续的存储空间,但一次紧凑所花费的时间较长。连续分配的主要优点有:顺序访问容易。顺序访问速度快。主要缺点是:要求有连续的存储空间。产生许多外部碎片。必须事先知道文件的长度。第20页/共76页21链接分配(1)链接分配是一种离散
14、分配方式,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表。由此形成的物理文件称为链接文件。链接分配消除了外部碎片,可显著地提高外存空间的利用率。存储文件时无须事先知道文件的长度,而是根据文件的当前需要,为它分配必须的盘块。当文件动态增长时,可动态地再为它分配盘块。此外对文件的增、删、改也很方便。链接方式可分为隐式链接和显式链接两种形式。第21页/共76页22链接分配(2)一、隐式连接:采用该方式时,是在文件目录的每个目录项中都含有指向链接文件的第一个盘块和最后一个盘块的指针,在每个盘块中都含有一个指向下一个盘块的指针。其主要问题是:它只适合于顺序访问,对随机访问是
15、及其低效的。另外,只通过链接指针来将一大批离散的盘块链接起来,其可靠性较差。为提高检索速度和减少指针所占用的存储空间,可将几个盘块组成一个簇,盘块分配时以簇为单位进行。在链接文件中的每个元素也是以簇为单位。第22页/共76页23链接分配(3)二、显式链接:指把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。整个磁盘仅设置的一张链接表。表的序号是物理盘块号,每个表项中存放链接指针,即下一个盘块号。在该表中,凡是属于某个文件的第一个盘块号,均作为文件地址被填入相应文件的FCB的“物理地址”字段中。由于分配给文件的所有盘块号都放在该表中,故称该表为文件分配表FAT。链接分配存在的问题:一
16、是不能支持高效地直接存取;二是FAT需占用较大的内存空间。第23页/共76页24 索引分配(1)一、单级索引分配:索引分配方法是为每个文件分配一个索引块(表),把分配给该文件的所有盘块号,都记录在该索引块中,从而索引块就是一个含有许多盘块号的数组。在建立一个文件时,便须在为之建立的目录项中,填上指向该索引块的指针。索引分配方式支持直接访问。不会产生外部碎片。文件较大时该方式优于链接分配方式。其主要问题是可能要花费较多的外存空间。第24页/共76页25索引分配(2)二、多级索引分配:OS为一个大型文件分配磁盘空间时,若所分配出去的盘块号已经装满一索引块时,就再为该文件分配一个索引块,用于将以后继
17、续为该文件分配的盘块号记录于其中,依此类推。再通过链接指针将各索引块按序链接起来。显然当文件太大,其索引块太多时,这种方法是低效的。此时,应为这些索引块再建立一级索引,称为第一级索引,即系统再分配一索引块,作为第一级索引的索引块,将第一块、第二块、等索引块的盘块号填入其中。这样便形成了两级索引分配方式,必要时还可用三级、四级索引分配方式。第25页/共76页 索引分配(3)三、混合索引分配方式:指将多种索引分配方式相结合而形成的一种分配方式。这种方式已在UNIX系统中采用。在UNIX System 5的索引结点中,共设置13个地址项,即iaddr(0)至iaddr(12)。系统把所有地址项分成两
18、类,即直接地址和间接地址。1、直接地址:是指存放文件的那些盘块的盘块号。在索引结点中可设置10个直接地址项,即用iaddr(0)至iaddr(9)来存放直接地址。2、一次间接地址:这种方式的实质就是一级索引分配方式,利用iaddr(10)来提供一次间接地址。3、多次间接地址:利用iaddr(11)来提供二次间接地址,其实质是两级索引方式。同理,利用iaddr(12)来提供三次间接地址。第26页/共76页ModeOwners(2)Time stamps(3)SizeBlock counti.addr(0)i.addr(1)i.addr(9)Single indirectDouble indire
19、ctTriple indirectdatadatadata datadatadatadatadatadatadata混合索引分配磁盘索引结点索引块第27页/共76页286.4 目录管理文件目录具有将文件名转换为该文件在外存的物理位置的功能。对文件目录的管理有以下要求:实现“按名存取”。即用户只需提供文件名,就可对文件进行存取。提高对目录的检索速度。从而加快对文件的存取速度。这是在设计一个大中型文件系统时所追求的主要目标。文件共享。允许文件重名。第28页/共76页29文件控制块和索引结点(1)一、文件控制块FCB:是为文件设置的用于描述和控制文件的数据结构。文件管理程序借助FCB对文件实施各种操
20、作。文件与FCB一一对应,把FCB的有序集合称为文件目录。一个FCB就是一个文件目录项。通常一个文件目录也被看作是一个文件,称为目录文件。在FCB中包含的信息有三类:1.基本信息类:包括文件名、文件物理位置(其中包括存放文件的设备名、文件在外存上的盘块号、文件长度)、文件逻辑结构、文件物理结构。2.存取控制信息类:包括文件主的存取权限、核准用户的存取权限、一般用户的存取权限。3.使用信息类:包括文件的建立日期和时间、文件上一次修改的日期和时间、当前使用信息。第29页/共76页30文件控制块和索引结点(2)二、索引结点1.索引结点的引入:在检索目录文件的过程中,只需用到文件名,不需文件的描述信息
21、,有些系统如UNIX,就把文件名和文件描述信息分开。把文件描述信息单独形成一个称之为索引结点的数据结构,简称为i结点,而在文件目录中的每个目录项,则仅由文件名和指向该文件所对应的i结点的指针所构成。这样为找到一个文件,可大大节省系统开销。第30页/共76页31 文件控制块和索引结点(3)2.磁盘索引结点:指存放在磁盘上的索引结点。每个文件有唯一的磁盘i结点。主要包括:文件主标识;文件类型;文件存取权限;文件物理地址;文件长度;文件连接计数;文件存取时间。3.内存索引结点:指存放在内存的索引结点。文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,以便于以后使用。其增加的内容有:索引结点编号;
22、状态;访问计数;文件所在设备的逻辑设备号;链接指针。第31页/共76页32目录结构 1、单级目录结构;是最简单的目录结构。在整个系统中只建立一张目录表,为每个文件分配一个目录项。单级目录结构的优点是简单,缺点则有:查找速度慢、不允许重名、不便于实现文件共享。只适用于单用户环境。文件名状态位物理地址文件其他属性AlphaReportText第32页/共76页332、两级目录结构两级目录结构如图:用户名子目录指针WangZhangGaoAlphaTestReportTestBetaDeviMisxWang用户目录AlphaTestReportTestBeta优点是提高了检索目录的速度、在不同的用户
23、目录中可以使用相同的文件名、不同用户可使用不同的文件名来访问系统中的同一个共享文件。缺点是当多个用户之间要相互合作去完成同一个大任务,且一用户又要去访访问其他用户文件时,用户目录之间的隔离使诸用户之间不便于共享文件。Gao UFD主文件目录MFD第33页/共76页343、多级目录结构(1)一、目录结构:通常把三级及以上的文件目录结构称为树型结构的目录。它具有检索效率高、允许重名、便于实现文件共享等一系列优点。主目录在树型目录结构中,作为树的根结点,称为根目录。数据文件作为树叶,其他所有目录均作为树的结点。第34页/共76页35多级目录结构:A B C A B D F E D G A J N K
24、 J M K A H F A C 123456789101311121415161718192021 为提高文件系统的灵活性,应允许把一个目录文件中的目录项,既能作为目录文件的FCB又能作为数据文件的FCB,具体是哪一种FCB,可用目录项中的一位来表示。例如,在用户A的总目录中,目录A是目录文件的FCB,而目录B和D,则是数据文件的FCB。第35页/共76页36多级目录结构(2)二、路径名:从根目录到任何数据文件,只有唯一的一条通路,在该路径上从树的根开始,把全部目录文件名与数据文件名,依次用“/”连接起来,即构成该数据文件的路径名。系统中的每个数据文件都有唯一的路径名。三、当前目录:又称为工
25、作目录,是树型目录结构中的某个结点。进程对各文件的访问都是相对于当前目录进行的。此时对各文件所使用的路径名,只需从当前目录开始,再逐级通过中间的目录文件,最后达到所要访问的数据文件。将这一路径上的全部目录文件名与数据文件名用“/”连接而成的路径名称为相对路径名。相应地,从树根开始的路径名称为绝对路径名。第36页/共76页37多级目录结构(3)四、增加和删除目录:用户可为自己建立UFD(User File Directory)和子目录,只要不同名,便可在UFD或其子目录中增加一新目录项。删除一个目录时,若该目录下没有任何文件,就可简单地将该目录文件删除,使它在其上一级目录中对应的目录项为空;若存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 操作系统
限制150内