第8章文件系统_第1页
第8章文件系统_第2页
第8章文件系统_第3页
第8章文件系统_第4页
第8章文件系统_第5页
已阅读5页,还剩121页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、n文件系统的概念n文件的逻辑结构和存取方法n文件的物理结构与存储设备n文件存储空间的管理n文件目录管理n文件存取控制n文件的使用n文件系统的层次模型第8章 文件系统第8章 文件系统n所有的计算机应用程序都要存储信息检索信息n三个基本要求能够存储大量的信息长期保存信息可以共享信息n解决方法把信息以一种单元,即文件的形式存储在外部介质上文件是通过操作系统来管理的,包括:文件的结构、命名、存取、使用、保护和实现方法文件系统是计算机组织、存取和保存信息的重要手段第8章 文件系统n研究文件系统的两种观点用户观点n文件系统如何呈现在用户面前:一个文件由什么组成,如何命名,如何保护,可以进行何种操作等等操作

2、系统观点n文件目录怎样实现,怎样管理存储空间,文件存储位置,磁盘实际运作方式(与设备管理的接口)等等n本章讨论文件的组织结构、存取结构、保护以及文件系统空间管理问题第8章 文件系统8.1 文件系统的概念 1.文件系统的引入操作系统管理计算机的软件和硬件资源图8.1 操作系统的软硬件管理1.文件系统的引入n使用计算机完成某件任务,用户会遇到问题:使用现有的软件资源来协助完成自己的任务将编制的程序和要访问的数据存放何处即,如何对软件资源进行透明地快速存取?n文件系统实现对程序和数据的透明存取透明存取:是指不必了解文件存放的物理结构和查找方法等与存取介质有关的部分,只需给定文件名,文件系统便可实现对

3、其的有关操作1.文件系统的引入n文件系统必须完成以下工作统一管理文件的存储空间,实施存储空间的分配与回收实现文件的按名存取,需要一个用户可见的文件逻辑结构实现信息的存放与加工,需要文件的物理结构实现文件信息的查找实现文件信息的共享,并提供文件的保护和保密措施8.1 文件系统的概念2.文件与文件系统的概念(1)文件定义:文件是一组赋名的相关联字符流的集合,或者是相关联记录的集合。 字符流文件n是一种无结构文件或流式文件n适用于源程序、目标代码等文件记录式文件n记录:由N 个字节组成的具有特定意义的信息单位n适用于信息管理,例如数据库系统等2.文件与文件系统的概念文件中的元素是可编址的最小信息项n

4、信息项:构成文件内容的基本单位n长度:单个字节或多个字节记录式文件:由若干个记录组成n记录是一个有意义的信息集合,是对文件进行存取操作的基本单位n记录的长度可以相等/不等各信息项之间具有顺序关系信息项 信息项 . 信息项 . 信息项编号:编号:0 1 i n-1读写指针读写指针n文件是一个抽象机制,它提供了一种把信息保存在存储介质上,而且便于以后存取的方法,用户不必关心实现细节。n用户文件名由用户给定(2)文件系统文件系统:操作系统中管理文件有关的软件和数据称为文件系统。它负责管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。文件系统的组成n与文件管理有关的软件n被管

5、理的文件n实施文件管理所需要的数据结构2. 文件与文件系统(2)文件系统从系统角度n负责为用户建立文件n存入、读出、修改、转储文件、控制文件的存取n撤消文件为用户带来的好处n使用的方便性n数据的安全性n接口的统一性2. 文件与文件系统8.1 文件系统的概念3.文件的分类按文件性质和用途分类(1)系统文件n系统软件的文件,用户通过系统调用或系统提供的专用命今来执行,不允许对其进行读写和修改n主要有操作系统核心和各种系统应用程序或实用工具程序和数据组成n例如,,3.文件的分类(2)库文件n允许用户进行读取和执行,不允许对其进行修改,主要由各种标准子程序库组成例如,C语言、FORTRAN子程序库存放

6、在子目录下 *.LIB,/lib/,/usr/lib/(3)用户文件n用户委托文件系统保存的文件n该类文件只由文件的所有者或授权者使用n主要由用户的源程序等组成例如,*.c,*.for,*.f,*DBF,*.OBJ3.文件的分类n按文件的组织形式分类(1)普通文件(常规文件) n是指组织格式为系统中所规定的最一般格式的文件,例如由字符流组成的无结构文件(2)目录文件n是由文件的目录信息构成的特殊文件,便于操作系统统一管理(3)特殊文件(设备驱动程序)n输入输出外部设备被看作特殊文件,便于统一管理n操作系统把对特殊文件的操作转入到对相应设备的操作3.文件的分类n按文件的保护方式分类只读文件读写文

7、件不保护文件n按文件信息的流向分类输入文件输出文件输入输出文件8.2 文件的逻辑结构与存取方法n用两种不同的观点来研究文件结构用户观点n研究用户“思维”中的抽象文件,或称逻辑文件n研究的侧重点在于:为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户将按照这种形式去存储、检索和加工有关文件中的信息。实现观点(系统观点)n研究驻留在设备“介质”中的实际文件,或称物理文件n研究的侧重点是选择一些工作性能良好、设备利用率高的物理文件形式。系统将按照这种形式同外部设备打交道并控制信息的传输。8.2 文件的逻辑结构与存取方法n文件的组织有两种文件的逻辑结构n文件的逻辑结构是指用户思维中的文件结构。即

8、从用户的角度来看文件的组织结构。文件的物理结构n文件的物理结构是指文件在存储介质上的结构(或组织)n目前,文件的存储介质主要是磁盘和光盘,包括硬盘、U盘、光盘、磁带,早期还有磁鼓。由于目前的磁带是模拟磁盘的结构,所以文件的物理结构主要是指磁盘上文件的结构8.2.1 逻辑结构文件的逻辑结构是用户可见结构分类n字符流式的无结构文件n记录式的有结构文件8.2 文件的逻辑结构与存取方法n选取文件的逻辑结构应遵循的原则当进行修改操作时,应尽量减少对已存储好信息的变动当进行操作时,查找所需记录或基本信息单位的时间应尽可能短应使文件信息占据最小的存储空间便于用户操作8.2.1 逻辑结构n字符流式的无结构文件

9、构成文件的基本单位是字符流式文件是有逻辑意义的、无结构的一串字符的集合优点:提供很大的灵活性适用:对基本信息单位操作不多的文件例如,源程序文件、目标代码文件,在UNIX、DOS、WINDOWS系统中的普通文件都是流式文件。8.2.1 逻辑结构n记录式的有结构文件记录:是一个具有特定意义的信息单位,它由该记录在文件中的逻辑地址与记录名所对应的一组关键字、属性及其属性值组成。可按顺序编号为记录1,记录2,记录n例如,职工登记表文件 xsdjb.dbf姓名 性别 出生年月 工资 通信地址 邮政编码李铭 男 1962年2月 3560元 武昌关山街125号 430074司马乐 男 1981年3月 180

10、0元 北京海军路88号 1000348.2.1 逻辑结构图8.2 记录组成例n记录式的有结构文件文件是由若干个记录组成,记录可按各种不同的方式排列,构成不同的逻辑结构,以便用户按键或记录进行修改、查找和管理等记录式文件是有结构的,如果文件中所有记录的长度都相同,则这种文件为定长记录文件文件长度定长记录文件的长度 = 记录个数记录长度变长记录文件的长度为各记录长度之和8.2.1 逻辑结构8.2.1 逻辑结构n两种文件的比较流式文件就像给用户一张白纸,用户可将信息任意地写到纸上,没有任何格式上的限制。记录式文件就像给用户一张表格,用户要按表规定的格式填信息。显然,结构式文件对用户的限制很大,使用起

11、来就不方便8.2.1 逻辑结构n常用的记录式结构文件有以下4种1. 连续结构连续结构是一种将记录按生成的先后顺序连续排列的逻辑结构特点:n适用性强,可用于所有文件,且记录的排列与记录的内容无关n搜索性能较差常用的记录式结构文件2. 多重结构将记录按关键字和记录名排列成行列式结构,则一个包含n个记录名、m个关键字的文件构成一个mn维行列式。如图8.3图8.3 文件的记录名和关键字构成的行列式常用的记录式结构文件2. 多重结构将行列式中那些为零的项去掉,并以关键字Ki为队首,以包含关键字 Ki的记录为队列元素来构成一个记录队列。对于m个关键字,有m个队列,从而构成该文件的多重结构。如图8.4图8.

12、4 文件的多重结构常用的记录式结构文件3.转置结构将含有相同关键字的记录指针全部指向该关键字。即,把所有与同一关键字对应的记录指针连续地置于目录中该关键字的位置下。如图8.5最适合给定关键字后的记录搜索图8.5 文件的转置结构常用的记录式结构文件4. 顺序结构将文件中的关键字按规定的顺序排列起来就形成顺序文件结构适用:系统要求按某种优先顺序来搜索、追加、删除记录的情况8.2.2 存取方法n用户通过对文件的存取来完成对文件的修改、追加、搜索等n文件的存取是要找到文件内容所在的逻辑地址n常用的存取方法有以下3类:顺序存取法随机存取法(直接存取法)按关键字存取法顺序存取法n顺序存取是按照文件的逻辑地

13、址顺序依次存取R0R1R2R3RiLLLLLL2L3L4LL(i1)LRptr(a) 定长记录文件L0R0L1R1RiWptr(b) 变 长记录文件Li00L0L01L1L0L12Li(Lk1)i1k0(Lk1)ik0顺序存取法n定长记录 读指针rptr指向下一次读出的记录地址 写指针wptr指向下一次写入的记录地址 读完指针做相应修改: rptr+L=rptr 写完指针做相应修改: wptr+L=wptrn变长记录每次将读写指针加上Li,Li是刚读或写完的记录的长度读完指针做相应修改: rptr+Li=rptr写完指针做相应修改: wptr+Li=wptr随机存取法n随机存取法允许用户按任意

14、顺序存取文件中的任何一个物理记录,可以根据记录的编号来直接存取文件中的任意一个记录,或者是根据存取命令把读写指针移到欲读写处来读写。nUNIX、MS-DOS等操作系统都采用顺序存取和随机存取等两种方法。随机存取法n定长记录的顺序文件,第i个记录的首地址为:Rptraddr i L 其中,addr是该文件的首地址,L为记录长度。n变长记录的文件,通常采用索引文件的方式组织,由于索引表本身是定长的,也可以采用同样的方法,先用直接存取法在索引表中找,再找到具体对应的地址。 按关键字存取法n按关键字存取法实质上是随机存取法随机存取法,它不是根据记录编号或地址来存取,而是根据给定的关键字或记录名进行的。

15、n按关键字存取法首先搜索到要进行存取的记录的逻辑位置,再经过某种方法计算处理,转换成相应的物理地址后进行存取。n它被广泛用于现代操作系统和数据库管理系统中的数据查找。 按关键字存取的搜索方法n对文件进行搜索的目的:查找出特定记录所对应的逻辑地址,以便将其转换为相应的物理地址,实现对文件的操作n对文件的搜索包括:关键字的搜索:在用户给定所要搜索的关键字和记录之后,确定该关键字在文件中的位置;记录的搜索:在搜索到所要查找的关键字之后,在含有该关键字的所有记录中查找出所需要的记录。n不同逻辑结构的文件,其搜索方法和效率是不同的对指定记录Ri的搜索过程如图8.6所示 图8.6 记录 Ri的搜索过程按关

16、键字存取的搜索方法n对关键字或记录的搜索属于表格搜索,搜索算法大致分为3种类型:线性搜索法(linear search)散列法(hash coding)二分搜索法(binary search algorithm)按关键字存取的搜索方法n线性搜索法是一种最简单、直观的搜索方法方法:从第一个关键字或记录开始,依次和所要搜索的关键字或记录比较,直到找到所需要的记录为止搜索时间:与所搜索的表格大小的1/2成正比搜索效率低按关键字存取的搜索方法n散列法被广泛用于现代操作系统的数据查找核心思想:定义一个散列函数h(k),对于给定的关键字k,散列函数h(k)将其变换为 k所对应的逻辑地址。按关键字存取的搜索

17、方法n散列冲突:散列冲突:两个不同的输入值变换到同一地址的问题即 对于k1!=k2,有h(k1)=h(k2)=An解决散列冲突的方法:多次散列搜索法 随机数法平方散列函数法 按关键字存取的搜索方法n二分搜索法首先需要将搜索对象按一定顺序排列搜索效率较高搜索过程如图8.7图8.7 二分搜索法的搜索过程 8.3 文件的物理结构与存储设备n对文件的存取,首先搜索到操作对象记录或某段字符流信息的逻辑地址,然后将逻辑地址转换成相应的物理地址,再对物理地址的有关信息进行操作n文件的存取方法和逻辑结构,实际上与物理存储介质有关8.3.1 文件的物理结构n物理块与逻辑块在文件系统中,文件的存储设备通常划分为若

18、干大小相等的物理块,每块长度为512字节或1024字节。同时,也将文件信息划分成相同大小的逻辑块,所有块统一编号。以块为单位进行信息的存储、传输、分配8.3.1 文件的物理结构n物理结构:指一个文件在外存上的存放方法,是从系统的角度来看文件。n采用不同的外存分配方式时,将形成不同的文件物理结构。例如,采用连续分配方式时的文件物理结构,将形成顺序式的文件结构采用链接分配方式时的文件物理结构,将形成链接式文件结构采用索引分配方式时的文件物理结构,将形成索引式文件结构n连续文件:将一个在逻辑上连续的文件信息依次存放在若干连续的物理块中1. 连续文件图8.8 连续文件结构n优点简单、支持顺序存取和随机

19、存取顺序存取速度快所需的磁盘寻道次数和寻道时间最少n 缺点文件不能动态增长,需要预留足够空间不利于文件插入和删除外部碎片问题、存储压缩技术1. 连续文件n串联文件:一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块2. 串联文件图8.9 串联文件的物理结构2. 串联文件存储器FCB首记录01234n优点提高了磁盘空间利用率,不存在外部碎片问题有利于文件插入和删除有利于文件动态扩充n缺点存取速度慢,不适于随机存取可靠性问题,如指针出错更多的寻道次数和寻道时间链接指针占用一定的空间2. 串联文件n索引文件:文件信息存放在若干不连续物理块中,系统为每个文件建

20、立一张索引表,表中每一栏目指出文件信息所在的逻辑块号和与之对应的物理块号(类似页表) n索引表的物理地址:由文件说明信息项给出3. 索引文件图8.10 索引文件示意图 012345678910111213141516171819202122232425262728293031文件名 索引表地址文件说明信息Jeep 19 916 11025 -1 -1 -119单级索引分配单级索引文件n索引表组织按串联方式存放:一个盘块一个索引表,多个索引表链接起来多重索引:将一个大文件的所有索引表(二级索引)的地址放在另一个索引表(一级索引)中。这样单个索引表可以定长,利于实现3. 索引文件多重索引结构图8.

21、11 多重索引结构n混合索引分配:指将多种索引分配方式相结合而形成的一种分配方式例如,系统既采用了直接地址,又采用了一级索引分配方式,或两级索引分配方式,甚至还采用了三级索引分配方式。 混合索引分配混合索引分配混合索引分配混合索引分配例,假如每个盘块的大小为4KB,则n直接地址:iaddr(0)iaddr(9) 这10个直接地址项支持的文件最大为:4KB10=40KBn一次间接地址:iaddr(10)地址项可存放1K个盘块号,因而允许文件长达: 1K 4KB40KB4MB n二次间接地址:iaddr(11) 地址项可存放:1K 1K=1M个盘块号,允许的文件长度为:1M 4kB 4MB 4Bn

22、三次间接地址:同理地址项iaddr(12) 允许的文件最大长度可达4TBnUNIX文件系统采用的是多重索引结构每个文件的索引表为13个索引项,每项2个字节直接寻址:最前面10项直接存放文件信息的物理块号一次间接寻址:如果文件大于10块,则利用第11项指向一个物理块,该块中最多可放256个文件物理块的块号二次和三次间接寻址:对于更大的文件还可利用第12和第13项作为二次和三次间接寻址nUNIX中采用了三级索引结构后,文件最大可达8兆个物理块。 采用这样的结构即使文件非常大,其索引表也只有40字节对小/中型文件,可采用直接索引或一次间接索引3. 索引文件混合索引分配例,假如每个盘块的大小为512B

23、,则n直接地址:iaddr(0)iaddr(9) 这10个直接地址项支持的文件最大为: 512B 10=5120B=5KBn一次间接地址:iaddr(10)地址项可存放256个盘块号,因而允许文件长达: 256 512B5KB=133KB n二次间接地址:iaddr(11) 地址项可存放:256 256=64KB个盘块号,允许的文件长度为:64KB 512B 133KB =32901KB32MBn三次间接地址:同理地址项iaddr(12) 允许的文件最大长度可达:256 256 256 512B 256 256 512B 256 512B 5KB =8GB 32MB 128KB+5KBn优点:

24、保持了链接结构的优点,又解决了其缺点既能顺序存取,又能随机存取满足了文件动态增长、插入删除的要求也能充分利用外存空间n缺点索引表本身带来了系统开销,如内外存空间,存取时间较多的寻道次数和寻道时间3. 索引文件8.3.2 文件存储设备n常用的存储设备有磁盘、光盘、磁带等1. 顺序存取设备磁带是最典型的顺序存取设备顺序存取设备n前面的物理块被存取访问之后,才能存取后续的物理块的内容n存取速度较慢:主要用于后备存储,或存储不经常用的信息,或用于传递数据的介质图8.12 磁带的结构8.3.2 文件存储设备2. 直接(随机)存取设备磁盘是最典型的直接存取设备允许文件系统存取磁盘上任一物理块,其存取时间不

25、依赖于该物理块所处的位置 图8.13 磁盘的结构n信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头n柱面:所有盘面中处于同一磁道号上的所有磁道组成一个柱面n物理地址形式:磁头号(盘面号)磁道号(柱面号)扇区号n磁盘系统:由磁盘本身和驱动控制设备组成,实际存取读写的动作过程是由磁盘驱动控制设备按照主机要求完成的2. 直接存取设备磁盘n 一次访盘请求:读/写磁盘地址(设备号,柱面号,磁头号,扇区号)内存地址(源/目)n完成过程由三个动作组成:p寻道(时间):磁头移动定位到指定磁道p旋转延迟(时间):等待指定扇区从磁头下旋转经过p数据传输(时间):数据在磁盘与内存之间的实际传输2.

26、直接存取设备磁盘n很多系统允许有些磁盘是可装卸的 n节省驱动设备成本,增加灵活性和便携性n硬盘分为两种:固定头磁盘:每个磁道设置一个磁头,变换磁道时不需要磁头的机械移动,速度快但成本高移动头磁盘:一个盘面只有一个磁头,变换磁道时需要移动磁头,速度慢但成本低2. 直接存取设备磁盘n光盘容量大,速度快,价格便宜,但一般不可写n可读写光盘驱动器价格贵,写过程很麻烦n光盘的空间结构与磁盘类似光盘n容量大,断电后仍可保存信息,速度较慢,成本较低n由两部分组成:驱动部分+存储介质n种类很多n外存空间组织与地址与存取方式非常复杂nI/O过程方式非常复杂外存的特点n用户对外存的使用:读写外存数据n用户对外存的

27、要求:方便、效率、安全在读写外存时不涉及硬件细节,使用逻辑地址和逻辑操作存取速度尽可能快,容量大且空间利用率高外存上存放的信息安全可靠,防止来自硬件的故障和他人的侵权可以方便地共享,动态扩缩,携带拆卸,了解存储情况和使用情况以尽可能小的代价完成上述要求用户对外存的要求文件结构、文件存取设备与存储法的关系存储介质存储介质物理结构物理结构存取方式存取方式磁带磁带连续结构连续结构顺序存取顺序存取磁盘磁盘连续连续链接链接索引索引顺序顺序顺序顺序顺序顺序随机随机 随机随机8.4 文件存储空间管理n文件存储设备是分成若干个大小相等的物理块,并以块为单位交换信息。n文件存储空间的管理实质上就是空闲块的组织和

28、管理。需要解决以下问题:如何登记空闲区的分布情况?如何按需给一个文件分配存储空间?当某一文件或某一部分不再需要保留时,如何收回它所占的存储空间?8.4 文件存储空间的管理1. 空闲文件目录系统为外存上的所有空闲区建立一张空闲文件目录,每个空闲区对应于空闲文件目录中的一个表项,其中包括表项序号、该空闲区的第一个空闲块号、该区的空闲块个数等 文件的创建:请求分配存储空间文件的删除:释放存储空间 类似内存分区管理方法 1. 空闲文件目录序号第一空白块号空白块个数空闲物理块号124(2,3,4,5)293(9,10,11)3155(15,16,17,18,19)4n仅当有少量的空闲区时才有较好的效果n

29、如果存取空间中有着大量的小的空闲区,则空闲表变得很大,效率大为降低n这种分配技术适用于建立连续文件 2. 空闲块链n空闲块链:把文件存储设备上的所有空闲块链接在一起分配:当申请者需要空闲块时,分配程序从链头开始摘取所需的空闲块,然后调整链首指针回收:当回收空闲块时,把释放的空闲块逐个插入链尾上n常用的链接方法按空闲区大小顺序链接的方法按释放先后顺序链接的方法成组链接法(UNIX文件系统)nUNIX文件存储空间的管理存储介质:磁盘或磁带文件卷一个文件卷包括:n0#块:引导块,用于引导操作系统n1#块:资源管理块(超级块),用于存放文件卷的资源管理信息,为便于管理在内存中有其副本n从2#块起存放磁

30、盘索引节点块,其块数由文件系统决定,在索引节点块后是一般数据块成组链接法UNIX系统n空闲块的分组所有空闲块按50块划分为一组,组的划分从后往前划分每组的第一块用来存放前一组中各块的块号和总块数第1组的块数为49块;通常,最后一组不足50块,其块号与总块数只能放在管理文件存储设备用的文件资源表中成组链接法图8.14 成组链法的组织100400399301300100300299-202201299-100400399-2013019907999790179007899-78017999-7901空闲盘块号栈S.free019899空闲块的成组链接法 空闲块的组织n空闲块的分配首先,系统在初启时

31、把文件资源表复制到内存,从而使文件资源表中放有最后一组空闲块块号与总块数的堆栈进入内存,并使得空闲块的分配与释放在内存进行。堆栈设置有栈指针Ptr,其初值等于该组空闲块的总块数。当申请者提出空闲块要求n时,按照先进先出原则,分配程序从栈顶取出Ptr所指的空闲块号,将对应的物理块分配,然后栈指针下移一格,即Ptr Ptr 1。这过程一直持续,直到所要求的n块都已分配或堆栈中只剩下最后一个空闲块的块号。成组链接法n空闲块的分配当堆栈中只剩下最后一个空闲块号时,该盘块号所对应的盘块中记有下一组可用的盘块号与总块数。因此,系统将启动设备管理程序, 将该块的内容读入内存之后将该块分配给申请者。然后,系统

32、重新设置Ptr指针,并继续为申请者进程分配空闲块。成组链接法成组链接法n空闲块的释放在回收时,回收程序先做Ptr Ptr 1操作,然后把回收的物理块号放入当前指针Ptr所指的位置。如果Ptr等于50,则表示该组已经回收结束。此时,如果还有新的物理块需要回收,则回收该块并启动I/O设备管理程序,把回收的50个块号与块数写入新回收的块中。然后,将指针Ptr重新置为1,另起一个新组。成组链接法举例1、某系统磁盘空间使用“空闲块成组链接法”进行管理(每组50块)(1)通过图1所示的当前状态,为某文件分配4个空闲块。请写出该文件分配到的磁盘块号,并图示出分配后有关物理块的内容及相互关系。(2)要删除某文

33、件,可回收5个物理块89、90、123、137、138。结合图2,给出回收后的有关表格和磁盘块结构图。图1 分配前超级块与物理块示意图图2 回收前超级块示意图答:(1)该文件分配了94、95、115、116四个物理块。3. 位示图系统建立一张位示图,以反映整个存储空间的分配情况用二进制位反映磁盘空间的分配, 每个物理块对应一位, 1表示对应的物理块已分配,0表示其对应的块未分配分配:申请物理块时,可以在位示图中查找为0的位,返回对应物理块号回收:归还时,将物理块所对应的位置为0 3. 位示图位示图 8.5 文件目录管理n建立文件系统的作用在于:对文件信息实现“按名存取”,力求查找简便,减少查找

34、时间n一般,采用文件目录的方法来管理文件,每个文件有一个目录项n文件的目录:也称为文件说明信息,包括文件名以及对该文件实施控制管理的控制管理信息n利用文件目录,实现对文件的创建、检索、维护等n对文件目录的管理就是对文件说明信息的管理8.5 文件目录管理8.5.1 文件的组成一个文件包括两部分:文件体和文件说明文件说明:也称为文件控制块FCB,是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息,是文件存在的标志。其内容包括:n有关文件结构的信息n有关存取控制信息n有关管理方面的信息8.5.1 文件的组成p文件控制块(FCB)的主要内容:n文件号、用户名n文件地址、文件长度、

35、文件类型、文件属性n文件的建立日期、保存期限、最后修改日期、最后访问日期n文件物理位置信息:如索引表n口令:用于对文件访问进行验证n操作限制:如读、写、执行权限说明n文件逻辑结构,文件物理结构n共享说明(UNIX中是与操作限制一起说明)8.5.1 文件的组成文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合目录项:构成文件目录的项目(目录项就是FCB)目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件文件系统利用目录文件完成按名存取和对文件信息的共享与保护8.5.1 文件的组成n对目录管理的要求: (1) (1) 实现实现“

36、按名存取按名存取” ” (2) (2) 提高对目录的检索速度提高对目录的检索速度 (3) (3) 文件共享文件共享 (4) (4) 允许文件重名允许文件重名8.5.2 文件目录n单级目录文件系统为存储设备的所有文件建立一张目录表,每个文件在其中占有一项用来存放文件说明信息。该目录表存放在存储设备的固定区域,在系统启动或需要时,系统将其调入内存或部分调入内存。文件系统通过对该表提供的信息实现文件的增、删等操作。每建立一个新文件即在目录中增加一个FCB,每当删除一个文件即删除对应的FCB,当要访问一个文件时,先按文件名在目录中找到对应的文件FCB。 FCB1 FCB2 FCB3 FCBn 文 件1

37、 文 件2 文 件3 文 件n 单级目录结构示意图图8.15 单级目录的读写处理过程单级目录n优点简单,能实现目录管理的基本功能按名存取n 缺点查找速度慢不允许重名 不便于实现文件共享8.5.2 文件目录n二级目录目录分为两级:n一级目录:称为主文件目录MFD,给出用户目录的名字、目录大小及其所在的物理位置等n二级目录:称为用户文件目录UFD(又称用户子目录),给出该用户所有文件的FCB图8.16 二级目录结构 二级目录n二级目录结构实现可以把主目录和二级用户目录放于外存头部,也可以把二级目录当一般文件存放。路径名:将用户名与文件名连到一起组成路经名。例如,/luoyu/test.c。n优点解

38、决了文件的重名问题和文件共享问题用户名文件名查找时间降低n缺点增加了系统开销多级目录n多级树型目录结构任何一级目录中的FCB既可以描述次一级的子目录,又可以描述一个文件。特点:n利于文件分类,从文件路径名可看出文件类别;n查找文件FCB耗费时间,要得到文件FCB,必须从根查起;n惟一确定文件的路径名太长,故引入当前目录概念,提供相对于当前目录的相对路径名可加速文件FCB的查找,进程控制块存有当前目录信息。图8.17 文件系统的树形结构 多级目录n绝对路径和相对路径绝对路径:从根目录开始到达文件的路径相对路径:从当前目录开始到达文件的路径n为了提高文件检索速度,文件系统向用户提供了一个当前正在使

39、用的目录,称为当前目录。n查找一个文件可从当前目录开始,使用部分路径名;当前目录可根据需要任意改变。n当前目录一般存放在内存多级目录n优点层次结构清晰,便于管理和保护解决重名问题查找速度加快n缺点查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度8.5.3 便于共享的文件目录n文件共享一个文件被多个用户或程序使用,形式有n被多个用户使用,由存取权限控制n被多个程序使用,但各用自己的读写指针n被多个程序使用,但共享读写指针目的n节省时间和存储空间,减少了用户工作量;n进程间通过文件交换信息8.5.3 便于共享的文件目录n实现文件共享的3种方法:绕道法链接法基本文件目录表BFD

40、 绕道法n绕道法:要求每个用户处在当前目录下工作,用户对所有文件的访问都是相对于当前目录进行的。图8.18 绕道法绕道法要绕弯路访问多级目录,因此搜索效率低。链接法n链接法:在相应目录表之间进行链接。即将一个目录中的链接指针直接指向被共享文件所在的目录。n需要用户指定被共享的文件和被链接的目录基本文件目录表BFDn基本文件目录表 该方法将所有文件目录的内容分成两部分:基本文件目录表(BFD):包括文件的结构信息、物理块号、存取控制和管理信息等,并由系统赋予惟一的内部标识符来标识。符号文件目录表(SFD):由用户给出的符号名和系统的内部标识符组成。图8.19 采用基本文件目录表实现共享8.5.4

41、 目录管理n目录文件存放在文件存储设备中,因此存取一个文件时,必须访问多级目录。n实现方法将当前正在使用的那些文件的目录表复制到内存中打开文件(fopen):将文件存储设备中的目录文件复制到内存的操作,称为打开文件删除文件(fclose):将删除文件的内存副本的操作称为关闭文件对于按BDF和SFD方式排列的多级目录文件,系统打开文件的方式如下: 将主目录MFD中的相应表目,即与待打开文件相联系的有关表目复制到内存。 根据所复制得到的标识符,再复制此标识符所指明的基本文件目录表BDF的有关表目。 根据 所得到的子目录说明信息搜索SFD,以找到与待打开文件相对应的目录表项。若找到的表目是子目录名,

42、则继续上述复制,直到找到待打开的文件名。 根据所搜索到的文件名所对应的标识符id,将相应的BDF的表目项复制到内存。 这样,待打开文件的说明信息就已复制到内存中。系统便可根据其信息实现对文件的有关操作。8.6 文件存取控制n文件的存取控制:与文件的共享、保护、保密不同,但又紧密相关的问题文件共享:不同的用户共同使用一个文件文件保护:防止文件的拥有者或其他用户破坏文件内容文件保密:未经文件拥有者许可,任何用户不得访问该文件 这三个问题实际上是一个用户对文件的使用权限问题,即读、写、执行的许可权问题。8.6 文件存取控制n文件系统的存取控制部分应实现:对于拥有读、写或执行权限的用户,应让其对文件进行相应的操作对于没有读、写或执行权限的用户,应禁止他们对文件进行相应的操作应防止一个用户冒充其他用户对文件进行存取应防止拥有存取权限的用户误用文件以上功能由存取控制验证模块程序实现8.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论