《操作系统》期末考试试卷1参考答案
参考答案与评分标准
一、单项选择题(共10题,每题2分,共20分)
题 号 1 2 3 4 5 6 7 8 9 10
答 案 D B B B D D B D D D
二、填空题(共5题,每题2分,共10分)
题号 1 2 3 4 5
答案 预防 就绪 进程 1 5
三、简答与计算题(共7题,共54分)
1.【参考答案及评分标准】设每个进程最多申请资源x个(1≤x≤m),最坏情况下,为进程分配资源数为n(x-1)。系统剩余资源为m-n(x-1)。 (2分)
只要m-n(x-1)≥1;则系统不会出现死锁。
整理得:nx≤m+n-1,所以nx≤m+n时,不会引起死锁。 (4分)
2.【参考答案及评分标准】(1)安全; (1分)
存在一个安全序列:P0、P3、P4、P1、P2 (3分)
注:安全序列不只一种,可酌情给分。
(2)不能分配给它; (1分) 试分配如表所示:
Process Allocation Need Available
A B C D A B C D A B C D
P0 0 0 3 2 0 0 1 2 0 4 0 0
P1 1 0 0 0 1 7 5 0
P2 2 5 7 6 1 1 3 4
P3 0 3 3 2 0 6 5 2
P4 0 0 1 4 0 6 5 6
无法找到安全序列,故不能分配。 (3分)
3.【参考答案及评分标准】(1)采用FCFS的调度算法时,各任务在系统中的执行情况如表所示:
执行次序 运行时间 优先数 等待时间 周转时间
A 10 3 0 10
B 6 5 10 16
C 2 2 16 18
D 4 1 18 22
E 8 4 22 30
所以,进程的平均周转时间为:
T=(10+16+18+22+30)/5=19.2 min (4分)
(2)采用优先级调度算法时,各任务在系统中的执行情况如下所示:
执行次序 运行时间 优先数 等待时间 周转时间
B 6 5 0 6
E 8 4 6 14
A 10 3 14 24
C 2 2 24 26
D 4 1 26 30
进程的平均周转时间为T=(6+14+24+26+30)/5=20 min (4分)
【参考答案及评分标准】针对序列1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6,LRU算法执行过程如图所示:
5 5 5 5 5 5 7 7 7
4 4 4 4 4 4 4 4 3 3 3 3
3 3 3 3 3 6 6 6 6 6 6 6 6
2 2 2 2 2 2 2 2 2 2 2 2 2 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
7 7 7 7 7
3 3 3 3 3
6 6 6 6 6
2 2 2 2 2
1 1 1 1 1
缺页次数为8次,缺页率=8/20=40%(图3分,求出缺页率1分)
FIFO算法执行过程如图所示:
5 5 5 5 5 5 7 7 7
4 4 4 4 4 4 4 4 3 3 3 3
3 3 3 3 3 3 3 3 2 2 2 2 2
2 2 2 2 2 2 2 2 1 1 1 1 1 1
1 1 1 1 1 1 1 6 6 6 6 6 6 6 6
7 7 7 7 7
3 3 3 3 3
2 2 2 2 2
1 1 1 1 1
6 6 6 6 6
缺页次数为10次,缺页率=10/20=50%(图3分,求出缺页率1分)
- 【参考答案及评分标准】由题意,页的大小为1K,则地址的低10位为页内偏移量,其余为页号,于是:0x03B7的地址:0000 00 11 1011 0111,可知页号为0,查页表得到物理块号为0x1C,物理地址为:0001 11 00 11 1011 0111,因此物理地址=0x73B7 。 (3分)
0x12A5的地址:0001 0010 1010 0101,可知,页号为4,不在内存,产生缺页。(3分)
0x1432的地址:0001 0100 0011 0010,可知页号为5,产生地址越界,出错。(2分)
6.【参考答案及评分标准】先计算出每种算法的柱面移动总量。因为每个柱面移动需要6ms,所以,寻道时间=柱面移动总量×6ms。 (2分)
(1)先到先服务算法的调度顺序为:10、22、20、2、40、6、38;柱面移动总量为:146;寻道时间为:146×6ms=876ms (3分)
(2)电梯算法调度算法:如果磁臂运动方向为自外而内,则调度顺序为:20、22、38、40、10、6、2;柱面移动总量为58;寻道时间为58×6ms=348ms (3分)
如果磁臂运动方向为自外而内,则调度顺序为:20,10,6,2,22,38,40,可以计算出移动总量为56,时间为336ms。
7.【参考答案及评分标准】SPOOLing(即外部设备联机并行操作),即Simultaneous Peripheral Operation On-Line的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。SPOOLing系统的三大组成部分:(1)输入井和输出井;(2)输入缓冲和输出缓冲;(3)输入进程SPi和输出进程SPo (3分)
将一台独享打印机改造为可供多个用户共享的打印机,是应用SPOOLing技术的典型实例。具体做法是:系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。 (5分)
四、程序与算法(共1题,每题16分,共16分)
【参考答案及评分标准】(1)定义一信号量S,初始值为 20 。 (2分)
意义:
S>0 S 的值表示可继续进入售票厅的人数
S=0 表示售票厅中已有20名顾客 ( 购票者 )
S<0 |S| 的值为等待进入售票厅的人数 (6分)
(2)COBEGIN
PROCESS Pi(i=1 , 2 , ……)
begin
P(S);
进入售票厅;
购票;
退出;
V(S);
end
COEND (8分)