操作系统(谌卫军王浩娟)课后习题参考答案

上传人:yh****1 文档编号:125642582 上传时间:2020-03-18 格式:DOC 页数:19 大小:73KB
返回 下载 相关 举报
操作系统(谌卫军王浩娟)课后习题参考答案_第1页
第1页 / 共19页
操作系统(谌卫军王浩娟)课后习题参考答案_第2页
第2页 / 共19页
操作系统(谌卫军王浩娟)课后习题参考答案_第3页
第3页 / 共19页
操作系统(谌卫军王浩娟)课后习题参考答案_第4页
第4页 / 共19页
操作系统(谌卫军王浩娟)课后习题参考答案_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《操作系统(谌卫军王浩娟)课后习题参考答案》由会员分享,可在线阅读,更多相关《操作系统(谌卫军王浩娟)课后习题参考答案(19页珍藏版)》请在金锄头文库上搜索。

1、 第1章 概述一、单项选择题D、A、B、A、C、D、C、A、C、B二、填空题Windows、linux用户态、内核态PSW中断同步中断系统调用I/O设备管理、文件系统实时性、可靠性第2章 进程管理一、单项选择题D、D、C、D、B、A、B、D、C、CB、B、B、D、B、A、B、A二、填空题PCB运行、就像、阻塞4、5时间片用完进程管理、存储管理PCB进程CPU寄存器的值、栈竞争状态运行、就绪I/O繁忙SJFFCFS短进程、I/O繁忙进程三、简答题1、运行状态、阻塞状态、就绪状态 运行-阻塞:如进行I/O操作、进程间同步关系; 运行-就绪:时间片用完、被高优先级进程所打断; 阻塞-就绪:等待的I/

2、O操作、信号量等事件发生; 就绪-运行:调度程序选中该进程运行; 2、 (1)进程是资源分配单位,拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈; (2)线程能减少并发执行的时间和空间开销,包括创建时间、终止时间、切换时间; (3)线程之间可以共享同一个地址空间,可以进行不通过内核的通信,而进程不行; (4)线程 轻量级进程; (5)线程是CPU调度单位;3、 (1)当一个新的进程被创建时; (2)当一个进程运行完毕时; (3)当一个进程由于I/O、信号量或其他的某个原因被阻塞时; (4)当一个I/O中断发生时,表明某个I/O操作已经完成,而等待该I/O操作的进程转入就绪状态

3、; (5)在分时系统中,当一个进程的时间片用完时;4、 RR算法的基本思路: (1)将所有的就绪进程按照FCFS原则,排成一个队列; (2)每次调度时将处理器分派给队首进程,让其执行一小段CPU时间; (3)在一个时间片结束时,如果进程还没有执行完的话,将发生时钟中断,在时钟中断中,进程调度程序将暂停当前进程的执行,并将其送到就绪队列的末尾,然后执行当前的队首进程; (4)如果进程在它的时间片用完之前就已结束或被阻塞,那么立即让出CPU。 RR算法的主要缺点:时间片q的大小难以确定。5、(1)时间片用完,高优先级进程就绪(2)不会发生切换(3)PCB(4)不需要(5)不能四、应用题1、(1)C

4、PU空闲:100ms150ms(2)A无等待,B有等待,180ms200ms2、(1)Job1从投入到运行完成需要110ms,Job2从投入到运行完成需要90ms,Job3从投入到运行完成需要110ms:(2)CPU的利用率:(11030)/110 = 72.7%;(3)设备I1的利用率:(110-30)/110 = 72.7%,设备I2的利用率:(110-20)/110 = 81.8%。3、(1)这种机制不能实现资源的互斥访问考虑如下的情形: (a)初始化的时候,flag数组的两个元素值均为FALSE (b)线程0先执行,在执行while循环语句的时候,由于flag1=FALSE,所以顺利结

5、束,不会被卡住。假设这个时候来了一个时钟中断,打断它的运行; (c)线程1去执行,在执行while循环语句的时候,由于flag0=FALSE,所以顺利结束,不会被卡住,然后就进入了临界区; (d)后来当线程0再执行的时候,也进入了临界区,这样就同时有两个线程在临界区 (2)可能会出现死锁考虑如下的情形: (a)初始化的时候,flag数组的两个元素值均为FALSE (b)线程0先执行,flag0=TRUE,假设这个时候来了一个时钟中断,打断它的运行; (c)线程1去执行,flag1=TRUE,在执行while循环语句的时候,由于flag0=TRUE,所以在这个地方被卡住了,直到时间片用完; (d

6、)线程0再执行的时候,由于flag1=TRUE,它也在while循环语句的地方被卡住了,这样,这两个线程都无法执行下去,从而死锁。4、 (1)最后打印了3个字符D (2)最少可能打印了0个字符A,例如,P1连续执行了3次,然后P3连续执行了3次。P2一次也没有执行。 (3)不可能,因为当打印出前面的“CABAB”的时候,信号量R的值等于1,此时,不可能连续打印两个D。 (4)可能。相当于进程P2在打印完第二个A的时候被中断了。5、(1)信号量的定义:int boys_waiting = 0, girls_waiting = 0, using = 0;Semaphore S_mutex = 1,

7、 S_boys = 0, S_girls = 0;(2) void boy_wants_to_use_bathroom() P(S_mutex); if(using = 0) & (girls_waiting = 0) using = 1; V(S_mutex); else boys_waiting +; V(S_mutex); P(S_boys); (3) void boy_leaves_bathroom() P(S_mutex); if(girls_waiting 0) girls_waiting -; V(S_girls); else if(boys_waiting 0) boys_wa

8、iting -; V(S_boys); else using = 0; V(S_mutex);(4) void girl_wants_to_use_bathroom() P(S_mutex); if(using = 0) using = 1; V(S_mutex); else girls_waiting +; V(S_mutex); P(S_girls); (5) void girl_leaves_bathroom() P(S_mutex); if(girls_waiting 0) girls_waiting -; V(S_girls); else if(boys_waiting 0) boy

9、s_waiting -; V(S_boys); else using = 0; V(S_mutex);6、(1)FCFS算法: 周转时间:P1:52,P2:68,P3:136,P4:164 平均周转时间:105(2)SJF算法: 周转时间:P1:96,P2:16,P3:164,P4:44 平均周转时间:80(3)RR算法: 周转时间:P1:136,P2:36,P3:164,P4:124 平均周转时间:1157、(1)不可抢占的SJF算法: 执行顺序:P1(0-14)P4(14-18)P3(18-25)P5(25-32)P2(32-44) P1:14;P2:443=41;P3: 25-5=20;

10、 P4: 18-7=11; P5: 32-19=13 平均周转时间:(14+41+20+11+13)/5=19.8(2)可抢占的SJF算法: 执行顺序:P1、P3、P4、P3、P1、P5、P2 P1: 25-0 = 25; P2: 44-3=41; P3= 16-5=11; P4= 11-7=4; P5=32-19=13 平均周转时间:(25+41+11+4+13)/5=18.8(3)时间片轮转RR算法: 执行顺序:P1、P2、P1、P3、P4、P2、P1、P3、P5、P2、P1、P5 P1: 41 P2: 39-3=36 P3: 31-5=26; P4:20-7=13; P5=44-19=2

11、5 平均周转时间:(41+36+26+13+25)/5=28.28、(1)不正确,可能导致死锁 例如,开始时缓冲区为空,消费者先运行,通过了P(S_Mutex),由于此时S_ProductNum为0,所以在P(S_ProductNum)处被阻塞,而生产者会在P(S_Mutex)处被阻塞,从而死锁。 再比如:开始时缓冲区满了,生产者先运行,通过了P(S_Mutex),由于此时S_BufferNum为0,所以在P(S_BufferNum)处被阻塞,而消费者会在P(S_Mutex)处被阻塞,从而死锁。(2)不正确,可能导致死锁 例如,假设现在缓冲区已经满了,然后生产者先运行,通过了P(S_Mutex

12、),在P(S_BufferNUM)处被阻塞,然后消费者执行,在P(S_Mutex)处被阻塞,从而死锁。(3)正确 缺点是降低了并发性,应该在离开临界区后立即释放互斥信号量,这样才能提高进程之间的并发性。第3章 死锁一、选择题D、B、C、D、C二、填空题竞争资源CPU、内存不对互斥条件、请求和保持条件环路2个死锁避免剥夺资源、进程回退、撤消进程三、应用题1、令R1+R2+.+Rn n+k 0=km由于C1+C2+.+Cn + R1+R2+.+Rn n+m所以C1+C2+.+Cn k,即 A = k+1而对于每一个进程Pi,Ri = k+1,所以任何一个进程的资源请求都能够满足。2、 当N1、2、

13、3时都不会发生死锁的危险。 当N3时,在最坏情形下,每个进程都需要4台磁带机,且假定每个进程都已经得到了3个资源,那么此时系统中还剩下1个可用资源,可以把该资源分配给任何一个进程,当该进程得到资源后,可以运行完毕,并释放所占用的所有4个资源,这样,剩余的2个进程都可以顺利地运行完毕。3、(1)系统处于安全状态 1分当前剩余资源向量A = (2, 1, 1),调度顺序为: P4、*、*、*或者 P3,*, * , *(2)不能,如果分配的话,系统将处于不安全的状态。如果给它的话,那么当前剩余资源向量A = (0, 1, 1),无法把它分配给任何一个线程。请求矩阵变为0 2 14 1 01 0 02 0 04、(1)该状态是一个安全状态 安全序列:P1、P4、P5、P2、P3(或者P1 P4 P2 P5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号