欢迎来到天天文库
浏览记录
ID:51469576
大小:75.00 KB
页数:4页
时间:2020-03-25
《操作系统教程与实验 胡明庆 高巍 钟梅 课后习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、习题51.操作系统对于资源的分配有哪两种基本方式?答:操作系统对资源进行分配的方法主要有静态分配和动态分配两种。静态分配指在作业级实施的资源分配,分配给作业的资源伴随作业的整个运行过程,当作业完成时才被释放,因此利用率很低。动态分配指在进程级实施的资源分配,当进程请求资源时分配资源,进程使用完毕后立即释放,所以利用率很高。2.什么是死锁?死锁产生的必要条件有哪些?操作系统如何规避死锁?答:死锁是一种系统状态,在死锁状态下,系统中所有的进程都处于阻塞态,每个处于阻塞的进程都占有了其它阻塞进程所需要
2、的资源或条件,而它所占用的资源或条件在其阻塞时不能被剥夺。因此,解除它们阻塞的事件或条件永远也不会发生。死锁产生的必要条件有以下4个:1.互斥条件。并发进程所请求的资源是互斥使用的独占资源,即一次只能被一个进程使用的资源,具有排它性。2.不可剥夺条件。进程所占有的资源在没有使用完之前不能被其它进程强行占用,只能由占有该资源的进程自己释放。3.部分分配条件。进程对于自己所需要的资源每次只请求一部分,操作系统允许部分资源的分配。4.环路条件。系统中各并发进程对于资源的占有和请求形成环路,即请求箭头方
3、向和占有箭头方向形成环路。操作系统规避死锁的方法有3种:预防、避免、检测与恢复。死锁预防就是事先预防死锁的发生。它要求操作系统采取某种策略,限制并发进程对资源的请求,从而使死锁的必要条件在任何时候都不会满足的一种静态解决方法。死锁避免是指操作系统在动态分配过程中对每一次的分配都要采取某种策略去判断一下当前的分配有没有导致死锁的可能性,没有则实施分配,有则拒绝分配,从而动态地避免死锁的产生,是动态规避死锁的方法。死锁的检测与恢复是指系统设置专门机构,在死锁发生时该机构能够及时检测出死锁发生的位置和
4、原因,并能够通过外力破坏死锁产生的一个必要条件,从而使并发进程能够从死锁状态中恢复出来。3.静态分配与有序分配分别破坏的是死锁必要条件中的哪个条件?答:静态分配破坏死锁必要条件中的部分分配条件;有序分配分别破坏的是死锁必要条件中的环路条件。4.如果系统中有8个进程,它们对于某类独占资源的需求皆为10个,操作系统对于资源的分配采用需要多少分配多少的方式。试问该资源最少需要多少系统才不会产生死锁?解:设最小资源数为M,则M=8*(10-1)+1=73∴当最小资源数为73时小题不会产生死锁。1555.
5、设某系统有R1、R2、R3三种资源,在T0时刻P1、P2、P3、P4进程对资源的占有和需求情况如表Error!Notextofspecifiedstyleindocument.1所示,设系统剩余的可用资源向量为(2,1,2)。表Error!Notextofspecifiedstyleindocument.1进程对资源的占有和需求情况进程最大需求已分配R1R2R3R1R2R3P1322100P2613411P3314211P4422002⑴.将系统中各种资源总数和此刻各进程对各资源的需求数目用
6、向量或矩阵表示出来。解:系统资源总数=已分配数+剩余数=(1+4+2+2,1+1+1,1+1+2+2)=(9,3,6)剩余需求=最大需求-已分配数剩余需求矩阵:进程剩余需求R1R2R3P1222P2202P3103P4420⑵.如果此刻P1、P3都发出资源请求向量(1,0,2),系统应该如何实施分配?为什么?如果可以分配,请给出可以实施分配的一种安全序列。答:P1、P3都不能分配。∵如果对P1实施了分配,则系统剩余资源数为(1,1,0),该剩余资源数不能满足任何一个进程的剩余需求,因而找不到一个
7、安全序列存在。如果对P3实施了分配,则系统剩余资源数为(1,1,0),该剩余资源数同样不能满足任何一个进程的剩余需求,因而也找不到一个安全序列存在。∴所以不能对它们实施分配。此时只能对P2进行分配,因为当前的剩余资源数可以保证P2完成,而P2完成所释放的资源就可以至少得到下面的安全序列{P2,P1,P3,P4}。6.作业调度属于哪一级调度?作业处于运行态时表示该作业占有了处理机吗?答:作业调度属于宏观调度或高级调度,当作业处于运行态时只表示该作业已经作为相应的进程插入就绪队列,获得竞争CPU的权
8、限,并不表示一定占有CPU。7.进程调度或线程调度属于哪一级调度?进程处于运行态时表示该作业占有了处理机吗?155答:进程调度或线程调度属于微观调度或低级调度,当进程或线程处于运行态时表示占有了CPU。8.什么是进程上下文?操作系统在进行进程上下文切换时需要做哪些工作?答:进程上下文指发生进程切换时的运行现场,它由进程的正文段、数据段、CPU的寄存器以及有关的数据结构组成。寄存器包括继续执行的代码段寄存器、指令地址寄存器、处理机状态寄存器、控制寄存器以及堆栈指针寄存器等等;数据结构包括进程PCB
此文档下载收益归作者所有