操作系统部分习题参考答案(孙钟秀版)

y:=y+3; ② x:=x+5; ⑥

V(S1); P(S1); z:=y+1; ③ x:=x+y; ⑦

P(S2); V(S2); y:=z+y ④ z:=z+x; ⑧

end. end. ①、②、⑤和⑥是不相交语句,可以任何次序交错执行,而结果是唯一的。接着无论系统如何调度进程并发执行,当执行到语句⑦时,可以得到x=10,y=4。按Bernstein条件,语句③的执行结果不受语句⑦的影响,故语句③执行后得到z=5。最后,语句④和⑧并发执行,这时得到了两种结果为:

语句④先执行:x=10,y=9,z=15。 语句⑧先执行:x=10,y=19,z=15。

此外,还有第三种情况,语句③被推迟,直至语句⑧后再执行,于是依次执行以下三个语句:

z:=z+x; z:=y+1;

y:=z+y;

这时z的值只可能是y+1=5,故y=z+y=5+4=9,而x=10。

第三种情况为:x=10,y=9,z=5。

(注:第28和30题请参考书上的例题,使用表格给出求解安全序列的过程。正式考试中,如果没有求解过程,一律扣分!) 28、(1)2 2 2 1 0 2 1 0 3 4 2 0

(2)存在安全序列2,1,3,4,所以安全

9

(3)存在安全序列2,1,3,4,所以安全 (4)不可以分配,资源不足 (5)不可以分配,处于不安全状态

30、(1)存在安全序列4,1,5,2,3,所以系统安全 (2)可以分配,存在安全序列4,1,5,2,3 (3)不可以分配,因为系统进入不安全状态

第四章

1.在一个请求分页虚拟存储管理系统中,一个程序运行的页面走向是: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

分别使用FIFO、OPT和LRU算法,对于分配给程序四个页框的情况,求出缺页中断次数和缺页中断率。

答:FIFO

1 1 2 1 2 3 1 2 3 4 1 2 3 4 2 1 2 3 4 1 1 2 3 4 5 F(1) 2 3 4 5 6 F(2) 3 4 5 6 2 F(3) 4 5 6 2 1 F(4) 5 6 2 1 2 5 6 2 1 3 7 6 3 2 1 2 3 6 F(5) F(6) F(2) 6 2 1 3 2 1 3 7 1 3 7 6 1 3 7 6 F(1) F(3) 3 7 6 2 7 6 2 1 7 6 2 1 F(7) 6 2 1 3 6 2 1 3 缺页中断次数:14,缺页中断率:14/20

1 1

OPT

2 1 2 3 1 2 3 4 1 2 3 2 1 2 3 1 1 2 3 5 F(4) 1 2 3 6 F(5) 1 2 3 2 1 2 3 1 1 2 3 2 1 2 3 3 1 2 3 7 6 3 7 2 3 2 7 2 3 1 2 3 1 2 3 6 1 2 3 10

F(1) 7 2 3 7 2 3 F(7) 1 2 3 1 2 3 4 4 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 缺页中断次数:8,缺页中断率:8/20

1 1 LRU

2 1 2 3 1 2 3 4 1 2 3 4 2 1 3 4 2 1 3 4 2 1 5 6 2 1 5 6 2 1 2 5 6 1 2 3 7 6 3 2 7 6 3 2 1 2 3 6 1 2 3 6 1 2 3 6 F(3) F(4) 4 2 1 5 2 1 5 6 1 5 6 2 F(5) F(6) F(1) 6 1 2 3 1 2 3 7 2 3 7 6 2 7 6 3 F(7) 6 3 2 1 6 3 1 2 缺页中断次数:10,缺页中断率:10/20

4.在可变分区存储管理下,按地址排列的主存空闲区为:10KB、4KB、20KB、18KB、7KB、9KB、12KB和15KB。对于下列连续存储区的请求:(1)12KB、10KB、9KB;(2)12KB、10KB、15KB、18KB;试问:使用首次适应算法、最佳适应算法、最差适应算法和下次适应算法,哪个空闲区将被使用?

答:(1)空闲分区如图所示

分区号 1 2 3 4 5 6 7 8 分区长 10KB 4KB 20KB 18KB 7KB 9KB 12KB 15KB 首次适应算法:12KB选中分区3,此时分区3还剩8KB。10KB选中分区1,恰好分配完,所以删去分区1。9KB选中分区4,这时分区4还剩9KB。

最佳适应算法:12KB选中分区7,恰好分配完,所以删去分区7。10KB选中分区1,恰好分配完,所以删去分区1。9KB选中分区6,恰好分配完,所以删去分区6。

11

最差适应算法:12KB选中分区3,此时分区3还剩8KB。10KB选中分区4,此时分区4还剩8KB。9KB选中分区8,此时分区8还剩6KB。

下次适应算法:12KB选中分区3,此时分区3还剩8KB。10KB选中分区4,此时分区4还剩8KB。9KB选中分区6,恰好分配完,所以删去分区6。 (2)略

第五章

7.假定磁盘有200个柱面,编号0~199,当前存取臂的位置在143号柱面上,并刚刚完成了125号柱面的服务请求,如果请求队列的先后顺序是:86,147,91,177,94,150,102,175,130;试问:为完成上述请求,下列算法存取臂移动的总量是多少?并算出存取臂移动的顺序。 (1)先来先服务算法FCFS;(2)最短查找时间优先算法SSTF;(3)扫描算法SCAN。(4)电梯调度。

答:(1)先来先服务算法FCFS为565,依次为143-86-147-91-177-94-150-102-175-130。

(2)最短查找时间优先算法SSTF为162,依次为143-147-150-130-102-94-91-86-175-177。 (3)扫描算法SCAN为169,依次为143-147-150-175-177-199-130-102-94-91-86。 (4)电梯调度为125(先向地址大的方向),

依次为143-147-150-175-177-130-102-94-91-86。

9、若磁头的当前位置为100柱面,磁头正向磁道号减小方向移动。现有磁盘读写请求队列,柱面号依次为:190,10,160,80,90,125,30,20,29,140,25。若采用最短寻道时间优先算法和电梯调度算法,试计算出各种算法的移臂所经过的柱面数。

答:SSTF:100-90-80-125-140-160-190-30-29-25-20-10,总柱面数为310。

电梯调度:100-90-80-30-29-25-20-10-125-140-160-190,总柱面数为270

补充习题:

12

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4