操作系统第七、八章习题

文件管理课后作业(含78章)

一、简答题:

1.什么是文件?它包含哪些类型及特点?

答:是一个具有文件名的一组相关信息的结合。

文件包含的类型有:文件类型按不同划分方式有不同的类型,主要有源程序、二进制代码、文本文档、数据、表格、声音和图像等(也可以举例列出不同方式的分类)。

    文件的特点如下:  

       (1)文件具有保存性,它被存储在某种存储介质上,长期保存和多次使用。 

       (2)文件是按名存取的,每个文件具有惟一的标识名,通过标识名(文件名)来存取文   件中的信息,而不需了解文件在存储介质上的具体物理位置。

       (3)文件的内容是一组信息的集合,信息可以是源程序、二进制代码、文本文档、数   据、表格、声音和图像等。

2.什么是文件的逻辑结构?它有哪几种组织方式?

答:文件的逻辑结构是用户可见的结构,是信息的组织方式。组织方式分为:一种是无结构的流式文件,是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。一种是有结构的记录式文件, 是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。

3.什么是文件系统,文件系统的主要功能包括哪些?

答:文件系统是文件和对文件进行操纵和管理的软件集合。文件系统功能包括:文件目录管理, 文件存储空间管理, 文件的共享、保护和保密,文件的读写管理等。

4. 目前广泛采用的目录结构是哪种?它有什么优点?

答:目前广泛采用的目录结构是多级树形目录结构,它具有以下优点:

(1)能有效地提高对目录的检索速度。假定文件系统中有N个文件,在单级目录中,最多要检索N个目录项;但对有i级的树形目录,在目录中每检索一指定的文件,最多可能要检索到近i×iN项。

(2)允许文件重名。由于在树形结构的文件系统中,是利用文件路径名来检索文件的,故允许每个用户在自己的分目录中使用与其他用户文件相同的名字。

(3)便于实现文件共享。在树形目录中,用户可通过路径名来共享他人的文件;也可将一共享文件链接到自己的目录下,从而使文件的共享变得更为方便,其实现方式也非常简单,系统只需在用户的目录文件中增设一目录项,填上用户赋予该共享文件的新文件名,以及该共享文件的惟一标识符(或索引结点编号)即可。

5、什么是文件的物理结构?它有哪几种组织方式?

答:文件的物理结构是指逻辑文件在物理存储空间中的存放方法和组织关系。其主要组织方式:

(1)连续组织方式:将文件中逻辑上连续的信息存放到存储介质的依次向另的块中便形成顺序结构,这类文件叫顺序文件,又称连续文件。

(2)链接组织方式:使用指针来表示文件中各个记录之间的关系,文件信息存放在外存的若干个物理块中,第一块文件信息的物理地址由文件目录给出,而每一块的指针指出了文件的下一个物理块位置。通常,指针内容为0时,表示文件至本块结束。

(3)索引组织方式:系统为每个文件建立了一张索引表,其中,每个表目包含一个记录的键(或逻辑记录号)及其记录数据的存储地址,存储地址可以是记录的物理地址,也可是记录的符号地址,这种类型的文件称索引文件。索引表的地址可由文件目录指出,查阅索引表先找到的是相应记录键(或逻辑记录号),然后,获得数据存储地址。

二、综合题:

6. 一个文件的逻辑记录大小为125字节,共有20个逻辑记录,文件系统采用链接方式将这个文件存储到磁盘上,磁盘分块大小为512字节,请问:

 (1)采用什么方法可有效地利用磁盘空间?

 (2)若用户要读包含第l285字节的逻辑记录,文件系统将如何工作?

答:(1)可采用记录的成组方法,因[512/125]=4,所以成组的逻辑记录个数应为4。20个逻辑记录共需要5个存储块(0—4)。

(2)首先,由[1285/(125x 4)]=2,可知包含1285字节的逻辑记录在链接结构的2号块(即第3块上),将该块读入主存缓冲区;然后由l285 mod (125x 4)=285,且[285/125]=2,可知文件系统从主存缓冲区中取出2号记录(第3个记录)的第35个字节传输给用户即可。

       (注意:记录号和存储块号都是从0开始排序的。)

7. 在放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第09个地址项为直接地址,第11个地址项让车一次间接地址,第12个地址项为二次间接地址,第13个地址项为三次间接地址。如果每个盘块的大小为512字节,若盘块号需要用3个字节来描述,而每个盘块最多存放170个盘块地址:

1)该文件系统允许文件的最大长度是多少?

2)将文件的字节偏移量500015000150000转换为物理块号和块内偏移量。

答:

(1)该文件系统中一个文件的最大长度可达:

0.5KB*(10+170+170*170+170*170*170)=4942080*0.5KB=2471040KB=2.356GB

(2)5000/512得到商为9,余数为392,即字节偏移量5000对应用的逻辑块号为9,块内偏移量为392。由于9<10,故可直接从该文件的FCB的第10个地址项处得到物理盘块号,块内偏移量为392。

15000/512得到商为29,余数为152即字节偏移量15000对应的逻辑块号为29,块内偏移量为152。由于10<29<10+170,而29-10=19,故可从FCB的第11个地址项,即一次间址项中得到一次间址块的地址;并从一次间址块的第20项(即该块的第57~59这3个字节)中获得对应的物理盘块号,块内偏移量为152。

150000/512得到商为292,余数为496。即字节偏移量150000对应的逻辑块号为292,块内偏移量为496。由于10+170<292<10+170+170*170,而292-10-170=112,故可从FCB的第12个地址项,即二次间址项中得到二次间址块的地址;并从二次间址块的第1项中(即该块的第0~2这3个字节)获得一个一次间址块的地址,再从该一次间址块的第113项(即该块的第336~338这3个字节)中获得对应的物理盘块号,块内偏移量为496。

8. 有一个计算机系统利用如图所示的位示图(行号、列号都从0开始编号)来管理空闲盘块。如果盘块从1开始编号,每个盘块的大小为1KB

1)现要为文件分配两个盘块,试具体说明分配过程。

2)若要释放磁盘的第300块,应如何处理?

答:(1)为某文件分配两个盘块的过程如下:

  第一、顺序检索位示图,从中找到第一个值为0的二进制位,得到其行号为i1=2,列号为j1=2;第二个值为0的二进制位,得到其行号为i2=3,列号j2=6。

第二、计算出找到的两个空闲块的盘块号分别分:

B1=i1*16+j1+1=2*16+2+1=35

B2=i2*16+j2+1=3*16+6+1=55

第三、修改位示图,令map[2,2]=1,map[3,6]=1,并将对应块35、55分配出去。

(2)释放磁盘的第300块时,应进行如下处理:

第一、计算出磁盘第300块所对应的二进制位的行号i和列号j:

        i=(300-1)DIV16=18      j=(300-1)MOD16=11

第二、修改位示图,令:map[18,11]=0,表示对应块为空闲块。