当前位置:文档之家› 操作系统第五章练习题与答案

操作系统第五章练习题与答案

操作系统第五章练习题与答案
操作系统第五章练习题与答案

1.下面的 B 不是文件的存储结构。

A.索引文件 B.记录式文件

C.串联文件 D.连续文件

2.有一磁盘,共有10个柱面,每个柱面20个磁道,每个盘面分成

16个扇区。采用位示图对其存储空间进行管理。如果字长是16个二

进制位,那么位示图共需 A 字。

A.200 B.128 C.256 D.100

3.操作系统为每一个文件开辟一个存储区,在它的里面记录着该文件

的有关信息。这就是所谓的 B 。

A.进程控制块 B.文件控制块

C.设备控制块 D.作业控制块

4.文件控制块的英文缩写符号是 C 。

A.PCB B.DCB C.FCB D.JCB

5.一个文件的绝对路径名总是以 C 打头。

A.磁盘名 B.字符串 C.分隔符 D.文件名

6.一个文件的绝对路径名是从B 开始,逐步沿着每一级子目录向下,最后到达指定文件的整个通路上所有子目录名组成的一个字符串。

A.当前目录 B.根目录

C.多级目录 D.二级目录

7.从用户的角度看,引入文件系统的主要目的是 D 。

A.实现虚拟存储 B.保存用户和系统文档

C.保存系统文档 D.实现对文件的按名存取

8.按文件的逻辑结构划分,文件主要有两类: A 。

A.流式文件和记录式文件 B.索引文件和随机文件

C.永久文件和临时文件 D.只读文件和读写文件

9.位示图用于 B 。

A.文件目录的查找 B.磁盘空间的管理

C.主存空间的共享 D.文件的保护和保密

10.用户可以通过调用 C 文件操作,来归还文件的使用权。

A.建立 B.打开 C.关闭 D.删除

三、问答

1.试说出MS-DOS或Windows对文件名的命名规则。举几个例子,

说明哪个文件名起得是对的,哪个文件名起得是不符合命名规则的。答:例如MS-DOS,它的文件名由两部分组成:文件名和扩展名。文

件名由1~8个字符组成;在文件名的后面,可以跟随扩展名(可选)。扩展名总是以一个点开始,然后是1~3个字符。组成文件名和扩展名

的字符可以如下。

英文字母:A~Z,a~z,共52个(不区分大小写)。

数字符号:0~9。

特殊符号:$、#、&、@等。

不能使用的字符有*、?等。

例如:

test.txt abc.obj

等都是正确的文件名;而:

abcdefhgijk.txty

是不正确的文件名。

对于Windows,文件名最多可以有256个字符,其他与MS-DOS类同。

2.试说出在MS-DOS里打印机的文件名。举一个包含有这个名字的MS-DOS命令,它的含义是什么?

答:在MS-DOS里,可以把打印机视为只写文件来处理,这时打印机的文件名是:PRN。例如命令:

COPY \USER\FILE1 PRN

表明是把文件“\USER\FILE1”拷贝到文件PRN,也就是把文件

“\USER\FILE1”在打印机上打印出来。

3.为什么位示图法适用于分页式存储管理和对磁盘存储空间的管理?如果在存储管理中采用可变分区存储管理方案,也能采用位示图法来管理空闲区吗?为什么?

答:无论是分页式存储管理还是磁盘存储空间的管理,它们面对的管理对象——存储块(内存块或磁盘块)的数量,在系统的运行过程中是固定不变的。因此,可以很方便地用相同数量的二进制位来对应管

理它们。但如果在存储管理中采用可变分区存储管理方案,那么在系

统运行时,分区的数目是变化的。因此,也就无法用位示图法来管理

这些分区的使用情况。

4.有些操作系统提供系统调用命令RENAME给文件重新命名。同样,也可以通过把一个文件复制到一个新文件、然后删除旧文件的方法达

到给文件重新命名的目的。试问这两种做法有何不同?

答:使用RENAME命令给文件重新命名时,用户要提供两个参数:旧文件名,新文件名。RENAME命令将根据旧文件名找到文件的目录项,把里面登记的旧文件名改为新文件名。所以,文件重新命名的功能就

是修改该文件目录里的文件名,其他特性不变。

后一种方法是先对文件进行复制,为其起一个新的名字,然后再删除

旧的文件。这时,复制过程犹如创建一个文件,新文件除了名字与以

前不同外,文件的某些特性也改变了,例如存放的地址不同了。所以,采用这种方法虽然也能够达到给文件重新命名的目的,但显得要比前

一种方法复杂一些。

5.“文件目录”和“目录文件”有何不同?

答:“文件目录”是指一个文件的目录项,里面存放着文件的有关数据信息。“目录文件”则是指如果文件很多,那么文件目录项的数量也就很多。为此,操作系统经常把这些目录项汇集在一起,作为一个文件来加以

管理,这就是所谓的“目录文件”。因此,“文件目录”和“目录文件”是两

个不同的概念,不能混为一谈。

6.一个文件的绝对路径名和相对路径名有何不同?

答:在树型目录结构中,用户要访问一个文件,必须使用文件的路径名来标识文件。从根目录出发、一直到所要访问的文件,将所经过的目录名字用分隔符连接起来,所形成的字符串,就是该文件的绝对路径名。如果是从当前目录出发,一直到所要访问的文件,将所经过的目录名字用分隔符连接起来,所形成的字符串,就是该文件的相对路径名。可以看出,绝对路径名是文件的全名,必须从根目录开始。所以,一个文件的绝对路径名是惟一的。相对路径名总是从当前目录往下,所以文件的相对路径名与当前位置有关,是不惟一的。

7.试述“创建文件”与“打开文件”两个系统调用在功能上的不同之处。答:所谓“创建文件”,表示原先该文件并不存在。所以创建文件时,最主要的功能是在磁盘上为其开辟存储空间,建立起该文件的FCB。文件创建后,有了它的FCB,系统才真正感知到它的存在;“打开文件”是这个文件已经存在,只是它的有关信息不在内存。因此,打开文件最主要的功能是把该文件FCB中的信息复制到内存中,以便为随后对文件的操作带来便利。

8.试述“删除文件”与“关闭文件”两个系统调用在功能上的不同之处。答:“删除文件”最主要的功能是把该文件的FCB收回。文件没有了FCB,系统也就无法感知到它的存在了。所以,在执行了删除文件的命令后,这个文件就在系统里消失了;而“关闭文件”最主要的功能是把复制到内存活动目录表里的该文件的FCB信息取消。这样一来,在内存活动目录表里没有了该文件的信息,就不能够对这个文件进行读、写了。所以,关闭一个文件后,这个文件还存在,只是不能对它操作了。如果要操作,就必须再次将它打开(即把FCB里的信息复制到内存的活动目录表),然后再进行操作。

9.为什么在使用文件之前,总是先将其打开后再用?

答:有关文件的信息都存放在该文件的FCB里,只有找到文件的FCB,才能获得它的一切信息。但FCB是在磁盘里。因此,只要对文件进行

操作,就要到磁盘里去找它的FCB。这种做法,无疑影响了文件操作

的执行速度。正因为如此,操作系统才考虑在对文件进行操作前,先

将其打开,把文件的FCB内容复制到内存中来。这样,查找文件的FCB,就不必每次都要去访问磁盘。

10.如果一个文件系统没有提供显式的打开命令(即没有OPEN命令),但又希望有打开的功能,以便在使用文件时能减少与磁盘的交

往次数。那么应该把这一功能安排在哪个系统调用里合适?如何安排?答:文件系统中设置打开命令的根本目的,是减少文件操作时与磁盘

的交往次数。如果系统没有提供显式的打开命令,但又要能减少与磁

盘的交往次数,那么只需把这一功能安排在读或写系统调用命令里。

这时,在读、写命令功能前面添加这样的处理:总是先到内存的活动

目录表里查找该文件的FCB。如果找到,则表明在此前文件已经被打开,于是就可以立即进行所需要的读、写操作;如果没有找到,那么

表明在此前文件还没有打开。于是应该先按照文件名,到磁盘上去查

找该文件的FCB,把它复制到内存的活动目录表里,然后再进行对它

的操作。

四、计算

1.我们知道,可以用位示图法或成组链接法来管理磁盘空间。假定表

示一个磁盘地址需要D个二进制位,一个磁盘共有B块,其中有F块

空闲。在什么条件下,成组链接法占用的存储空间少于位示图?

解:依题意,该磁盘共有B块,这意味采用位示图法来管理磁盘空间时,共需要B个二进制位构成位示图的存储空间;另一方面,现在共有F个空闲块,而表示一个磁盘地址(即一个空闲块)需要D个二进制位。所以在当前条件下,用成组链接法来管理磁盘空间中的F个空闲块时,要用F×D个二进制位的存储空间来管理它们。因此,只要题中所给的D、B、F三者之间满足关系:

B>F×D

就可以保证使用成组链接法占用的存储空间少于位示图。

2.假定磁带的存储密度为每英寸800个字符,每个逻辑记录长为160个字符,记录间隙为0.6英寸。现在有1000个逻辑记录需要存储到磁带上。分别回答:

(1)不采用记录成组技术,这时磁带存储空间的利用率是多少?

(2)采用以5个逻辑记录为一组的成组技术进行存放,这时磁带存储空间的利用率是多少?

(3)若希望磁带存储空间的利用率大于50%,应该多少个逻辑记录为一组?

解:(1)如果不采用记录成组技术,存放一个逻辑记录,就要有一个记录间隙。因为磁带的存储密度为每英寸800个字符,每个逻辑记录长为160个字符。所以一个逻辑记录占用的磁带长度是:

160/800=0.2(英寸)

一个记录间隙所需要的磁带长度为0.6英寸。所以,磁带存储空间的利用率是:

0.2/(0.2+0.6)=0.25=25%

(2)采用以5个逻辑记录为一组的成组技术进行存放,表示存放5个逻辑记录后,有一个记录间隙。5个逻辑记录占用的磁带长度是:

0.2×5=1(英寸)

这时一个记录间隙所需要的磁带长度仍为0.6英寸。所以,这时磁带存储空间的利用率是:

1/(1+0.6)=0.625=62.5%

(3)若希望磁带存储空间的利用率大于50%,假定应该x个逻辑记录为一组。这就是说,存放x个逻辑记录后,有一个记录间隙。x个逻辑记录占用的磁带长度是:0.2×x(英寸);这时一个记录间隙所需要的磁带长度仍为0.6英寸。所以,磁带存储空间的利用率是:

x/(x+0.6)=0.5

解这个一元一次方程式,x=3。也就是说,当把3个以上的逻辑记录组成一组时,磁带存储空间的利用率将大于50%。

3.假定有一个名为MYFILE的文件,共有10个逻辑记录,每个逻辑记录长为250个字节。磁盘块尺寸为512字节,磁盘地址需要2个字节表示。把MYFILE采用链接结构存储在磁盘上。

(1)画出该文件在磁盘上的链接结构图(磁盘块号自定)。

(2)现在用户要读文件上包含第1425个字符的逻辑记录。给出完成这一请求的主要工作步骤。

解:(1)由于每个逻辑记录长为250个字节,磁盘块尺寸为512字节。所以,每个磁盘块里可以存放两个逻辑记录,余下的字节用于存放指针,文件总共需要5块。假定系统分配给该文件的磁盘块号是:25、33、10、56、4。

(2)首先要知道包含第1425字节的逻辑记录应该放在链接结构的第几块。因为一个逻辑记录是250个字节,2个逻辑记录放在一个磁盘块里。所以

1425/(250×2)=2(“/”表示整除运算)

即包含第1425字节的逻辑记录应该放在链接结构的第3块(注意,由于是用整除,所以第1块应该是0)。

其次,文件系统沿着指针,把第3块(也就是块号为56的块)读入内存缓冲区中。

最后,由

1425%(250×2)=425 (“%”表示求余运算)

250×1<425<250×2

所以把缓冲区里的第2个记录读到用户指定的内存区里。

相关主题
文本预览
相关文档 最新文档