第6章 文件管理
6.1 典型例题解析
【例1】什么是文件?什么是文件系统?
答:文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识。文件具有三个基本特征:文件的内容为一组相关信息、文件具有保存性、文件可按名存取。矚慫润厲钐瘗睞枥庑赖。 文件系统是操作系统中负责管理和存取文件的程序模块,也称为信息管理系统。它是由管理文件所需的数据结构(如文件控制块、存储分配表)和相应的管理软件以及访问文件的一组操作所组成。聞創沟燴鐺險爱氇谴净。 【例2】什么是文件的物理结构和逻辑结构? 答:文件的逻辑结构是从用户观点出发所看到的文件组织形式,是用户可以直接处理的数据及其结构。文件的逻辑结构有两种形式:有结构的记录文件和无结构的流式文件。残骛楼諍锩瀨濟溆塹籟。 文件的物理结构是指文件在外存上的存储组织形式。文件的物理结构有三种形式:顺序结构、链接结构和索引结构。酽锕极額閉镇桧猪訣锥。 【例3】假定盘块的大小为1KB,硬盘的大小为500MB,采用显示链接分配方式时,其FAT需要占用多少存储空间?彈贸摄尔霁毙攬砖卤庑。 答:FAT的每个表项对应于磁盘的一个盘块,其中用来存放分配给文件的下一个盘块的块号,故FAT的表项数目由物理盘块数决定,而表项的长度则由磁盘系统的最大盘块号决定(即它必须能存放最大的盘块号)。为了地址转换的方便,FAT表项的长度通常取半个字节的整数倍,所以必要时还必须由最大盘块号获得的FAT表项长度作一些调整。謀荞抟箧飆鐸怼类蒋薔。 由题意可知,该硬盘共有500K个盘块,故FAT中共有500K个表项;如果盘块从1开始编号,为了能保存最大的盘块号500K,该FAT表项最少需要19位,将它扩展为半个字节的整数倍后,可知每个FAT表项需20位,即2.5个字节。因此,FAT需占用的存储空间的大小为:厦礴恳蹒骈時盡继價骚。 2.5×500K=1250KB
【例4】存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。如果每个盘块的大小为4K字节,若盘块号需要用4个字节来描述,请问该系统中允许的文件的最大长度是多少?茕桢广鳓鯡选块网羈泪。 答:由题意可得,每个盘块最多存放4K/4=1K个盘块地址。
在混合索引分配方式中,文件的FCB的直接地址中登记有分配给文件的前n块(0到n-1)的物理块号(本题中为10);一次间接地址中登记有一个一次间接块的块号,而在一次间接块中则登记有分配给文件的第n到第n+k-1块的块号(本题中k的值为1k);二次间接地址中登记有一个二次间接块的块号,其中可给出k个一次间接块的块号,而这些一次
2
间接块被用来登记分配给文件的第n+k块到第n+k+k-1块的块号;三次间接地址中则登记有一个三次间接块的块号,其中可给出k个二次间接块的块号,这些二次间接块有可给出k2个一个间接块的块号,而这些一次间接块则用来登记分配给文件的第n+k+k2块到n+k+k2+k3-1块的物理块号。鹅娅尽損鹌惨歷茏鴛賴。 则该系统中一个文件的最大长度是:
4K×(10+1K+1K×1K+1K×1K×1K)=40K +4M +4G +4T 【例5】什么是文件控制块?文件控制块中包含哪些信息?
1
答:文件系统在创建每个文件时设置用于文件描述和文件控制的数据结构,它与文件一一对应,称为文件说明或文件控制块FCB。它是随着文件的建立而诞生,随着文件的删除而消失,某些内容随着文件的使用而动态改变。一般文件控制块应包括如下三类内容:籟丛妈羥为贍偾蛏练淨。 ⑴有关文件存取控制的信息。例如,用户名、文件名、文件类型、文件属性。
⑵有关文件结构的信息。例如,文件的逻辑结构、文件的物理结构、记录个数、文件在存储介质上的位置等。
⑶有关文件管理的信息。例如,文件的建立日期、文件被修改的日期、文件保留期限和记帐信息等。
【例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次,故查找一个文件控制块的平均访问磁盘次数是3+1=4次。贓熱俣阃歲匱阊邺镓騷。 (2)访问磁盘次数减少的条件为: (n+1)/2>(m+1)/2+1 即 m<n-2
【例7】目前最广泛采用的目录结构是哪种?它有什么优点?
答:目前广泛采用的目录结构是多级树形目录结构。它具有以下优点:
多级目录解决了重名问题,同一目录中的各文件名不能同名,但在不同目录中的文件名可以相同。
多级目录有利于文件的分类。文件是若干有意义的相互关联的信息的集合,信息本身就具有某种层次关系的属性,树型目录结构能确切地反映这些层次关系。可以把某些具有相同性质的文件安排在同一个子目录下,使用文件更加方便。坛摶乡囂忏蒌鍥铃氈淚。 多级目录的层次结构关系便于制定保护文件的存取权限,有利于文件的保密。并且便于实现文件的共享。
【例8】有一计算机系统采用如下图所示的位示图(行号、列号都从0开始编号)来管理空闲盘块。如果盘块从1开始编号,每个盘块的大小为1KB。蜡變黲癟報伥铉锚鈰赘。 (1)现要为文件分配两个盘块,试具体说明分配过程。 (2)若要释放磁盘的第300块,应如何处理? 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 答:(1)为某文件分配两个盘块的过程如下: 顺序检索位示图,从中找到第一个值为0的二进制位,得到其行号i1=2,列号j1=2;第二个值为0的二进制位,得到其行号i2=3,列号j2=6。買鲷鴯譖昙膚遙闫撷凄。 计算出找到的两个空闲块的盘块号分别为: b1=i1×16+j1+1=2×16+2+1=35 b1=i2×16+j2+1=3×16+6+1=55 修改位示图,令Map[2,2]=Map[3,6]=1,并将对应块35、55分配出去。 (2)释放磁盘的第300块时,应进行如下处理: 计算出磁盘第300块所对应的二进制位的行号i和列号j: i=(300-1)/16=18,j=(300-1)% 16=11 修改位示图,令Map[18,11]=0,表示对应块为空闲块。
【例9】设某系统磁盘共有1600块,块号从0~1599,若用位示图管理这1600块的磁盘空间,问位示图需要多少个字节?綾镝鯛駕櫬鹕踪韦辚糴。 答:在位示图中,用1位二进制数描述1个磁盘块的状态。1600个磁盘块共需要1600位二进制数,每个字节长为8位,位示图需要:驅踬髏彦浃绥譎饴憂锦。 1600/8=200(字节)
6.2 练习题及答案
一、单项选择
1.位示图可用于( )。
A、从磁盘空间的分配和回收 B、页式虚存中的页面置换 C、固定分区的存储管理 D、动态分区存储管理中空闲区的分配回收 2.逻辑文件存放在磁带上应组织成( )。
A、索引文许 B、直接文件 C、顺序文件 D、链接文件
3.UNIX操作系统中,对磁盘存储空间的空闲块进行管理时采用( ) A、位示图 B、空闲块成组链接法 C、FAT表 D、空闲块多级目录法 4.防止系统故障造成破坏,文件系统可以采用( )。 A、建立副本和定时转储 B、对每个文件规定使用权限 C、为文件设置口令 D、把文件信息翻译成密文 5.对随机存取的文件只能在磁盘上组织成( )。 A、顺序文件 B、索引文件 C、连续文件 D、链接文件 6.下列文件全属于物理文件的是( )。 A、流式文件、串联文件 B、索引文件、记录式文件 C、流式文件、记录式文件 D、顺序文件、索引文件 7.最简单的文件目录是( )。 A、最末一个结点是文件 B、容易实现“按名存取” C、一级目录结构 D、多级目录结构
3