操作系统期末复习题答案 下载本文

第2章 进程管理 15

第1章 操作系统引论

一、单项选择题

1.操作系统是一种________。

A.通用软件 =B. 系统软件 C.应用软件 D. 软件包

2.操作系统的________管理部分负责对进程进行调度。

A.主存储器 B. 控制器 C.运算器 =D. 处理机 3.操作系统是对________进行管理的软件。

A.软件 B. 硬件

=C.计算机资源 D. 应用程序

4.从用户的观点看,操作系统是________。

=A.用户与计算机之间的接口 B.控制和管理计算机资源的软件

C.合理地组织计算机工作流程的软件

D.由若干层次的程序按一定的结构组成的有机体

5.操作系统的功能是进行处理机管理、________管理、设备管理及信息管理。

A.进程 =B. 存储器 C.硬件 D. 软件

6.操作系统中采用多道程序设计技术提高CPU和外部设备的________。

=A.利用率 B. 可靠性 C.稳定性 D. 兼容性 7.操作系统的基本类型主要有________。

A.批处理系统、分时系统及多任务系统

=B.实时操作系统、批处理操作系统及分时操作系统 C.单用户系统、多用户系统及批处理系统 D.实时系统、分时系统和多用户系统 8.windows95 是() 操作系统。

A.多用户 =B.多任务 C.网络

9.下面关于操作系统的叙述中正确的是________。

=A.批处理作业必须具有作业控制信息。 B.分时系统不一定都具有人机交互功能。

C.从响应时间的角度看,实时系统与分时系统差不多。

16 操作系统习题与解析

D.由于采用了分时技术,用户可以独占计算机的资源。

10.在________操作系统控制下,计算机系统能及时处理由过程控制反馈的数据并做出响应。

=A.实时 B. 分时 C.分布式 D. 单用户

二、填空题

1.操作系统的基本功能包括 ① 管理、 ② 管理、 ③ 管理、 ④ 管

理。除此之外还为用户使用操作系统提供了用户接口。

2.如果操作系统具有很强的交互性,可同时供多个用户使用,但时间响应不太及时,则属于 分时 类型;如果操作系统可靠,时间响应及时但仅有简单的交互能力则属于 实时 类型;如果操作系统在用户提交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于 批处理 类型。 3.采用多道程序设计技术能充分发挥 处理器 与 外设 并行工作的能力。

4.操作系统是计算机系统的一种系统软件,它以尽量合理、有效的方式组织和管理计算机的__资源______,并控制程序的运行,使整个计算机系统能高效地运行。

5.按内存中同时运行程序的数目可以将批处理系统分为两类: ①单道批处理 和 ② 多道批处理 。

6.并发和__共享__是操作系统的两个最基本的特征,两者之间互为存在条件。 三、问答题

1、OS的作用可表现在哪几个方面?

2、什么是操作系统,它的基本特征是什么?简述它的主要功能?

3、试在交互性、及时性、可靠性方面,将分时系统和实时系统进行比较。 4、处理机管理有那些主要功能?它们的主要任务是什么? 5、内存管理有那些主要功能?它们的主要任务是什么? 6、传统的三种操作系统各有什么优缺点? 复习题一补充:

A 1.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的()和方便用户使用计算机而配备的一 系统软件。

A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是 2.操作系统是一组( C)程序。

A.文件管理B.中断处理C.资源管理D.设备管理 3.用户要在程序获得系统帮助,必须通过(D )。 A.进程调度B.作业调度 C.键盘命令 D.系统调用

第2章 进程管理 17

4.批处理系统的主要缺点是( B )。

A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是 5.DOS操作系统主要功能是( A )。

A.文件管理程序B.中断处理程序C.作业管理程序D.打印管理程序 6.计算机操作系统的功能是( D )。 A.把源程序代码转换为标准代码 B.实现计算机用户之间的相互交流 C.完成计算机硬件与软件之间的转换

D.控制、管理计算机系统的资源和程序的执行 B 7.操作系统的基本类型主要有( B)。 A.批处理系统、分时系统及多任务系统

B.实时操作系统、批处理操作系统及分时操作系统 C.单用户系统、多用户系及批处理系统 D.实时系统、分时系统和多用户系统

B 8.所谓()是指将一个以上的作业放入主存,并且同时准备运行,这些作业共享处理机的时间和外围设备等其他资源。

A.多重处理B.多道程序设计C.实时处理D.共行执行

C 9.()操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络B.分布式C.分时D.实时

B 10.如果分时操作系统的时间片一定,那么()则响应时间越长。 A.用户数越少B.用户数越多C.内存越少 D.内存越多 B 11.分时操作系统通常采用()策略为用户服务。

A.可靠性和灵活性B.时间片轮转C.时间片加权分配 D.短作业优先

A 12.在()操作系统控制下,计算机系统能及时处理由过程控制反馈的数据并作出响应。

A.实时B.分时C.分布式D.单用户

B 13.设计实时操作系统时,首先应考虑系统的()。

A.可靠性和灵活性B.实时性和可靠性C.灵活性和可靠性D.优良性和分配性 D 14.若把操作系统看作计算机系统资源的管理者,下列的()不属于操作系统所管理的资源。

A.程序 B.内存 C.CPU D.中断

A 15.在下列操作系统的各个功能组成部分中,( )不需要硬件的支持。 A.进程调度B.时钟管理C.地址映射D.中断系统 1.什么是操作系统的基本功能?

答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。

18 操作系统习题与解析

2.什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。 分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。

实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。

3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别? 答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。 4.讨论操作系统可以从哪些角度出发,如何把它们统一起来?

答:讨论操作系统可以从以下角度出发: (1)操作系统是计算机资源的管理者; (2)操作系统为用户提供使用计算机的界面; (3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统)站在不同的角度来看待。每一种观点都有助于理解、分析和设计操作系统。

第2章 进程控制与同步

一、单项选择题

1. 在进程管理中,当________时,进程从阻塞状态变为就绪状态。 A. 进程被进程调度程序选中 B. 等待某一事件 =C. 等待的事件发生 D. 时间片用完 2. 分配到必要的资源并获得处理机时的进程状态是________。 A. 就绪状态 =B. 执行状态 C. 阻塞状态 D. 撤消状态 3. P、V操作是________。

=A. 两条低级进程通信原语 B. 两组不同的机器指令 C. 两条系统调用命令 D. 两条高级进程通信原语 4. 进程的并发执行是指若干个进程________。

第2章 进程管理 19

A.同时执行 = B.在执行的时间上是重叠的 C.在执行的时间上是不可重叠的 D.共享系统资源

5. 若P、V操作的信号量S初值为2,当前值为-1,则表示有________等待进程。

A. 0个 =B. 1个 C. 2个 D. 3个

6. 进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 ① d ;由运行状态变为阻塞状态的条件是 ② b. 。 A. 时间片用完 (应是由运行变为就绪) B. 等待某事件发生 C. 等待的某事件已发生 D. 被进程调度程序选中 7. 下列的进程状态变化中,________变化是不可能发生的。 A. 运行→就绪 B. 运行→等待 =C. 等待→运行 D. 等待→就绪

8. 用P、V操作管理临界区时,信号量的初值应定义为________。 A. -1 B. 0 =C. 1 D. 任意值 9. 用V操作唤醒一个等待进程时,被唤醒进程的状态变为________。 A. 等待 =B. 就绪 C. 运行 D. 完成 10. 下面对进程的描述中,错误的是________。

A. 进程是动态的概念 B. 进程执行需要处理机 C. 进程是有生命期的 =D. 进程是指令的集合 11. 进程控制就是对系统中的进程实施有效的管理,通过使用________、进程撤消、进程阻塞、进程唤酲等进程控制原语实现。

A. 进程运行 B. 进程管理 =C. 进程创建 D. 进程同步

12. 信箱通信是一种________通信方式。

A. 直接通信 =B. 间接通信 C. 低级通信 D. 信号量

13. 操作系统通过________对进程进行管理。

A. JCB = B. PCB C. DCT D. CHCT 14. 某系统的进程状态如下图所示:a是 ①b 状态,b是 ②d 状态,c是 ③c 状态。1表示 ④ b ,2表示 ⑤a ,3表示发生了等待事件,4表示等待事件结束。下列情况中,当发生前者的状态转换时, ⑥a 会导致发生后者的状态转换。

①②③:A. 挂起 B. 运行 C. 等待 D. 就绪 E. 睡眠 ④⑤: A. 落选 B. 选中 C. 等待 ⑥: A. 2→1 B. 4→2 a

3 2

1

b 4 c 20 操作系统习题与解析

15. 在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次________。

A. 等待活动 =B. 运行活动 C. 单独操作 D. 关联操作

16. 一个进程被唤醒意味着________。

A. 该进程重新占有了CPU B. 它的优先权变为最大 C. 其PCB移至等待队列队首 =D. 进程变为就绪状态 17. 下面所述步骤中,________不是创建进程所必需的。

=A.由调度程序为进程分配CPU B.建立一个进程控制块 C.为进程分配内存

D. 将进程控制块链入就绪队列

18. 多道程序环境下,操作系统分配资源以________为基本单位。 A. 程序 B. 指令 =C. 进程 D. 作业

19. 对于两个并发进程,设互斥信号量为mutex,若mutex=0,则________。

A. 表示没有进程进入临界区 =B. 表示有一个进程进入临界区

C. 表示有一个进程进入临界区,另一个进程等待进入 D. 表示有两个进程进入临界区

二、填空题

1. 进程的基本特征有 ①动态 、 ②并发 、独立、异步及结构特征。

2. 信号量的物理意义是当信号量值大于零时表示 ① 允许进入临界区 ;当信号量值小于零时,其绝对值为 ②等待进入临界区的进程数 。 3. 临界资源的概念是 ① ,而临界区是指 ② 。

4. 进程在运行过程中有三种基本状态,它们是 ① 、 ② 、 ③ 。

5. 进程主要由 ① PCB 、 ②program 、 ③data 三部分内容组成,其中 ④PCB 是进程存在的惟一标志。而 ⑤ program 部分也可以为其他进程共享。 6. 系统中各进程之间逻辑上的相互制约关系称为__同步______。

7. 对于信号量可以做 ①p 操作和 ②v 操作, ③p 操作用于阻塞进程, ④v 操作用于释放进程。程序中的 ⑤p 和 ⑥v 操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。

8. 程序顺序执行时有顺序性、__封闭性和可再现性的特点。 9. 有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1~~-(m-1)________。

10. 设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况:

第2章 进程管理 21

① 没有运行进程,有2个就绪进程,n-2个进程处于等待状态。 ② 没有运行进程, n个进程处于等待状态。

③有1个运行进程,没有就绪进程,n-1进程处于等待状态。 ④有1个运行进程,有1个就绪进程,n-2进程处于等待状态。 ⑤有1个运行进程,n-1个就绪进程,没有进程处于等待状态。

上述情况中,不可能发生的情况是__1______。

11. 下面关于进程的叙述不正确的是__1_2_3____。

① 进程申请CPU得不到满足时,其状态变为等待状态。 ②在单CPU系统中,某一时刻处于运行状态进程只有一个。 ③ 优先级是进行进程调度的重要依据,一旦确定不能改变。 ④ 进程获得处理机而运行是通过调度而实现的。

解 析 题

1. 叙述进程和程序的主要区别。

解:进程和程序是既有联系又有区别的两个概念,它们的主要区别如下: (1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态

的概念。而进程是程序在处理机上的一次执行过程,它是一个动态概念。

(2)程序的存在是永久的。而进程则是有生命期的,它因创建而产生,因

调度而执行,因得不到资源而暂停,因撤消而消亡。

(3)程序仅是指令的有序集合。而进程则由程序、数据和进程控制块组成。 (4)进程与程序之间不是一一对应的,即同一程序同时运行于若干不同

的数据集合上,它将属于若干个不同的进程;而一个进程可以执行多个程序。

2. 图2.7给出了四个进程合作完成某一任务的前趋图,试说明这四个进程间的同步关系,并用P、V操作描述它。

S1

S3 S2

S4

解:说明任务启动后S1先执行。当S1结束后,S2、S3可以开始执行。S2、S3完成后,S4才能开始执行。为了确保这一执行顺序,设三个同步信号量b2、

22 操作系统习题与解析

b3、b4分别表示进程S2、S3、S4是否可以开始执行,其初值均为0。这四个进程的同步描述如下:

int b1=0;

/* 表示进程S2是否可以开始执行 */

int b2=0;

/* 表示进程S3是否可以开始执行 */

int b3=0; int b4=0; /* 表示进程S4是否可以开始执行 */

p(b4);

┆ }

main( ) {

cobegin S1( ); S2( ); S3( ); S4( ); coend }

S1( ) {

v(b1); v(b2); }

S2( ) {

p(b1); ┆ v(b3); }

S3( ) {

p(b2); ┆ v(b4); }

S4( ) {

p(b3);

第2章 进程管理 1

3. 某系统的进程状态转换图如图所示,请说明:

执行 2 3

1

4 阻塞 就绪

(1)引起各种状态转换的典型事件有哪些?

(2)当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引

起另一进程作一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换1? (3)试说明是否会发生下述因果转换:

2 → 1 3 → 2 4 → 1

解:

(1)在本题所给的进程状态转换图中,存在四种状态转换。当进程调度程序从就

绪队列中选取一个进程投入运行时引起转换1;正在执行的进程如因时间片用完而被暂停执行就会引起转换2;正在执行的进程因等待的事件尚未发生而无法执行(如进程请求完成I/O)则会引起转换3;当进程等待的事件发生时(如I/O完成)则会引起转换4。

(2)如果就绪队列非空,则一个进程的转换3会立即引起另一个进程的转换1。这

是因为一个进程发生转换3意味着正在执行的进程由执行状态变为阻塞状态,这时处理机空闲,进程调度程序必然会从就绪队列中选取一个进程并将它投入运行,因此只要就绪队列非空,一个进程的转换3能立即引起另一个进程的转换1。

(3)所谓因果转换指的是有两个转换,一个转换的发生会引起另一个转换的发生,

前一个转换称为因,后一个转换称为果,这两个转换称为因果转换。当然这种因果关系并不是什么时候都能发生,而是在一定条件下才会发生。

2→1:当某进程发生转换2时,就必然引起另一进程的转换1。因为当发生转

换2时,正在执行的进程从执行状态变为就绪状态,进程调度程序必然会从就绪队列中选取一个进程投入运行,即发生转换1。

3→2:某个进程的转换3决不可能引起另一进程发生转换2。这是因为当前执

行进程从执行状态变为阻塞状态,不可能又从执行状态变为就绪状态。

4→1:当处理机空闲且就绪队列为空时,某一进程的转换4就会引起该进程的

转换1。因为此时处理机空闲,一旦某个进程发生转换4,就意味着有一个进程从阻塞状态变为就绪状态,因而调度程序就会将就绪队列中的此进程投入运行。

2 操作系统习题与解析

4. 在单处理机的分时系统中,分配给进程P的时间片用完后,系统进行切换,结果调度到的仍然是进程P。有可能出现上述情形吗?如果可能请说明理由。

解:有可能出现上述情况。例如,若在进程P时间片用完后,被迫回到就绪队列时,就绪队列为空,这样进程P就是就绪队列中惟一的一个进程,于是调度程序选中的进程必然是进程P;又如在按优先级调度的系统中,就绪队列按进程优先级排列,在进程P时间片用完之后回到就绪队列时,若其优先级高于当前就绪队列中的其他进程,则它将排在就绪队列之首,从而再次被调度程序选中并投入运行。

5.(北京大学1990年试题) ① 写出P、V操作的定义。

② 有三个进程PA、PB和PC合作解决文件打印问题:PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录大小。请用P、V操作来保证文件的正确打印。

解:① P、V操作是两条原语,它们的定义如下: P操作 P操作记为P(S),其中S为一信号量,它执行时主要完成下述动作:

S = S-1

若S≥0,则进程继续运行。

若S<0,则该进程被阻塞,并将它插入该信号量的等待队列中。

V操作 V操作记为V(S),S为一信号量,它执行时主要完成下述动作: S = S+1

若S>0,则进程继续执行。

若S≤0,则从信号量等待队列中移出队首进程,使其变为就绪状态。

② 在本题中,进程PA、PB、PC之间的关系为:PA与PB共用一个单缓冲区,而PB又与PC共用一个单缓冲区,其合作方式可用图2.12表示。当缓冲区1为空时,进程PA可将一个记录读入其中;若缓冲区1中有数据且缓冲区2为空,则进程PB可将记录从缓冲区1复制到缓冲区2中;若缓冲区2中有数据,则进程PC可以打印记录。在其他条件下,相应进程必须等待。事实上,这是一个生产者-消费者问题。

PA PC PB 缓冲区1 缓冲区2

复制 打印 从磁盘读入

为遵循这一同步规则。应设置四个信号量empty1、empty2、full1、full2,信号量empty1及empty2分别表示缓冲区1及缓冲区2是否为空,其初值为1;信号量full1及full2分别表示缓冲区1及缓冲区2是否有记录可供处理,其初值为0。其同步描述如下:

int empty1=1; int empty2=1; int full1=0; int full2=0;

第2章 进程管理 3

main( ) {

cobegin PA( ); PB( ); PC( ); coend }

PA( ) {

while (1) {

从磁盘读一个记录; p(empty1);

将记录存入缓冲区1; v(full1); } }

PB( ) {

while(1) {

p(full1);

从缓冲区1中取出记录; v(empty1); p(empty2);

将记录存入缓冲区2; v(full2); } }

PC( ) {

while(1) {

p(full2);

从缓冲区2中取出记录; v(empty2); 打印记录; } }

6.有一个仓库,可以存放A和B两种产品,但要求: (1)每次只能存入一种产品(A或B); (2)-N<A产品数量-B产品数量<M。

4 操作系统习题与解析

其中,N和M是正整数。试用P、V操作描述产品A与产品B的入库过程。 本题给出的第一个条件是临界资源的访问控制,可用一个互斥信号量解决该问题。第二个条件可以分解为: -N<A产品数量-B产品数量 A产品数量-B产品数量<M

也就是说,A产品的数量不能比B产品的数量少N个以上,A产品的数量不能比B产品的数量多M个以上。

解:在本题中,我们可以设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许sa个A产品入库;sb表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许sb个B产品入库。初始时,sa为M-1,sb为N-1。当往库中存放入一个A产品时,则允许存入B产品的数量也增加1;当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。

产品A、B的入库过程描述如下: int mutex=1; /*互斥信号量*/ int sa=M-1; int sb=N-1; main( ) {

while(1) {

取一个产品;

if(取的是A产品) {

p(sa); p(mutex); 将产品入库; v(mutex); v(sb); }

else /*取的产品是B*/ {

p(sb); p(mutex); 将产品入库; v(mutex); v(pa); } } }

从本题的解法可以看出,当有比较复杂条件出现时,可以把复杂条件分解成一组简单条件,这样就能很容易地写出对应的程序流程了。

第2章 进程管理 5

1.在下列叙述中,错误的一条是( )。 A.操作系统是用户与计算机之间的接口。

B.程序的并发执行,使程序失去了顺序执行时具有的封闭性和可再现性。 C. 只有处于就绪状态的进程经调度程序选中后才可进入运行状态。 =D.在单CPU的系统中,任何时刻处于就绪状态的进程有多个。

2.进程调度是从( )选择一个进程投入运行。

=A.就绪队列 B.等待队列 C.作业后备队列 D.提交队列

3.下列叙述中,正确的一条是( )。 A.分时系统中,时间片越小,响应时间越长

=B.多道程序的引入,主要是为了提高CPU及其它资源的利用率 C.飞机票机票系统是分时系统

D.PCB是进程存在的唯一标志,而程序是系统感知进程存在的唯一实体

4.一个进程被唤醒,意味着( )。

A.该进程重新占有了CPU =B.进程状态变为就绪

C.它的优先权变为最大 D.其PCB移至就绪队列的队首

5.进程和程序的本质区别是( )。

A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算计资源 =D.动态和静态特征

6.系统感知进程的唯一实体是( )。 A.JCB B.FCB =C.PCB D.SJT

7.一个进程在某一时刻具有( )。

=A.一种状态 B.二种状态 C.三种状态 D.四种状态

8.进程从运行状态变为等待的原因可能是( )。

=A.输入/输出事件发生 B.时间时刻 C.输入/输出事件完成 D.某个进程被唤醒

9.进程创建原语的主要任务是( )。

A.为进程编制程序 =B.为进程建立PCB表

C.为进程分配CPU D.为进程分配所需的各种资源

10.进程被创建后即进入( )排队。

A.阻塞队列 =B.就绪队列 C.缓冲队列 D.运行队列

6 操作系统习题与解析

1.在非剥夺调度方式下,运行进程执行V原语后,其状态()。 =A.不变 B.要变 C.可能要变 D.可能不变

2.当对信号量进行V原语操作时( )。

A.当S<0,进程继续执行 B.当S>0,要唤醒一个就绪进程 =C.当S<=0,要唤醒一个等待进程 D.当S=0,要唤醒一个等待进程

3.正在运行的进程在信号量S上操作P操作之后,当S<0,进程将进入信号量的( )。 =A.等待队列 B.提交队列 C.后备队列 D.就绪队列

4.某个信号量S初值为3,当前值为-2,则等待在该信号量上的进程数为( )个。 A.1 =B.2 C.3 D.4

5.有n个并发进程竞争必须互斥使用的共享资源时,若某进程调用P操作后成为第一个可使用资源者,则这时信号量的值为( ) A.0 =B.1 C.-1 D.n-1

6.当若干进程调用了P(S)后,有n个进程处于等待信号量S的状态。此后,又有m个进程(mm>1)同时读文件。用PV操作管理时信号量的值不可能变化为( ) A.1 =B.n C.m D.m-n

8.用PV操作管理互斥使用的共享资源时,假定现在有n个进程在等待使用资源,那么,至少有( )个进程调用P操作。 =A.n+1 B.n-1 C.n D.1

9.有n个进程竞争某共享资源,系统允许每次最多m个进程同时使用该资源,若用PV操作管理时信号量的变化范围是( )

A.[m,(m+n)] B. [n,(m+n)] =C. [(m-n),m] D. [(m-n),n] 售票员

司机 10.公共汽车上,司机和售票员的工作

流程如下:为保证乘客的安全,司机和

启动车辆 售票 售票员应密切配合协调工作。请用PV

操作来实现司机和售票员之间的同步。 正常行车 开车门

到站停车

关车门

第2章 进程管理 1

在始发站等待

Semaphore S1=0,S2=1 Process 司机 L1: P(S1) 启动 行车 停车 V(S2) Goto L1

Process 售票员 L2;P(S2) 开门 关门 V(S1) 售票

Goto L2

在始发站开车门等待 Semaphore S1=0,S2=0 Process 司机 L1: P(S1) 启动 行车 停车 V(S2) Goto L1

Process 售票员 L2;关门

V(S1) 售票 P(S2)

开门

Goto L2

第3章 调度与死锁

一、单项选择题

1. 在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的______也可能产生死锁。

A. 进程优先权 B. 资源的线性分配

2 操作系统习题与解析

=C. 进程推进顺序 D. 分配队列优先权

2. 采用资源剥夺法可解除死锁,还可以采用_____方法解除死锁。 A. 执行并行操作 =B. 撤消进程 C. 拒绝分配新资源 D. 修改信号量

3. 产生死锁的四个必要条件是:互斥、________、循环等待和不剥夺。 A. 请求与阻塞 =B. 请求与保持 C. 请求与释放 D. 释放与阻塞

4. 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏________条件是不太实际的。

=A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待

5. 在分时操作系统中,进程调度经常采用________算法。 A. 先来先服务 B. 最高优先权 =C. 时间片轮转 D. 随机 6. 资源的按序分配策略可以破坏________条件。

A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺资源 =D. 环路等待资源 7. 银行家算法是一种________算法。 A. 死锁解除 =B. 死锁避免 C. 死锁预防 D. 死锁检测

8. ________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。

A. 先来先服务 =B. 静态 C. 动态 D. 短作业

9. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资

源数是________。

A. 9 =B. 10 C. 11 D. 12

10. 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是诸就绪进

程中优先级最高的进程。上述描述是________。 A. 正确的 =B. 错误的

11. 当检测出发生死锁时,可以通过撤消一个进程解除死锁。上述描述是________。

A. 正确的 =B. 错误的

12. 在下列解决死锁的方法中,属于死锁预防策略的是____。

A. 银行家算法 =B. 资源有序分配法 C. 死锁检测法 D. 资源分配图化简法 13. ________是作业存在的惟一标志。

A. 作业名 B. 进程控制块 =C. 作业控制块 D. 程序名

14.3个进程A、B、C对某类资源的需求分别是7个、8个、3个。且目前已分别得到了3个、3个和2个资源,若系统还至少能提供_____个资源,则系统是安全的。 A. 1 =B. 2 C. 5 D. 10

15.系统中有某类资源12个供若干进程共享,若每个进程申请的资源量不超过4个,则最多允许_____个进程共享资源就可以保证系统是安全的。 =A. 3 B. 4 C. 5 D. 12

16. 在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是________。

第2章 进程管理 3

A. 先来先服务 B. 优先数 C. 最高响应比优先 =D. 短作业优先

17. 既考虑作业等待时间,又考虑作业执行时间的调度算法是________。 =A. 响应比高者优先 B. 短作业优先 C. 优先级调度 D. 先来先服务 18. ________是指从作业提交给系统到作业完成的时间间隔。 =A. 周转时间 B. 响应时间 C. 等待时间 D. 运行时间

19. 下述作业调度算法中,________调度算法与作业的估计运行时间有关。

A. 先来先服务 =B. 短作业优先 C. 均衡 D. 时间片轮转 二、填空题

1. 作业调度又称 高级调度,长调度 。其主要功能是 接纳作业,并为作业做好运行前的准备工作和作业完成后的善后处理工作。

2. 低级调度也称为_进程_调度,常采用非抢占_和_抢占__两种调度方式。 3. 引入中级调度的目的是提高内存利用率和 系统吞吐量 。 4. 设有一组作业,它们的提交时间及运行时间如下: 作业号 提交时间 运行时间(分钟) 1 9:00 70 2 9:40 30 3 9:50 10 4 10:10 5

在单道方式下,采用短作业优先调度算法,作业的执行顺序是__1。4。3。2______。 5. 抢占方式调度的抢占原则是(优先权)、(短作业)和(时间片 )。 6. 死锁是指在系统中的多个__进程___无限期地等待永远不会发生的条件。 7. 多处理机系统中,根据系统中所用的处理器是否相同可分(对称多处理机系统 )和(非

对称多处理机系统 )两类。。

8. 在__FCFS__调度算法中,按照进程进入就绪队列的先后次序来分配处理机。

9. 进程调度算法采用时间片轮转法时,时间片过大,就会使轮转法变化为(先来先服务)调度算法。

10. 如果要求所有进程一次性申请它所需要的全部资源。若系统有足够的资源分配给进程,便一次把所有的资源分配给该进程。但在分配时只要有一种资源要求不能满足,则资源全不分配,进程等待。这种死锁预防方法破坏了死锁产生必要条件中的___请求和保持_条件。 11. 对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法

是属于 避免 ,破坏环路等待条件是属于 预防 ,而剥夺资源是 解除 的基本方法。

12.银行家算法中,当一个进程提出的资源请求将导致系统从 安全状态 进入 不安全

状态 时,系统就拒绝它的资源请求。

13.采用有序分配策略可以防止死锁,但是实现该策略时最大的困难是(如何确定资源的

编号)

14.操作系统中解决死锁问题的方法有3种,即死锁预防,死锁避免和死锁解除。 15.对于内存和处理机两种资源可以采用抢夺式分配。

4 操作系统习题与解析

三 、 问答题

1、 比较Fcfs和Spf 两种进程调度算法。

2、 为什么多级反馈队列调度算法能较好地满足各方面用户的需求? 3、 何谓死锁?死锁产生的原因和必要条件是什么?

4、 有人认为“只要实现了共享资源的互斥使用,系统就不会死锁”,这种观点对吗? 5、 为什么银行家算法能够避免死锁的发生? 四、分析题

1. 为什么说采用有序资源分配法不会产生死锁?

解:为了便于说明,不妨设系统中有m类资源,n个进程,分别用R1,R2,?,Rm(1,2,?,m可看作资源编号)和P1,P2,? Pn表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了Ri类资源后,再申请的资源Rj的编号j一定大于i。因此在任一时刻,系统中至少存在一个进程Pk,它占有了较高编号的资源Rh,且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成,当Pk运行完成后即会释放它占有的所有资源;在Pk完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成;以此类推,所有进程均可运行完成,故不会发生死锁。

2. 有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。

解:该系统不会由于对这种资源的竞争而产生死锁。因为在最坏情况下,每个进程都需要2个这样的资源,且每个进程都已申请到了1个资源,那么系统中还剩下1个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的2个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死锁。

3.考虑下列资源分配策略:对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,若此时无 由于等待资源而被阻塞的进程,则自己就被阻塞;若此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。

例如,考虑一个有3类资源的系统,系统所有可用资源为(4,2,2),进程A申请(2,2,1),可满足;进程B申请(1,0,1),可满足;若A再申请(0,0,1),则被阻塞。此时,若C请求(2,0,0),它可以分到剩余资源(1,0,0),并从A已分到的资源中获得一个资源,于是进程A的分配向量变成(1,2,1)而需求向量变成(1,0,1)。

① 这种分配策略会导致死锁吗?如果会,请举一个例子;如果不会,请说明产生死锁的哪一个必要条件不成立?

② 这种分配方式会导致某些进程的无限等待吗?为什么?

解:①本题所给的资源分配策略不会产生死锁。因为本题给出的分配策略规定若一进程的资源得不到满足,则检查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。从而破坏了产生死锁必要条件中的不剥夺条件,这样系统就不会产生死锁。

②这种方法会导致某些进程无限期的等待。因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所拥有的资源数量在其被唤醒之前只可能减少。若系统中不断出现其他进程申请资

第2章 进程管理 5

源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型相同且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。例如,本题中的进程A申请(2,2,1)后再申请(0,0,1)被阻塞。此后,进程C又剥夺了进程A的一个资源,使得进程A拥有的资源变为(1,2,1),其需求向量为(1,0,1)。之后,若再创建的进程总是只申请第1和第3类资源,总是占有系统所剩下的第1和第3类资源的全部且不阻塞,那么进程A将会无限期地等待。

4.一台计算机有8台磁带机。它们由N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明原因。

解:当N为1,2,3时,系统没有产生死锁的危险。因为,当系统中只有1个进程时,它最多需要3台磁带机,而系统有8台磁带机,其资源数目已足够系统内的1个进程使用,因此绝不可能发生死锁;当系统中有2个进程时,最多需要6台磁带机,而系统有8台磁带机,其资源数目也足够系统内的2个进程使用,因此也不可能发生死锁;当系统中有3个进程时,在最坏情况下,每个进程都需要3个这样的资源,且假定每个进程都已申请到了2个资源,那么系统中还剩下2个可用资源,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的3个资源归还给系统,这就保证了其余进程能顺利运行完毕。由此可知,当N为1,2,3时,该系统不会由于对这种资源的竞争而产生死锁。

5.设系统中有3种类型的资源(A,B,C)和5个进程P1、P2、P3、P4、P5,A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态见下表所示。系统采用银行家算法实施死锁避免策略。

T0时刻系统状态

最大资源需求量 A B C A P1 5 5 9 2 P2 5 3 6 4 P3 4 0 11 4 P4 4 2 5 2 P5 4 2 4 3 剩余资源 A B 2 3 已分配资源数量 B C 1 2 0 2 0 5 0 4 1 4 C 3 ① T0时刻是否为安全状态?若是,请给出安全序列。 ② 在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么? ③ 在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? ④ 在③的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么? 解:由题目所给出的最大资源需求量和已分配资源数量,可以计算出T0时刻各进程的资源需求量Need,Need=最大资源需求量-分配资源数量:

P1 P2 P3 P4 A 3 1 0 2 资源需求量

B 4 3 0 2 C 7 4 6 1 6 操作系统习题与解析

P5 1 1 0

① 利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分析情况:

P5 P4 P3 P2 P1

Work 2 3 3 5 4 7 7 4 11 11 4 16 15 4 18

Need 1 1 0 2 2 1 0 0 6 1 3 4 3 4 7

Allocation Work+Allocati

on

3 1 4 5 4 7 2 0 4 7 4 11 4 0 5 11 4 16 4 0 2 15 4 18 2 1 2 17 5 20

Finis

h true true true true true

从上述情况分析中可以看出,此时存在一个安全序列{P5,P4,P3,P2,P1},故该状态是安全的。

② 在T0时刻若进程P2请求资源(0,3,4),因请求资源数(0,3,4)>剩余资源数(2,2,3),所以不能分配。

③ 在②的基础上,若进程P4请求资源(2,0,1),按银行家算法进行检查: · P4请求资源(2,0,1)≤ P4资源需求量(2,2,1) · P4请求资源(2,0,1)≤ 剩余资源数(2,3,3) · 试分配并修改相应数据结构,资源分配情况如下:

Allocation Need P1 2 1 2 3 4 7 P2 4 0 2 1 3 4 P3 4 0 5 0 0 6 P4 4 0 5 0 2 0 P5 3 1 4 1 1 0

Available

0 3 2

· 再利用安全性算法检查系统是否安全,可得此时刻的安全性分析情况:

Work

P4 0 3 2 P5 4 3 7 P3 7 4 11 P2 11 4 16 P1 15 4 18

Need 0 2 0 1 1 0 0 0 6 1 3 4 3 4 7

Allocation 4 0 5 3 1 4 4 0 5 4 0 2 2 1 2

Work+Allo 4 3 7 7 4 11 11 4 16 15 4 18 17 5 20

Finish true true true true true

从上述情况分析中可以看出,此时存在一个安全序列{P4,P5,P3,P2,P1},故该状态是安全的,可以立即将P4所申请的资源分配给它。

④ 在③的基础上,若进程P1请求资源(0,2,0),按银行家算法进行检查: · P1请求资源(0,2,0)≤ P1资源需求量(3,4,7) · P1请求资源(0,2,0)≤ 剩余资源数(0,3,2) · 试分配并修改相应数据结构,资源分配情况如下:

P1 P2

Allocation 2 3 2 4 0 2

Need 3 2 7 1 3 4

Available 0 1 2

第2章 进程管理 7

P3 P4 P5 4 0 5 4 0 5 3 1 4 0 0 6 0 2 0 1 1 0

· 再利用安全性算法检查系统是否安全,可用资源Available(0,1,2)已不能满足任

何进程的资源需求,故系统进入不安全状态,此时系统不能将资源分配给P1。

6. 若在后备作业队列中等待运行的同时有三个作业1、2、3,已知它们各自的运行时间为a、b、c,且满足关系a<b<c,试证明采用短作业优先调度算法能获得最小平均周转时间。

解:由于短作业优先调度算法总是在后备作业队列中选择运行时间最短的作业作为调度对象,因此对短作业优先调度算法而言,这三个作业的总周转时间为 T1=a+(a+b)+(a+b+c)=3a+2b+c ①

若不按短作业优先调度算法来调度这三个作业,不失一般性,假定调度顺序为2、1、3,则其总周转时间为

T2=b+(b+a)+(b+a+c)=3b+2a+c ② ②-①式得: T2-T1=b-a>0

由此可见,短作业优先调度算法能获得最小平均周转时间。 7. 设有4道作业,它们的提交时间及执行时间如下: 作业号 1 2 3 4

提交时间 10.0 10.2 10.4 10.5

执行时间 2.0 1.0 0.5 0.3

试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。(时间单位:小时,以十进制进行计算。)

解:若采用先来先服务调度算法,则其调度顺序为1、2、3、4。

作业号 提交时

1 10.0 2 10.2 3 10.4 4 10.5

执行时开始时

间 间 2.0 10.0 1.0 12.0 0.5 13.0 0.3 13.5

完成时

间 12.0 13.0 13.5 13.8

周转时带权周转时间 间 2.0 1.0 2.8 2.8 3.1 6.2 3.3 11.0

平均周转时间 T=(2.0+2.8+3.1+3.3)/4=2.8

平均带权周转时间 W=(1+2.8+6.2+11)/4=5.25 若采用短作业优先调度算法,则其调度顺序为1、4、3、2。

作业号 提交时间

1 10.0 4 10.5 3 10.4

执行时开始时间 间 2.0 10.0 0.3 12.0 0.5 12.3

完成时间 12.0 12.3 12.8

周转时带权周转时间 间 2.0 1.0 1.8 6.0 2.4 4.8

8 操作系统习题与解析

2 10.2 1.0 12.8 13.8 3.6 3.6

平均周转时间 T=(2.0+1.8+2.4+3.6)/4=2.45 平均带权周转时间 W=(1+6+4.8+3.6)/4=3.85

第4章 存 储 管 理

一、单项选择题

1. 动态重定位技术依赖于________。 A. 重定位装入程序

B. 重定位寄存器 D. 目标程序

C. 地址机构

2. 设内存的分配情况如图所示。若要申请一块40K字节的内存空间,若采用最佳适应算法,则所得到的分区首址为________。

A. 100K B. 190K C. 330K D. 410K 0K

占用 100K 180K 190K

占用 占用 280K 330K

占用 390K410K

512K-1

3. 很好地解决了“零头”问题的存储管理方法是________。 A. 页式存储管理 C. 多重分区管理 A. 置换算法选择不当 C. 内存容量不足 A. 集中空闲区 C. 缩短访问周期

B. 段式存储管理 D. 可变式分区管理 4. 系统“抖动”现象的发生是由________引起的。 B. 交换的信息量过大

D. 请求页式管理方案 B. 增加主存容量

D. 加速地址转换

5. 在可变式分区存储管理中的拼接技术可以________。

6. 分区管理中采用“最佳适应”分配算法时,宜把空闲区按________次序登记在空闲区表中。 A. 长度递增 C. 地址递增 A. 相同

B. 长度递减 D. 地址递减

7. 在固定分区分配中,每个分区的大小是________。

B. 可以不同但预先固定

C. 随作业长度变化 D. 可以不同但根据作业长度固定 8. 实现虚拟存储器的目的是________。 A. 实现存储保护 C. 扩充辅存容量

B. 实现程序浮动 D. 扩充主存容量

第2章 进程管理 9

9. 采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是________B。

A. 224 B. 216 C. 28 D. 232

10. 把作业地址空间中使用的逻辑地址变成内存中物理地址的过程称为________。 A. 重定位 C. 逻辑化

B. 物理化 D. 加载

11. 在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数________。 A. 减少 C. 无影响

B. 增加

D. 可能增加也可能减少

12. 如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改,即程序应该是________。

A. 可执行码 C. 可改变码

B. 可重入码 D. 可再现码

13.作业在执行中发生了缺页中断,经操作系统处理后,应让其执行______指令。 A 被中断的前一条 B被中断的 C被中断的后一条 D启动时的第一条

二、填空题

1. 静态重定位在(程序装入内存)时进行;而动态重定位在(程序执行)时进行。 2.页式存储管理把存放在高速缓冲存储器的部分页表称为(快表),利用它可以提高(指令)的执行速度。

3. 假设某程序的页面访问序列为1 2 3 4 1 2 5 1 2 3 4 5。且开始执行时主存中没有页面,则在分配给该程序的物理块数是3且采用FIFO方式时缺页次数是 9 ;在分配给程序的物理块数是4且采用最佳置换算法方式时,缺页次数是 6 。 4. 重定位的方式有 ① 和 ② 两种。

5. 段页式的存储管理中,必须为装入主存的作业建立段表和页表。其中页表的个数应根据 (作业被划分的段)确定,每个页表的长度由( 段的长度 )确定。 6. 主存中一系列物理存储单元的集合称为(存储空间)。

7. 在虚存管理中,虚拟地址空间是指逻辑地址空间,实地址空间是指(物理地址空间);前者的大小只受(机器的地址长度)限制,而后者的大小受(物理内存大小限制)。 8. 在页式存储管理系统中,常用的页面淘汰算法有: 最近最久没有使用算法 ,选择淘汰不再使用或最远的将来才使用的页; 先入先出置换 ,选择淘汰在主存驻留时间最长的页; 最少使用置换算法 ,选择淘汰离当前时刻最近的一段时间内使用得最少的页。

9. 对图示的内存分配情况(其中,阴影部分表示一占用块,空白部分表示空闲块),若要申请30K的存储空间,使首地址最大的分配策略是________。

10 操作系统习题与解析

0 100K 160K 200K 320K 350K

400K 410K 10.某作业以动态重定位600K-1 方式装入内存以K开始的区域中,作业执行时作要求处理器从B单元取数据,则处理器实际从 K+b 开始取数据。

11.使用 程序浮动 技术才能使作业从内存的一个地方移动到另外一个地方,并保证程序还可以执行。

12.现有3个作业A,B,C,分别被装到地址a,b,c(a

13.在可变分区管理方式下,若某作业归还的分区起始地址为S,长度为L,则当空闲分区表中的某登记项的起始地址= S+L 时,表明该归还分区有下邻空闲区。

解 析 题

1. 已知页面走向为1、2、1、3、1、2、4、2、1、3、4,且开始执行时主存中没有页面。若只给该作业分配2个物理块,当采用FIFO页面淘汰算法时缺页率为多少 ? 假定现有一种淘汰算法,该算法淘汰页面的策略为当需要淘汰页面时,就把刚使用过的页面作为淘汰对象,试问就相同的页面走向,其缺页率又为多少?

解:根据所给页面走向,采用FIFO淘汰算法的页面置换情况如下:

页面走向 物理块1 物理块2 缺页

1 1 缺

2 1 2 缺

1

3 3 2 缺

1 3 1 缺

2 2 1 缺

4 2 4 缺

2

1 1 4 缺

3 1 3 缺

4 4 3 缺

从上述页面置换图可以看出:页面引用次数为11次,缺页次数为9次,所以缺页率为9/11。 若采用后一种页面淘汰策略,其页面置换情况如下:

页面走向 物理块1 物理块2 缺页

1 1 缺

2 1 2 缺

1

3 3 2 缺

1 1 2 缺

2

4 1 4 缺

2 1 2 缺

1

3 3 2 缺

4 4 2 缺

从上述页面置换图可以看出:页面引用次数为11次,缺页次数为8次,所以缺页率为8/11。 2. 下表给出了某系统中的空闲分区表,系统采用可变式分区存储管理策略。现有以下作业序列:96K、20K、200K。若用首次适应算法和最佳适应算法来处理这些作业序列,试问哪一种

第2章 进程管理 11

算法可以满足该作业序列的请求,为什么?

空闲分区表 分区号 1 2 3 4 5

大小 32K 10K 5K 218K 96K

起始地址 100K 150K 200K 220K 530K

解:若采用最佳适应算法,在申请96K存储区时,选中的是5号分区,5号分区大小与申请空间大小一致,应从空闲分区表中删去该表项;接着申请20K时,选中1号分区,分配后1号分区还剩下12K;最后申请200K,选中4号分区,分配后剩下18K。显然采用最佳适应算法进行内存分配,可以满足该作业序列的需求。为作业序列分配了内存空间后,空闲分区表如表(a)所示。

若采用首次适应算法,在申请96K存储区时,选中的是4号分区,进行分配后4号分区还剩下122K;接着申请20K,选中1号分区,分配后剩下12K;最后申请200K,现有的五个分区都无法满足要求,该作业等待。显然采用首次适应算法进行内存分配,无法满足该作业序列的需求。这时的空闲分区表如表(b)所示。

分配后的空闲分区表

(a) 分区号 1 2 3 4

大小 12K 10K 5K 18K

起始地址 100K 150K 200K 220K (b)

分区号 1 2 3 4 5

3. 设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048字节,内存总共有8个存储块,试问逻辑地址至少应为多少位?内存空间有多大?

解:本题中,每页2048字节,所以页内位移部分地址需要占据11个二进制位;逻辑地址空间最大为16页,所以页号部分地址需要占据4个二进制位。故逻辑地址至少应为15位。

大小 12K 10K 5K 122K 96K

起始地址 100K 150K 200K 220K 530K

12 操作系统习题与解析

由于内存共有8个存储块,在页式存储管理系统中,存储块大小与页面的大小相等,因此内存空间为16K。

4. 在一个段式存储管理系统中,其段表如下,试求下述逻辑地址对应的物理地址是什么? 段号 0 1 2 3 4 段号 0 1 2 3 4

本题解答如下:

(1)由于第0段的内存始址为210,段长为500,故逻辑地址[0,430]是合法地址。逻辑地址[0,430]对应的物理地址为210+430=640 。

(2)由于第1段的内存始址为2350,段长为20,故逻辑地址[1,10]是合法地址。逻辑地址[1,10]对应的物理地址为2350+10=2360 。

(3)由于第2段起始地址为100,段长为90,所给逻辑地址[2,500]非法。

(4)由于第3段的内存始址为1350,段长为590,故逻辑地址[3,400]是合法地址。逻辑地址[3,400]对应的物理地址为1350+400=1750 。

(5)由于第4段的内存始址为1938,段长为95,所给逻辑地址[4,112]非法。 (6)由于系统中不存在第5段,所给逻辑地址[5,32]非法。

5. 若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000,5012转化为相应的物理地址。

页号 0 1 2 3

块号 2 3 1 6

段内位移 430 10 500 400 112

内存起始地址 210 2350 100 1350 1938

段长 500 20 90 590 95

解:本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页面大小为L,则: P=int(A/L) W=A mod L

第2章 进程管理 13

· 对于逻辑地址1011 P=int(1011/1024)=0 W=1011 mod 1024=1011

查页表第0页在第2块,所以物理地址为3059。 · 对于逻辑地址2148 P=int(2148/1024)=2 W=2148 mod 1024=100

查页表第2页在第1块,所以物理地址为1124。 · 对于逻辑地址3000 P=int(3000/1024)=2 W=3000 mod 1024=952

查页表第2页在第1块,所以物理地址为1976。 · 对于逻辑地址4000 P=int(4000/1024)=3 W=4000 mod 1024=928

查页表第3页在第6块,所以物理地址为7072。 · 对于逻辑地址5012 P=int(5012/1024)=4 W=5012 mod 1024=916

因页号超过页表长度,该逻辑地址非法。

6. 在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH ,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址为多少? 解:由题目所给条件可知,本页式系统的逻辑地址结构为:

页号P 页内位移W 15 12 11 0 逻辑地址2F6AH的二进制表示如下:

p 0010

111101101010

由此可知逻辑地址2F6AH的页号为2,该页存放在第11号物理块中,用十六进制表示块号为B,所以物理地址为BF6AH。

7.有一页式存储管理系统,其页表存放在主存中。

(1)如果对主存的一次存取需要1.5微秒,试问实现一次页面访问的存取时间是多少? 1.5×2=3微秒

w

14 操作系统习题与解析

(2)如果系统加有快表,平均命中率为85%,当页表项在快表中时,其查找时间忽略为0,

试问此时的存取时间为多少? 0.85×1.5+(1-0.85)×2×1.5=1.725微秒

8.在页式虚存管理系统中,假定驻留集为m个页(初始所有页均为空),在长为p的引用串

中具有n个不同页号(n>m),对于FIFO、LRU两种页面置换算法,试给出页故障数的上限和下限,说明理由。并举例说明。 解:两种置换算法页故障上限均为p,下限均为n。(请求调入方式)。 例如:m=3,p=12,n=4,有引用串1、1、1、2、2、3、3、3、4、4、4、4 m=3,p=12,n=4,有引用串2、3、4、1、2、3、4、1、2、3、4、1

一、单项选择题

1. 缓冲技术中的缓冲池在________中。

=A. 主存 B. 外存 C. ROM D. 寄存器 2. CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用________。 A. 并行技术 B. 通道技术 =C. 缓冲技术 D. 虚存技术

3. 通过硬件和软件的功能扩充,把原来独立的设备改造成能为若干用户共享的设备,这种设备称为________。

A. 存储设备 B. 系统设备 C. 用户设备 =D. 虚拟设备

4. 如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是________。

A. 程序查询 B. 中断方式 =C. DMA方式 D. 无条件存取方式

5. 设备管理程序对设备的管理是借助一些数据结构来进行的,下面的________不属于设

备管理数据结构。

=A. JCB B. DCT C. COCT D. CHCT 6. ________用作连接大量的低速I/O设备。

A. 数据选择通道 = B. 字节多路通道 C. 数据多路通道 7. ________是直接存取的存储设备。

=A. 磁盘 B. 磁带

C. 打印机 D. 键盘显示终端

8. 操作系统中的SPOOLING技术,实质是将________转化为共享设备的技术。

A. 虚拟设备 =B. 独占设备 C. 脱机设备 D. 块设备

9. 按________分类可将设备分为块设备和字符设备。

A. 从属关系 B. 操作特性 C. 共享属性 =D. 信息交换单位 10. ________算法是设备分配常用的一种算法。

A. 短作业优先 B. 最佳适应 =C. 先来先服务 D. 首次适应

第2章 进程管理 15

11. 通道是一种________。

A. I/O端口 B. 数据通道 =C. I/O专用处理器 D. 软件工具

12下列哪种设备不是从设备分配策略角度来划分的(

= A.系统设备B独享设备 C.共享设备D.虚拟设备

13.在关于spooling的叙述中,()描述是不正确的

A . spooling系统中不需要独占设务 B. spooling,系统加快犷作业执行的速度 C. spooling,系统使独占设备变成共享设备

=D. spooling系统需要利用处理器与通道并行工作的能力。

14.利用通道实现了( )之间数据的快速传输。

A. CPU和外设B.内存和CPU = C.内存和外设D.外设和外设

15.假脱机技术中,对打印机的操作实际上是用借助磁盘存储实现的,这样实现的打印机

构是()。

A.共享设备B独占设备 = C.虚拟设备D.物理设备

16.为了实现CPU与外部设备间最大的并行性,应采用()

A.中断技术B,共享设备 =C.通道设备D.虚拟设备

17在调试程序时,可以把所有输出送到屏幕显示,而不必正式输出到打印设备,其运用

了()。

A. Spooling技术=B. I/O重定向 C:.共享技术D.缓冲技术

18一计算机系统配备了二台HP1000激光打印机、一台绘图机。为此该系统需在内存中配

置()个设备驱动程序。

A. 1 S. 3 = C. 2 D. 4 二、填空题

1. 设备管理中采用的数据结构有 ① 、 ② 、 ③ 、 ④ 等四种。

2. 从资源管理(分配)的角度出发,I/O设备可分为 ① 、 ② 和 ③ 三种类型。 3. 常用的I/O控制方式有程序直接控制方式、中断控制方式、 ①DMA 和 ②通道控制 。

4. 设备分配中的安全性是指________。 5. 通道所执行的程序称为________。

6. 实现SPOOLING系统时,必须在磁盘上开辟出称为 ①输入井 和 ②输出井 的专门

16 操作系统习题与解析

区域以存放作业信息和作业执行结果。

7. 磁带是一种①顺序存取 的设备。它最适合的存取方法是 ② 。

8. 磁盘是一种① 直接 存取设备,磁盘在转动时经过读/写磁头所形成的圆形轨迹称为

②磁道 。

9. _最短寻道优先_______算法选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。

10. 访问磁盘时间由三部分组成,即 ①寻道时间 、 ②旋转延迟时间 和 ③传输时间 。

解 析 题

1. 假脱机系统的基本工作原理是什么?

解:假脱机技术主要由输入程序模块和输出程序模块所组成,系统分别为之创建输入进程和输出进程,它们的优先级高于一般用户进程。输入进程负责通过通道将信息从输入设备送到盘区的输入井中,输出进程负责通过通道将信息从盘区的输出井送到输出设备。主机仅和快速存储设备磁盘中的输入井和输出井交换信息,大大提高了信息处理的速率。

2. 简述设备分配的过程。

解:设备分配程序要用到系统设备表、设备控制表、控制器控制表和通道控制表。设备分配时要考虑到设备的固有属性、分配的算法、防止死锁以及用户程序与实际使用的物理设备无关等特性。设备分配的过程主要是:

(1)从系统设备表SDT中找到需要的物理设备的设备控制表DCT;

(2)若设备闲,则分配,然后从设备控制表DCT中找到控制器控制表指针所指出的控制

器控制表COCT;

(3)若控制器闲,则分配,然后从控制器控制表COCT中找到通道控制表指针所指出的通

道控制表CHCT;

(4)根据通道控制表CHCT中的状态信息来判断是否可以启动I/O设备传送信息,若闲则

可以,若忙则把该进程插入到等待通道的队列中去。 3. 有几种I/O控制方式?各有何特点?

解:I/O控制方式有四种,即程序直接控制方式、中断控制方式、DMA方式和通道控制方式。

· 程序直接控制方式 优点是控制简单,也不需要多少硬件支持。但CPU和外设只能串

行工作,且CPU的大部分时间处于循环测试状态,使CPU的利用率大大降低;CPU在一段时间内只能和一台外设交换数据信息,从而不能实现设备之间的并行工作;由于程序直接控制方式依靠测试设备状态标志来控制数据传送,因此,无法发现和处理因设备或其他硬件所产生的错误。所以,程序直接控制方式只适用于那些CPU执行速度较慢且外设较少的系统。

· 中断控制方式 优点是能实现CPU与设备以及设备与设备间的并行操作,CPU的利用

率较程序直接控制方式大大提高。但由于I/O控制器的数据缓冲寄存器装满数据后将会发出中断且数据缓冲寄存器通常较小,因此在一次数据传送过程中发生中断次数较多而耗去大量CPU时间;如果系统中配置的外设数目较多,且都以中断方式进行并行操作,则可能耗去大量CPU时间或因CPU来不及处理而造成数据丢失。

· DMA方式 与中断方式相比,DMA方式是在一批数据传送完成后中断CPU,从而大大减

第2章 进程管理 17

少了CPU进行中断处理的次数,且DMA方式下的数据传送是在DMA控制器控制下完成的。但DMA方式仍有一定的局限,如对外设的管理和某些操作仍由CPU控制,多个DMA控制器的使用也不经济。

· 通道控制方式 通道是一个专管输入/输出控制的处理机。在通道控制方式下,CPU只

需发出I/O指令,通道就能完成相应的I/O操作,并在操作结束时向CPU发出中断信号;同时一个通道还能控制多台外设。但是,通道价格较高,从经济的角度出发不宜过多使用。 4. 有如下请求磁盘服务的队列,要访问的磁道分别是98、183、37、122、14、124、65、67。

现在磁头在53道上,若按最短寻道时间优先法,磁头的移动道数是多少?

解:最短寻道时间优先法总是让查找时间最短的那个请求先执行,而不考虑请求访问者到来的先后时间。即靠近当前移动臂位置的请求访问者将优先执行。当前磁头在53道上,则总的移动道为:

12+2+30+23+84+24+2+59=236 65 67 98 122 124 183 37 14 12 2 31 24 2 59 146

5. 信息在外存空间的排列方式也会影响存取等待时间。考虑几个逻辑记录A、B、C、?、J,它们被存放于磁盘上,每个磁道存放10个记录,安排如下:

物理块 1 逻辑记录 A 2 B 3 C 4 D 5 E 6 F 7 G 8 H 9 I 10 J 假定要经常顺序处理这些记录,旋转速度为20ms/转,处理程序读出每个记录后花4ms进行处理,试问:

(1)处理的总时间为多少?

(2)考虑对信息的分布进行优化,信息分布优化后,处理的总时间为多少?

物理块 1 逻辑记录 A 2 H 3 E 4 B 5 I 6 F 7 C 8 J 9 G 10 D 解:在本题中,设备旋转速度为20ms/转,每道存放10个记录,因此读出1个记录的时间是:

20/10=2ms

(1)对于第一种记录分布情况,读出并处理记录A需要6ms,则此时读写头已转到了记

录D的开始处,因此为了读出记录B,必须再转一圈少两个记录(从记录D到记录B)。后续8个记录的读取及处理与此相同,但最后一个记录的读取与处理只需6ms。于是,处理10个记录的总时间为:

9×(2+4+16)+(2+4)=204ms

(2)对于第二种记录分布情况,读出并处理记录A后,读写头刚好转到记录B的开始处,

因此立即就可读出并处理,后续记录的读取与处理情况相同。故处理10个记录的总时间为:

18 操作系统习题与解析

10×(2+4)=60ms ·

一、单项选择题

1. 文件系统是指________。

A. 实现文件管理的一组软件 B. 文件的目录 C. 文件的集合

=D. 文件、管理文件的软件及数据结构的总体

2. 从用户角度看,引入文件系统的主要目的是________。 A. 保存用户和系统文档 B. 保存系统文档 C. 实现虚拟存储 =D. 实现对文件的按名存取

3. 文件的逻辑组织将文件分为记录式文件和________文件。 A. 索引文件 =B. 流式文件 C. 字符文件 D. 读写文件 4. 文件系统中用________管理文件。

A. 作业控制块 B. 外页表

=C. 目录 D. 软硬件结合的方法

5. 为了解决不同用户文件的“命名冲突”问题,通常在文件系统中采用________。 A. 约定的方法 =B. 多级目录 C. 路径 D. 索引

6. 一个文件的绝对路径名是从________开始,逐步沿着每一级子目录向下追溯,最后到

指定文件的整个通路上所有子目录名组成的一个字符串。 A. 当前目录 =B. 根目录 C. 多级目录 D. 二级目录 7. 磁盘上的文件以________为单位读写。

=A. 块 B. 记录 C. 柱面 D. 磁道 8. 磁带上的文件一般只能________。

=A. 顺序存取 B. 随机存取 C. 以字节为单位存取 D. 直接存取 9. 使用文件前必须先________文件。

A. 命名 B. 建立 =C. 打开 D. 备份 10. 位示图可用于________。

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

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

11. 按物理结构划分,文件主要有三类: c① 、 a ② 和 ③d 。

A. 索引文件 B. 读写文件 C. 顺序文件 D. 链接文件

12. 在文件系统中,文件的不同物理结构有不同的优缺点。在下列文件的物理结构中,

________不具有直接读写文件任意一个记录的能力。 A. 顺序结构 =B. 链接结构 C. 索引结构 D. Hash结构

13. 在下列文件的物理结构中,________不利于文件长度动态增长。

=A. 顺序结构 B. 链接结构

第2章 进程管理 19

C. 索引结构 D. Hash结构

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一块可包含若于页

19.下列哪种文件必须存放在连续的存储介质中()。 =A.顺序文件B链接文件 C.索引文件D数据库文件

20.下列()的文件只适合于定长记录文件和按记录键随机查找的访问方式。 A.索引结构 B.顺序结构 C.链接结构 =D. Hash结构

21.针对文件既要共享又要安全的要求,可以采取的措施是()。 A.采用虚拟管理技术=B采用存取控制机制 C采用系统容错技术D.采用“后备系统”

22.针对影响文件安全的因素,系统不可采取的有效措施应当是()。 A.采用“后备系统” =B.虚拟管理

C.采用存取控制机制 D.采用系统容错技术

23.在文件系统中,用户是可以按()为单位对记录型文件进行存取的。 A,数据项 C.字符 =C.记录 D 二进制位

24.下面的描述中,不属于文件系统功能的是() A.将文件的逻辑块号映射为外存的物理块号

20 操作系统习题与解析

B.对文件的读、写访问实行访问权限管理 = C.对磁盘I/O 进行管理 D对磁盘存储空间进行管理

25.文件系统中,需要占用求连续物理块的物理文件是〔)。 A链接文件B.索引文件 C.HASH文件=D顺序文件

二、填空题

1. 索引文件大体上由 索引 区和 数据 区构成。其中 索引 区一般按关键字的顺序存放。

2. 对操作系统而言,打开文件广义指令的主要作用是装入________目录表。

答:文件

3. 磁盘文件目录表的内容至少应包含 ①文件名 和 ②物理地址 。

4. 操作系统实现按名存取进行检索等关键在于解决文件名与___物理地址_____的转换。 5. __文件保护______是指避免文件拥有者或其他用户因有意或无意的错误操作使文件受到破坏。

6. 在文件系统中,要求物理块必须连续的物理文件是__顺序文件______。

7. 文件系统为每个文件另建立一张指示逻辑记录和物理块之间的对应关系表,由此表和

文件本身构成的文件是___索引文件_____。

8 磁盘与主机之间传递数据是以( 数据块 )为单位进行的。

9. 文件的结构就是文件的组织形式,从用户观点出发所看到的文件组织形式称为文件的

① ;从实现观点出发,文件在外存上的存放组织形式称为文件的 ② 。

解 析 题

1. 文件系统中常采用的物理结构有哪些?

解:文件的物理结构侧重于提高存储空间的利用率和减少存取时间,它对文件的存取方法有较大的影响。目前操作系统中常采用如下物理结构文件:

(1)顺序文件 它是按照逻辑文件中的记录顺序,依次把逻辑记录存储到连续的物理块

中而形成的文件。

(2)链接文件 它的物理块不是连续的,也不必顺序排列,但每个物理块中设置一个指

针,指向下一个物理块的地址,这样,所有的物理块被链接起来,形成一个物理文件,称为链接文件或串联文件。

(3)索引文件 它是文件系统为每个文件另外建立一张指示逻辑记录和物理块之间的对

应关系表,此表称为索引表,文件本身和索引表组成的文件称为索引文件。

2. 有一磁盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区。假定分配以扇区为单位,若使用位示图管理磁盘空间,问位示图需要占用多少空间?若空白文件目录的每个表目占用5个字节,问什么时候空白文件目录大于位示图?

解:由题目所给条件可知,磁盘组扇区总数为:

16×100×10=16000

第2章 进程管理 21

因此,使用位示图描述扇区状态需要的位数为: 16000位=2000字节

又由题目所给条件可知,空白文件目录的每个表目占5个字节,由上述计算知位示图需要占2000字节,2000字节可存放表目数为:

2000/5=400

所以当空白区数目大于400时,空白文件目录大于位示图。

3. 设某文件为链接文件,由5个逻辑记录组成,每个逻辑记录的大小与磁盘块大小相等,均为512字节,并依次存放在50、121、75、80、63号磁盘块上。若要存取文件的第1569逻辑字节处的信息,问要访问哪一个磁盘块?

解:因为:1569=512×3+33

所以要访问字节的逻辑记录号为3,对应的物理磁盘块号为80。故应访问第80号磁盘块。 4. 假定磁带记录密度为每英寸800字符,每一逻辑记录为160个字符,块间隙为0.6英寸。今有1500个逻辑记录需要存储,试计算磁带利用率?若要使磁带空间利用率不少于50%,至少应以多少个逻辑记录为一组?

【分析及相关知识】 磁带是一种典型的顺序存取设备,由于磁带的启动和停止都要花费一定的时间,因此应在磁带上所存储的数据记录间留有间隙。当数据记录较小,数据记录所需的磁带长度比间隙所需磁带长度小得多时,为了减少间隙造成的浪费,可以采用组块方法进行存储,即将几个数据记录合成一块,只在块与块之间留有间隙。

解:

(1)因磁带记录密度为每英寸800字符,则一个逻辑记录占据的磁带长度为:

160/800=0.2英寸

1500个逻辑记录要占据的磁带长度为: (0.2+0.6)×1500=1200英寸 磁带利用率为: 0.2/(0.2+0.6)=25%

(2)要使磁带利用率不少于50%,即磁带利用率大于或等于50%,则一组逻辑记录所占

的磁带长度应与间隙长度相等,所以一组中的逻辑记录数至少为:

0.6/0.2=3

5. 假定磁盘块的大小为1K,对于540M的硬盘,其文件分配表FAT需要占用多少存储空间?当硬盘容量为1.2G时,FAT需要占用多少空间?

解:由题目所给条件可知,硬盘大小为540M,磁盘块的大小为1K,所以该硬盘共有盘块:

540M/1K=540K(个) 又

512K<540K<1024K

故540K个盘块号要用20位二进制表示,即文件分配表的每个表目为2.5个字节。

22 操作系统习题与解析

FAT要占用的存储空间总数为: 2.5×540K=1350K

当硬盘大小为1.2G,硬盘共有盘块: 1.2G/1K=1.2M(个) 又

1M<1.2M<2M

故1.2M个盘块号要用21位二进制表示。为方便文件分配表的存取,每个表目用24位二进制表示,即文件分配表的每个表目大小为3个字节。

FAT要占用的存储空间总数为:

3×1.2M=3。6M

6.(北京大学1990年试题)一个树形结构的文件系统如图7.9所示: 该图中的框表示目录,圈表示文件。 (1)可否进行下列操作:

a. 在目录D中建立一个文件,取名为A。y b. 将目录C改名为A。n

(2)若E和G分别为两个用户的目录:

a. 用户E欲共享文件Q,应有什么条件,如何操作?

b. 在一段时间内,用户G主要使用文件S和T。为简便操作和提高速度,应如何处理?

c. 用户E欲对文件I加以保护,不许别人使用,能否实现?如何实现?

根目录 A B C D

H E F G

K I N J M L

P O

Q R S T 解:在本题中,文件系统采用了多级目录组织方式。 (1)

a. 由于目录D中没有已命名为A的文件,因此在目录D中,可以建立一个取名为A的文件。

第2章 进程管理 23

b. 因为在文件系统的根目录下已存在一个取名为A的目录,所以根目录下的目录C不能改名为A。 (2)

a. 用户E欲共享文件Q,需要用户E有访问文件Q的权限。在访问权限许可的情况下,用户E可通过相应路径来访问文件Q,即用户E通过自己的主目录E找到其父目录C,再访问到目录C的父目录根目录,然后依次通过目录D、目录G、目录K和目录O访问到文件Q。若用户E当前目录为E,则访问路径为:../../D/G/K/O/Q,其中符号“..”表示一个目录的父目录,符号“/”用于分隔路径中的各目录名。 b. 用户G需要通过依次访问目录K和目录P,才能访问到文件S及文件T。为了提高访问速度,可以在目录G下建立两个链接文件,分别链接到文件S及文件T上。这样,用户G就可以直接访问这两个文件了。

c. 用户E可以通过修改文件I的存取控制表来对文件I加以保护,不让别的用户使用。具体实现方法是,在文件I的存取控制表中,只留下用户E的访问权限,其他用户对该文件无操作权限,从而达到不让其他用户访问的目的。 7.有一文件系统如图7.10(a)所示。图中的框表示目录,圈表示普通文件。根目录常驻内存,目录文件组织成链接文件,不设文件控制块,普通文件组织成索引文件。目录表目指示下一级文件名及其磁盘地址(各占2个字节,共4个字节)。若下级文件是目录文件,指示其第一个磁盘块地址。若下级文件是普通文件,指示其文件控制块的磁盘地址。每个目录文件磁盘块最后4个字节供拉链使用。下级文件在上级目录文件中的次序在图中为从左至右。每个磁盘块有512字节,与普通文件的一页等长。 根 目 录 ? C A B H I ? D G F E L ? M J P K N U Q S R T V ? W (a)

1 2 3 ? 11 12 该文件的有关描述信息 磁盘地址 磁盘地址 磁盘地址 ┆ 磁盘地址 磁盘地址 24 操作系统习题与解析

13 磁盘地址 (b) 图7.10 文件系统结构示意图及普通文件的文件控制块组织

普通文件的文件控制块组织如图7.10(b)所示。其中,每个磁盘地址占2个字节,前10个地址直接指示该文件前10页的地址。第11个地址指示一级索引表地址,一级索引表中每个磁盘地址指示一个文件页地址;第12个地址指示二级索引表地址,二级索引表中每个地址指示一个一级索引表地址;第13个地址指示三级索引表地址,三级索引表中每个地址指示一个二级索引表地址。问:

(1)一个普通文件最多可有多少个文件页?

(2)若要读文件J中某一页,最多启动磁盘多少次? (3)若要读文件W中的某一页,最少启动磁盘多少次?

(4)就(3)而言,为最大限度减少启动磁盘的次数,可采用什么方法?此时,磁盘最多

启动多少次? 解:

(1)由题目中所给条件可知,磁盘块大小为512字节,每个磁盘地址占2个字节。因此,

一个一级索引表可容纳256个磁盘地址。同样地,一个二级索引表可容纳256个一级索引表地址,一个三级索引表可容纳256个二级索引表地址。这样,一个普通文件最多可有页数为:

10+256+256×256+256×256×256=16843018

(2)从图7.10(a)中可以看出,目录文件A和目录文件D中,目录项都只有两个,因

此这两个目录文件都不需拉链。若要读文件J中的某一页,首先从内存的根目录中找到目录文件A的磁盘地址,将其读入内存(第1次访问磁盘)。然后再从目录A中找出目录文件D的磁盘地址,并将其读入内存(第2次访问磁盘)。从目录D中找出文件J的文件控制块地址,将文件J的文件控制块读入内存(第3次访问磁盘)。在最坏情况下,要访问页的磁盘地址需通过三级索引才能找到,这时要三次访问磁盘才能将三级索引表读入内存(第4、5、6次访问磁盘)。最后读入文件J中的相应页(第7次访问磁盘)。

由此可知,若要读文件J中的某一页,最多启动磁盘7次。

(3)从图7.10(a)中可以看出,目录文件C和目录文件U中,目录项数目较多,若目

录项数超过127(512/4-1=127),则目录文件的读入可能需要多次磁盘读(因目录文件组织成链接文件)。在最好情况下,所找的目录项都在目录文件的第一个磁盘块中。若要读文件W中的某一页,首先从内存的根目录中找到目录文件C的磁盘地址,将其读入内存(第1次访问磁盘)。在最好情况下,能从目录C的第一个磁盘块中找出目录文件I的磁盘地址,并将其读入内存(第2次访问磁盘)。从目录I中找出目录文件P的磁盘地址,将其读入内存(第3次访问磁盘)。从目录P中找到目录文件U的磁盘地址,将其读入内存(第4次访问磁盘)。在最好情况下,能从目录U的第一个磁盘块中找出文件W的文件控制块地址,将文件W的文件控制块读入内存(第5次访问磁盘)。在最好情况下,要访问的页在前10页中,这时可直接得到该页的磁盘地址。最后读入文件W中的相应页(第6次访问磁盘)。 由此可知,若要读文件W中的某一页,最少启动磁盘6次。

(4)由于通过文件控制块访问文件所需的访问磁盘次数无法改变,要减少访问磁盘的次

数,只有通过减少访问目录文件的次数来达到。为最大限度地减少启动磁盘的次数,

第2章 进程管理 25

可以将文件W直接链接在根目录的最左端(或其目录项在根目录的前127个项内)。这样,若要读文件W中的某页时,首先从内存的根目录中找到文件W的文件控制块地址,将文件W的文件控制块读入内存(第1次访问磁盘)。在最坏情况下,要访问页的磁盘地址需通过三级索引才能找到,这时要三次访问磁盘才能将三级索引表读入内存(第2、3、4次访问磁盘)。最后读入文件W中的相应页(第5次访问磁盘)。 由此可知,若将文件W直接链接在根目录的最左端,要读文件J中的某一页,最多启动磁盘5次。

1.下面对索引文件描述不正确的选项是( ) A.索引文件和主文件配合使用

B.一般来说主文件为变长记录文件,使用索引文件是为了加快对主文件的检索速度 = C索引文件和顺序文件没有什么联系

D.可以说利用索引文件,是用空间来换时间

2.存放在磁盘上的文件 () A. 既可随机访问,又可顺序访问 B. 只能随机访问

C. 只能顺序访问 =D. 必须通过操作系统访问。

3.下列说法正确的是()。

=A一簇可由若干块组成 B一页可由若干块组成 C一块可由若干簇组成 D一块可包含若于页

4.下列哪种文件必须存放在连续的存储介质中()。 =A.顺序文件B链接文件 C.索引文件D数据库文件

5.下列()的文件只适合于定长记录文件和按记录键随机查找的访问方式。 A.索引结构 B.顺序结构 C.链接结构 =D. Hash结构

6.针对文件既要共享又要安全的要求,可以采取的措施是()。 A.采用虚拟管理技术=B采用存取控制机制 C采用系统容错技术D.采用“后备系统”

7.针对影响文件安全的因素,系统不可采取的有效措施应当是()。 A.采用“后备系统” =B.虚拟管理

C.采用存取控制机制 D.采用系统容错技术

8.在文件系统中,用户是可以按()为单位对记录型文件进行存取的。 A,数据项 C.字符 =C.记录 D 二进制位

9.下面的描述中,不属于文件系统功能的是() A.将文件的逻辑块号映射为外存的物理块号

26 操作系统习题与解析

B.对文件的读、写访问实行访问权限管理 = C.对磁盘I/O 进行管理 D对磁盘存储空间进行管理

10.文件系统中,需要占用求连续物理块的物理文件是〔)。 A链接文件B.索引文件 C.HASH文件=D顺序文件