1第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个一次间接块的块号,而这些一次间接块被用来登记分配给文件的第n+k块到第n+k+k2-1块的块号;三次间接地址中则登记有一个三次间接块的块号,其中可给出k个二次间接块的块号,这些二次间接块有可给出k2个一个间接块的块号,而这些一次间接块则用来登记分配给文件的第n+k+k2块到n+k+k2+k3-1块的物理块号。则该系统中一个文件的最大长度是:4K×(10+1K+1K×1K+1K×1K×1K)=40K+4M+4G+4T【例5】什么是文件控制块?文件控制块中包含哪些信息?答:文件系统在创建每个文件时设置用于文件描述和文件控制的数据结构,它与文件一一对2应,称为文件说明或文件控制块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块,应如何处理?01234567891011121314150111111111111111111111111111111111211011111111111113111111011110111140000000000000000536答:(1)为某文件分配两个盘块的过程如下:顺序检索位示图,从中找到第一个值为0的二进制位,得到其行号i1=2,列号j1=2;第二个值为0的二进制位,得到其行号i2=3,列号j2=6。计算出找到的两个空闲块的盘块号分别为:b1=i1×16+j1+1=2×16+2+1=35b1=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、多级目录结构8.在多级目录结构中,要访问一个文件时,必须指出文件的()。A、父目录B、当前目录4C、路径名D、根目录9.逻辑文件是由()确定的文件组织形式(即文件结构)。A、外部设备B、虚拟存储C、绝对地址空间D、用户按对信息处理要求10.存储设备与存储器之间进行信息交换的物理单位是()。A、卷B、块C、文件D、记录11.逻辑文件中逻辑记录的长度由()因素决定。A、文件的性质B、存储介质的分块C、文件的长度D、主存块的大小12.文件系统是指()A、文件的集合B、文件的目录C、实现文件管理的一组软件D、文件、文件管理文件的软件及数据结构的总体13.从用户的角度看,引入文件系统的主要目的是()A、实现虚拟存储B、保存系统文档C、保存拥护和系统文档D、实现对文件的按名存取14.文件系统中用()管理文件A、作业控制块B、外页表C、目录D、软硬件结合的方法15.为了解决不同用户文件的“命名冲突”问题,通常在文件系统中采用()A、约定方法B、多级目录C、路径D、索引16.磁盘上的文件以()为单位读写A、块B、记录C、柱面D、磁道17.磁带上的文件一般只能()A、顺序存取B、随机存取C、按键存取D、按字节为单位存取18.使用文件前必须先()文件A、命名B、打开C、建立D、备份二、多项选择题1.关于一级目录结构说法正确的是()。A、一级目录结构是最简单的目录结构B、所有的文件都登记在同一个文件目录中C、一级目录结构简单,管理复杂D、一级目录不支持文件重名E、容易实现文件共享2.关于二级目录结构说法正确的是()。A、二级目录第一级为主文件目录,主文件目录以文件名为索引B、第二级目录为用户文件目录,用户文件目录为本用户每一个文件设置一个目录项C、二级目录结构复杂,管理简单D、二级目录支持文件重名E、容易实现文件共享53.树形目录的优点有()。A、解决了重名问题B、有利于文件的分类C、提高检索文件的速度D、能进行存取权限的控制E、管理简单,容易实现4.下列文件中不属于物理文件的是()。A、连续文件B、链接文件C、记录式文件D、索引文件E、流式文件5.顺序结构文件的特点是()。A、磁盘存储空间的利用率不高B、便于用户户扩充文件C、存储空间不必连续D、便于随机存取E、存取信息速度快6.文件的保密是指防止他人窃取文件,采用()方法实现文件保密。A、定时转储B、建立副本C、为文件设置口令D、规定文件使用权限E、将文件译成密文三、问答题:1.假定某文件系统把文件存储到磁盘上时采用链接结构,磁盘的块大小为512个字符,逻辑记录的大小为48个字符,回答下列问题:①一个逻辑记录占用一个物理块,磁盘空间的利用率如何?②怎样才能有效地利用磁盘空间?若记录不能跨块,磁盘空间利用率最大可达多少?3.假定某文件系统把文件存储到磁盘上时采用链接结构,磁盘的块大小为512个字符,而逻辑记录的大小为250个字符。现有一个名为ABC的文件,共10个逻辑记录,回答下列问题:①怎样才能有效地利用磁盘空间?②画出文件ABC在磁盘上的链接结构(磁盘块号自定)。③若用户要求查找包含第1452个字符的逻辑记录,请写出完成用户要求的主要步骤。4.有一个可以带2个终端的计算机系统,该系统配置了一个磁盘用来存储终端用户的程序和数据。今有2个用户,他们在各自的终端上键入数据并都存储在磁盘上,并且文件名均为abc,请问系统应该采用怎样的目录结构才能区别这些文件,并画出这个目录结构。5.假定有一个磁盘3200个磁盘块(每个磁盘块为512字节)可用来存储信息,如果用字长为16位的字来构造位示图,若位示图部分内容如下:0位1位2位3位4位5位6位7位8位9位10位11位12位13位14位15位0字11111111111111111字11101110000111112字1111000011100110…………………请问:①位示图共需多少个字?②若某文件长度为3200字节,采用链接结构,系统将为它分配哪些磁盘块?6.UNIX系统采用空闲块成组