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

下载本文档

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

文档简介

1、第六章 文件系统6.1 知识点汇总1、文件、文件系统的概念 文件:是被命名的数据的集合体。 文件系统:就是操作系统中负责操纵和管理文件的一整套设施,它实现文件的共享和保护,方便用户“按名存取”。2、外存管理和文件系统概述(1)、外存是负责长期保存数据的所有存储部件的总称,如磁盘,磁带,光盘等。操作系统的外存管理功能是操作系统中负责管理外存使用的那些功能的总称,负责管理和顽尘国外存使用中所有硬件相关和应用无关的工作,为用户使用外存提供方便服务,高校和安全管理。(2)、外存硬件接口特性外存的作用: 用来永久或长期存放数据。 作为盘交换区作为内存后备存放当前运行程序和数据。外存的种类: 联机外存:硬

2、盘 脱机外存:光盘,软盘,磁带,U盘外存的主要涉及标准和性能指标:密度,速度,容量,体积,成本,便携性,可重写性和可重用性等。存储容量分为非格式化容量和格式化容量。一般格式化容量是非格式化容量的80%格式化分为:高级格式化(仅删除数据),低级格式化。 高级格式化,清除硬盘上的数据、生成引导区信息、初始化FAT表、标注逻辑坏道等 低级格式化,就是将空白的磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,每个扇区又划分出标识部分ID、间隔区GAP和数据区DATA等。硬盘的低级格式化是高级格式化之前的一件工作,目前所有硬盘厂商在产品出厂前,已经对硬盘进行了低格化的处理,因此我们新购买的硬盘在装系统时只

3、需要进行高级格化的过程,来初始化FAT表,进行分区操作。硬盘的低级格式化过程是一种损耗性操作,对硬盘的使用寿命会产生一定的负面作用。外存设备都由驱动控制部分和存储介质两部分组成。 存储介质与驱动器都固定:硬盘 驱动器固定但存储介质不固定:光盘,软盘 驱动器和存储介质都不固定:移动硬盘,U盘等大多数系统将设备驱动控制部件中的大部分电子控制部分分离出来构成设备控制器,而设备驱动器只剩下机械驱动部分和简单的电子控制电路。设备控制器决定设备与计算机间的逻辑联系,一个设备控制其可以同时控制多个设备驱动器。硬盘的结构硬盘内由设备驱动器及存储介质组成。其存储介质是磁盘。磁盘表面被划分为若干个同心圆,每个同心

4、圆成为一个磁道。每一磁道划分为几个扇区(通常每个扇区存放512B)。每个扇区间都留出一定的空间用来记录扇区标记。用扇区作为最小寻址单位和存取单位。寻址时磁盘转动,磁头移动到目标磁道,磁头通过读取并判断扇区标记,来确定和等待指定扇区,当目标扇区从磁头下顺序经过,读取相应扇区内的内容。通过增加磁盘数,及每个磁盘都正反两面都涂以磁性材料,来增加容量。所有盘面中处于同一磁道号上的所有磁道组成一个柱面。读写同一个柱面的数据,不需要移动磁头,故通常将同一文件内容分配在同一柱面上,以节省访盘时间。对主机提供的接口是:“读/写,磁盘地址(设备号,柱面号,磁面号,扇区号),内存地址”。当接收到一个访盘请求时,由

5、以下三个步骤: 寻道,磁头移动到指定磁道(寻道时间) 等待扇区从磁头下经过(延迟时间) 数据在磁盘与内存间传送(传送时间)访盘时间=寻道时间+延迟时间+大胆地硬盘分为固定磁头和移动磁头两种。固定磁头同一盘面上每个磁道设置一个磁头,所以节省了寻道时间,但成本昂贵。移动磁头,每个盘面仅一个磁头,成本低。(3) 用户对外存的使用要求 在存取外存上的数据是,不希望解除和涉及外存物理空间地址和存取单位,外存设备接口地址,等物理硬件细节。而是采用符合用户习惯的逻辑地址于逻辑操作。 外存上存放的信息安全可靠,防止来自硬件的故障和来自他人的侵权。 可以方便地共享,动态伸缩,拆卸携带,了解存取请款共和使用情况等

6、。 以最小代价完成上述任务。(4 )文件定义及文件系统的工作界面文件系统提供了:文件子系统,目录,文件,文件内字节,这4个层次上的操作。文件是操作系统提供的,是用户观点中期内容具有连续顺序关系的最大外存逻辑数据空间。3、文件系统用户界面(1)文件级界面:文件属性和文件操作每个文件都拥有文件名。操作系统为每个文件名与该文件在外存中存放位置间建立对应关系。在多用户环境下,操作系统还需为每个文件建立和维护文件主和访问权限等信息。文件属性信息包括文件名,文件主,访问权限以及文件类型,文件长度等。这些信息不属于文件本身的内容,但是用户需要由操作系统来保存这些属性。并提供查询这些属性的操作。对文件本身内容

7、的读写。操作系统在操作级和编程级都提供了相应的操作。编程级:提供读写文件的系统调用,内存映像文件方式的读写操作。文件的打开:int open( const char * pathname, int flags);参数pathname 指向欲打开的文件路径字符串。参数flags 所使用的用宏定义的值:O_RDONLY 以只读方式打开文件O_WRONLY 以只写方式打开文件O_RDWR 以可读写方式打开文件上述三种是互斥的,也就是不可同时使用,下列的可以利用OR(|)运算符组合O_CREAT 若欲打开的文件不存在则自动建立该文件。O_EXCL 如果O_CREAT 也被设置,此指令会去检查文件是否存

8、在。文件若不存在则建立该文件,否则将导致打开文件错误。此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打开文件失败。O_NOCTTY 如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机。O_TRUNC 若文件存在并且以可写的方式打开时,令文件长度清为0,而原来存于该文件的资料也会消失。O_APPEND 当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面。该函数返回值称为文件句柄或文件描述字(file descriptor),之后文件的读写,用该文件句柄来指定该文件,而不再使用文件的文件名。文件的打开,可以理解为一种权限许

9、可。即检查文件是否存在,用户对该文件是否具备相应操作的权限,以及检查文件共享的许可。操作系统在读写文件的系统调用中,提供文件当前读写指针机制。文件打开时,该指针指向文件首字节,在执行读写系统调用后,指针指向港读写过的最后一个字符的下一个字符。同时还提供了改变当前读写指针的系统调用。off_t lseek(int fildes,off_t offset ,int whence);每一个已打开的文件都有一个读写位置,当打开文件时通常其读写位置是指向文件开头,若是以附加的方式打开文件(如O_APPEND),则读写位置会指向文件尾。当read()或write()时,读写位置会随之增加,lseek()便

10、是用来控制该文件的读写位置。参数fildes 为已打开的文件描述词,参数offset 为根据参数whence来移动读写位置的位移数。whence为下列其中一种:SEEK_SET 参数offset即为新的读写位置。SEEK_CUR 以目前的读写位置往后增加offset个位移量。SEEK_END 将读写位置指向文件尾后再增加offset个位移量。当whence 值为SEEK_CUR 或SEEK_END时,参数offet允许负值的出现。1) 欲将读写位置移到文件开头时:lseek(int fildes,0,SEEK_SET);2) 欲将读写位置移到文件尾时:lseek(int fildes,0,SE

11、EK_END);3) 想要取得目前文件位置时:lseek(int fildes,0,SEEK_CUR);当调用成功时则返回目前的读写位置,也就是距离文件开头多少个字节。若有错误则返回-1。 操作系统通常还提供了通配符机制,以便于利用文件命名共性对文件分类分组,对一组文件同时进行操作。(2)目录级界面:目录(树)和链接。用户需要一个清单,列出在外存中存放着哪些文件,操作系统自动建立和维护这个清单,这个清单称之为目录。若外存中所有的文件用一个目录来表示,则该目录是单级目录。当外存上同时存放的文件数量越来越多,单级目录查找起来就十分麻烦,为此操作系统引入多级目录机制。反映了文件的分类关系。采用树状结

12、构来表示这种多级分类机制。提供了一组相应的目录操作,目录建立,目录删除,设置当前目录等。有的操作系统允许一个文件同时属于多个目录,但实际上该文件只有一处物理存储。这种在一处存储,多处出现的文件和目录间的关系,称为链接(Link)避免了重复存储冗余浪费和数据不一致性。不用每次使用共享文件都要写出路径名。用户可以按照自己的需要,习惯,来给文件命名。为用户程序中对共享文件的使用提供了灵活性,适应性,兼容性。还可以使一个用户程序能够根据本次运行时的调用名来决定本次运行的工作方式。链接分为:硬链接和符号链接(软链接)。两者在实现机制上不相同。(3)文件子系统级用户界面文件子系统,通常称为卷,是满足以下特

13、性的一个外存区域。该区域的空闲空间信息也存放在该区域内。该区域中所存放的文件和目录的属性信息业存放在该区域内。该区域可能是一个外存介质,也可能是一个外存介质的一部分外存区域。为什么需要多个文件子系统?不同访问权限的区域划分在不同的分区中。需要不同的分区,来存放不同的操作系统及其管理文件。便于移动存储文件子系统的建立(格式化)硬盘格式化过程低格,运行fdisk命令,在每个磁面上划分与标记磁道和扇区,标出坏扇区,划分和建立分区。高格,运行format命令,对指定分区进一步划分成几个区域,有的存放文件内容,有的存放文件属性信息,有的存放目录信息,有的存放总信息。4 文件的实现(1)连续分配背景下的讨

14、论最简单背景下(单介质,单级目录,文件连续分配)的文件系统实现机制。连续分配(continuous allocation)策略是指每个文件在存储介质上是无力连续存放的,即每个文件在存储介质上占据连续的物理块号,并在其中连续顺序存放。1)、最简单背景下文件操作流程和所需管理信息最基本的操作:读文件(文件名,文件内起始读位置,要读的长度,目标地址)写文件(文件名,文件内起始下位置,要写的长度,目标地址)建立文件(文件名)删除文件(文件名)所需的管理信息:文件名,文件主,全县,文件在外存上的物理位置(称为文件内地址映射信息,指出文件占据的总块数和起始块号即可),文件操作时间记录等。称为文件描述信息或

15、文件管理信息。平时存放在外存上,用时读入内存。所需的管理信息:写文件时文件按长度可能发生增减,因此需要申请或释放空闲盘块,故操作系统需要建立和维护盘空闲空间信息。效率上的初步考虑:盘空闲空间信息等盘卷总信息,是被频繁访问修改的,所以通常在开机后马上进入内存,并常驻内存。用户程序在使用一个文件时,通常要对该文件进行多次读写,每次读写都要用到该文件的文件描述信息,故通常在用户使用一个文件期间,该文件的文件描述信息一直驻留内存,直到用不再使用该文件。2)、最简单背景下文件系统数据结构与工作过程盘卷总信息区:盘总容量,目录区起始位置,目录区长度,文件区起始位置,文件区长度,盘空闲空间信息。设备目录区:

16、所有文件的描述信息。UNIX中称为i结点区(inode)。文件区:存放所欲文件内容本身。在最简单背景下如何根据文件名取得文件内容呢?3)、记录外存空闲空间信息的数据结构位图:每个盘块用1位表示,若该块空闲,则该位为0,若已分配则为1。只要利用位操作指令就能简单有效地在盘上找到n个连续的空闲块。链表:把所有空闲块链接在一起,链首指针指向第一个空闲盘块。该块中存放着一个指针指向下一空闲盘块。分组链接:将n个空闲盘块的地址,存放在第一个空闲盘块中。其中前n-1个盘块是可分配的空闲盘块,最后一个空闲盘块中包含着另外n个空闲盘块的地址。能迅速地找到大量空闲盘块地址。计数:只记录空闲区域的首盘块地址和空闲

17、盘块数。4)、对连续分配方案的评价类似于内存可变分区模式。分配空间的算法可采用,最先适配,最佳适配,最坏适配等。地址映射简单,访问快。因为连续存储分配慢。因为要查找足够存放的连续的空闲块。有外部碎片。会产生无法被分配的空闲区域。需处理动态扩充。预留空间,合并相邻空闲块,或重新分配和移动等。寻道次数和寻道时间最少。(2 )不连续分配背景下的讨论文件的不连续分配方式是指文件内容在外存存储介质上不一定占有连续空间。从而克服了连续分配的缺点,彻底消除外部碎片,提高外存利用率,且易于动态扩充。链接定位:特点:只能顺序存取,一个指针错失,造成后面全错,指针占用一定空间。 FAT模式:链接定位的变种,划分出

18、一个区域用于存放一张FAT表,表中第i行对应物理块号i。每行的值代表某文件中,该块的下一盘块的块号,若该块空闲则值为0。特点:实现简单,FAT表很大4 文件的实现(1) 不连续分配背景下的讨论索引定位非分离方案:文件所有盘块地址集中放在索引表中,每个文件一张索引表。索引表放在设备目录中。特点:设备目录不定长,导致速度慢索引定位 一重索引方案:索引表放在一个索引盘块中,该盘块地址放在设备目录中。特点:设备目录定长。文件长度受限,小文件索引盘块浪费。索引定位 一重索引链接方案:将一个文件的所有索引盘块链接在一起,链首放在设备目录中。特点:文件长度不受限。索引盘块只能顺序存取,存取文件尾时要读所有索

19、引盘块。索引盘块有内部碎片。索引定位 多重索引方案:将一个文件的所有索引盘块(一重索引盘块)地址放在一个索引盘块(二重索引盘块)中,将二重索引盘块地址放在设备目录中。特点:文件最大长度达,索引块直接存取。索引盘块有内部碎片,小文件的良机索引盘块时浪费更大。索引定位 直接指针+可变重数的多重索引方案:在文件描述信息中预留固定个数的直接指针,直接指向数据块的地址。剩下的作为多重索引的下一重索引盘块的指针。特点:多重索引可以实现大文件。可变重数的索引,避免了多级索引盘块上的浪费。直接指针,使小文件避免了索引盘块上的浪费。该模式对大小文件的效率适应性都较强,灵活高效。(2 )各种分配策略的比较和综合采

20、用实际操作系统通常采取综合策略对同一文件采用不同分配方式:对3,4块一下的小文件连续分配,若文件增大则变为索引定位。对同一系统中的不同文件采用不同分配方式:对直接存取文件连续分配,对顺序存取文件链接分配。建立文件时必须说明存取类型。5 目录的实现(1)目录树结构的实现:目录文件方法为了适应多级目录的需要,将设备目录表(存放在设备目录区中)分化为多张表。每张目录表对应一个目录,表中内容为该目录下每个直属文件或子目录的文件描述信息。该表称为文件目录表。文件目录表反映了文件与目录间、上级目录与下级目录间的从属关系。随着目录的建立,删除,复制,移动。文件目录表的长度很难确定,表长度伸缩性太大。因此很难

21、预留空间,或集中存放。因此采用目录文件技术。把每张文件目录表看作是一个文件来存放,即每个目录对应一个文件,该文件的内容就是该目录的文件目录表。因此就可以借助文件茶馆年度伸缩变化的处理方法来解决目录数据的伸缩性问题。将目录处理成为文件后,不再有同一的文件描述信息区(设备目录区)。仅在盘卷总信息中存放根目录的文件目录表的地址。6 目录的实现(1)目录树结构的实现:目录文件方法为了适应多级目录的需要,将设备目录表(存放在设备目录区中)分化为多张表。每张目录表对应一个目录,表中内容为该目录下每个直属文件或子目录的文件描述信息。该表称为文件目录表。文件目录表反映了文件与目录间、上级目录与下级目录间的从属

22、关系。随着目录的建立,删除,复制,移动。文件目录表的长度很难确定,表长度伸缩性太大。因此很难预留空间,或集中存放。因此采用目录文件技术。把每张文件目录表看作是一个文件来存放,即每个目录对应一个文件,该文件的内容就是该目录的文件目录表。因此就可以借助文件茶馆年度伸缩变化的处理方法来解决目录数据的伸缩性问题。将目录处理成为文件后,不再有存放文件描述信息的设备目录区。仅在盘卷总信息中存放根目录的文件目录表的地址。()硬链接的实现:设备目录与文件目录的分离链接,即允许一个文件属于多个目录。UNIX和Linux支持硬链接和符号链接。设备目录与文件目录的分离。指将目录文件中的目录表的绝大部分列都已入设备目

23、录表中。文件目录表中只存放文件名及该文件的描述信息在设备目录表中的地址。实现设备目录与文件目录分离后。外存的结构为:盘卷总信息:根目录的文件目录表地址,空闲区域信息,设备目录区:设备目录表,存放所有文件的描述信息(不包含文件名)每个文件的描述信息又称为i结点,所以设备目录区又称为i结点区。文件区:目录文件(文件目录表),文件实现设备目录和文件目录的分离后,只要在文件目录中有多个指针指向设备目录中的同一行,并记录该文件被引用的次数。就实现了链接。这就是硬链接的实现机制。当删除某个文件时,首先删除文件目录中的对应行。然后将设备目录区中对应的i节点的引用计数减1,若引用计数减为0,删除该i结点及文件

24、内容。若不为0,说明还有其他的文件目录中存在指向该文件的链接,因此不删除i结点及文件内容。硬链接,实现速度较快(相对于符号链接),但不能跨文件系统,因为无法区分不同文件系统的i结点。()符号链接的实现符号链接,将被链接文件的路径名和文件名作为符号连接文件的内容来存储,被链接文件中并不记录被引用的次数(类似于Windows系统中的快捷方式) 。符号链接文件本身占用i结点和数据盘块。当用open打开某个符号链接时,返回的实所链接至的文件的描述符。而不是符号链接文件本身的描述符。实际上执行了两次访问。因此开销较大。删除符号链接,被链接文件不受任何影响。符号链接可以链接存储于任何地方的文件。(如浏览器

25、的收藏夹中的快捷方式)符号链接中可以存放相对路径也可以存放绝对路径。有时要处理符号链接文件本身,而不是要处理链至的文件,因此操作系统要提供两种不同的功能。如open,stat在遇到链接文件时都是处理所链至的文件。而readlink,lstat则是对符号链接本身的操作。7 文件子系统的实现登记整个系统中联机安装有哪些文件系统,每个文件子系统的物理位置,卷总信息等。实现相关的地址映射,即实现从文件子系统的逻辑表示形式到物理位置的映射,即根据用户在路径中给出的文件子系统标识,找到相应的文件子系统的登记信息。负责实现文件子系统的建立(格式化),装卸等操作。对于支持多种不同类型文件子系统的操作系统,需要

26、登记每个文件子系统的类型,并根据不同的类型,来调用不同的地址映射子程序和操作实现子程序。8文件系统性能改善机制硬盘作为联机外存,属于计算机最慢的存储层次,其速度已成为系统性能的主要瓶颈。提高访盘速度要从硬件和软件两方面来改善。软件方面主要通过两个角度:减少访盘次数;缩短每次访盘时间。减少访盘次数:增大访盘单位长度。避免重复访盘,将经常被访问的,或者最近访问的都驻留在内存。为了避免重复访盘,在内存中设置了专门的数据结构用于存放经常要访问的数据。内存盘卷总信息数据结构。存放文件子系统级的信息。目录缓冲结构、当前目录结构。存放目录级的信息。文件打开表数据结构。存放文件描述信息。缓冲池。即同时设立多个

27、缓冲区,这些缓冲区的集合就称为缓冲池,存放文件的本身内容。缩短每次访盘的时间,每次访盘时间亦称为平均磁盘服务时间,它是寻道时间,延迟时间,传送时间之和。缩短每次访盘时间主要在于减少寻道时间和延迟时间。减少寻道时间的措施有:磁臂调度算法,外村空间的分配算法;减少延迟时间的措施主要有:扇区排队,上去交叉编号、预读、磁道缓冲等。此外磁盘阵列及磁盘条块化、磁盘交叉存取、分块都涉及多盘协同工作以提高磁盘速度和可靠性。 9物理地址与存取单位的优化外存硬件提供的最小寻址单位和存取单位是扇区,长度通常是512b或者1kb。操作系统统场采取的最小分配单位,寻址单位是盘块,又称为逻辑盘块。块长一般大于或等于扇区长

28、度。通常是大于。当块长大于扇区长时,一块通常由连续的若干扇区构成,1块通常是2 的整数次幂个的扇区。这样可以减少访盘次数,从而提高系统性能。块长通常在操作系统安装或配置时设定。块长的大小对文件系统的时空效率会产生很大的影响。操作系统用一维块号来表达三维的外存物理地址(盘面号,磁道号,扇区号)。因而存在地址转换机制。当块长大于扇区长时,转换方式较为复杂。(1) 文件打开与关闭技术设置文件的打开和关闭操作是为了提高效率,将打开的文件的描述信存放在内存中,避免了每次访问文件都要去搜索设备目录。又不用将所有的文件的描述信息放在内存中占用空间。(2 )文件共享文件共享是指一个文件没多个用户或程序使用。有

29、几种不同程度或类型的文件共享:一个文件在多处重复存储,这是冗余存储式的文件共享。一个文件被多个用户使用。这是由存取权限控制的。一个文件出现在目录树中多处,但只有益处物理存储。这是链接实现。一个文件被多个程序同时使用,但个用自己的读写指针。一个文件被多个程序同时使用,且共享读写指针。10 磁臂调度技术磁臂调度指当同时又多个访盘请求在等待时,对这些要求的顺序的确定安排或调整,旨在减少平均磁盘服务时间。由操作系统中的磁盘设备驱动程序完成。先来先服务调度算法。最简单的磁臂调度算法,简单,公平,但却不能提供最好的服务。最短搜索有限调度算法。总是在访盘队列中挑选离磁头当前位置最近的访盘请求作为下一个服务对

30、象。电梯算法。磁头总是单项移动的,但到达边缘则改变方向(前方没有请求时,就回头),磁头移动中为途中的所有请求服务。循环扫描算法。基于电梯算法,只有一点不同:磁头到头,掉头后不是立即扫描,而是立即回到起点再重新开始扫描,归途中不服务。6.2 例题示例【例6.2.1】什么是文件?什么是文件系统?答:文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识。文件具有三个基本特征:文件的内容为一组相关信息、文件具有保存性、文件可按名存取。文件系统是操作系统中负责管理和存取文件的程序模块,也称为信息管理系统。它是由管理文件所需的数据结构(如文件控制块、存储分配表)和相应的管理软件以及访问文件的一组操作所

31、组成。【例6.2.2】什么是文件的物理结构和逻辑结构?答:文件的逻辑结构是从用户观点出发所看到的文件组织形式,是用户可以直接处理的数据及其结构。文件的逻辑结构有两种形式:有结构的记录文件和无结构的流式文件。文件的物理结构是指文件在外存上的存储组织形式。文件的物理结构有三种形式:顺序结构、链接结构和索引结构。【例6.2.3】假定盘块的大小为1KB,硬盘的大小为500MB,采用显示链接分配方式时,其FAT需要占用多少存储空间?答:FAT的每个表项对应于磁盘的一个盘块,其中用来存放分配给文件的下一个盘块的块号,故FAT的表项数目由物理盘块数决定,而表项的长度则由磁盘系统的最大盘块号决定(即它必须能存

32、放最大的盘块号)。为了地址转换的方便,FAT表项的长度通常取半个字节的整数倍,所以必要时还必须由最大盘块号获得的FAT表项长度作一些调整。由题意可知,该硬盘共有500K个盘块,故FAT中共有500K个表项;如果盘块从1开始编号,为了能保存最大的盘块号500K,该FAT表项最少需要19位,将它扩展为半个字节的整数倍后,可知每个FAT表项需20位,即2.5个字节。因此,FAT需占用的存储空间的大小为:2.5500K=1250KB【例6.2.4】存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第09个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间

33、接地址,第12个地址项为三次间接地址。如果每个盘块的大小为4K字节,若盘块号需要用4个字节来描述,请问该系统中允许的文件的最大长度是多少?答:由题意可得,每个盘块最多存放4K/41K个盘块地址。在混合索引分配方式中,文件的FCB的直接地址中登记有分配给文件的前n块(0到n-1)的物理块号(本题中为10);一次间接地址中登记有一个一次间接块的块号,而在一次间接块中则登记有分配给文件的第n到第nk1块的块号(本题中k的值为1k);二次间接地址中登记有一个二次间接块的块号,其中可给出k个一次间接块的块号,而这些一次间接块被用来登记分配给文件的第nk块到第nkk21块的块号;三次间接地址中则登记有一个

34、三次间接块的块号,其中可给出k个二次间接块的块号,这些二次间接块有可给出k2个一个间接块的块号,而这些一次间接块则用来登记分配给文件的第nkk2块到nkk2k31块的物理块号。则该系统中一个文件的最大长度是:4K(101K1K1K1K1K1K)40K 4M 4G 4T【例6.2.5】什么是文件控制块?文件控制块中包含哪些信息?答:文件系统在创建每个文件时设置用于文件描述和文件控制的数据结构,它与文件一一对应,称为文件说明或文件控制块FCB。它是随着文件的建立而诞生,随着文件的删除而消失,某些内容随着文件的使用而动态改变。一般文件控制块应包括如下三类内容:有关文件存取控制的信息。例如,用户名、文

35、件名、文件类型、文件属性。有关文件结构的信息。例如,文件的逻辑结构、文件的物理结构、记录个数、文件在存储介质上的位置等。有关文件管理的信息。例如,文件的建立日期、文件被修改的日期、文件保留期限和记帐信息等。【例6.2.6】在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块占64字节,其中文件名占8字节。通常将文件控制块分解成两部分,第1部分占10字节(包括文件名和文件内部号),第2部分占54字节(包括文件内部号和文件其他描述信息)。(1)假定某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录的某一个文件控制块的平均访问磁盘次数。(2)一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号,请给出访问磁盘次数减少的条件。答:(1)采用分解法前,一个盘块存放5l2/64=8目录项,254个目录项需要32个盘块,查找一个文件的平均访问的盘块数:(1+32)/2=16.5次; 采用分解法后,一个盘块存放5l2/10=51目录项,254个目录项需要5个盘块,查找一个文件的第1部分平均访问的盘块数:(1+5)/2=3次;查找第2部分需要访问磁盘1次,故查找一个文件控制块的平均访问磁盘次数是314次。(2)访问磁盘次数减少的条件为:(n1)/2(m1

温馨提示

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

评论

0/150

提交评论