南京晓庄操作系统习题册答案(3)

来源:网络收集 时间:2025-09-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(10) 简述引起进程调度的原因。

答:缺乏资源——正在运行的进程因某个条件不能满足,进入阻塞状态;运行进程被撤下,引起调度另一个进程进入运行。

时间片到——分时系统中,每当时间片到,正在运行的进程被暂时停止,排入就绪队列,引起调度另一就绪进程进入运行

外部中断——外部中断信号引起调度。

进程结束——进程正常执行完毕,终止,此时系统调度另一进程运行。 (11) 进程调度有何功能?有哪些常用的调度算法?

答:查询、登记和更新进程控制表PCB中相应表项,并根据表项中的内容和状态作出选择决定;根据系统选定的调度算法,从就绪进程队列中选取一个就绪进程,分配CPU,并决定它运行多长时间(调度方式);进行实际分配工作,更新被调度进程和正在运行进出的PCB表项,修改状态,切换进程执行代码。 常用的调度算法有:先进先出法、短执行进程优先法、优先级调度法、轮转法等。 (12) 什么叫安全状态?常用什么方法保持系统处于安全状态?

答:若系统能按某种顺序(安全序列)来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成,此时系统处于安全状态。在银行家算法中检查资源分配后系统的安全性,保证系统处于安全状态,不会发生死锁。

(13) 进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约?(1)若干同

学去图书馆借书(2)两队举行篮球比赛(3)流水线生产的各道工序(4)商品生产和社会消费。 答:进程之间存在两种相互制约关系:

(1)间接相互制约——资源共享关系,是由于多个进程共享同一资源引起的。

(2)直接相互制约——相互合作关系,是由于多个进程相互合作,共同完成同一任务造成。 其中(1)、(2)属于间接相互制约,而(3)、(4)属于直接相互制约。

(14) 系统中有3个进程,4个相同类型的资源,每个进程最多需要2个资源,该系统是否回发生死锁?为

什么?

答:该系统不会发生死锁。因为4个资源分配给3个进程,无论如何分配,总会有1个进程能够分配到2个资源,该进程获得其最大资源数后,完成并释放其资源,剩余2个进程就可获得最大资源数,顺利完成,系统始终存在安全序列,故系统不会死锁。 (15) 资源分配图如下图,系统是否处于死锁状态?

r1 r2 r3 r4

答:对该图进行化简,得到如下图所示的结果。由于该图是不可完全简化的,所以根据死锁定理,系统处于死锁状态。

r1 r2 r3 r4

P0 ? ? P1 ? ? ? ? ? P2 P3 P4 P0 ? ? P1 ? ? ? ? ?

P2 P3 P4 (16) 简述解决死锁的途径:

1)、预防死锁——设置某些限制条件,去破坏产生死锁的四个必要条件之一。 2)、避免死锁——资源动态分配过程中,用某方法防止系统进入不安全状态。

3)、检测死锁——允许发生死锁,但通过系统设置的检测机构,检测死锁的发生,并精确确定与

死锁有关的进程和资源。

4)、解除死锁——将进程从死锁状态下解脱。

(17) 设有进程P1和P2并发执行,都要享用资源R1,R2,使用资源情况如下:

进程P1:……申请R1……申请R2……释放R1…… 进程P2:……申请R2……申请R1……释放R2…… 判断是否会产生死锁,并解释其原因。

答:在不同的运行推进速度下,可能产生死锁。在某时刻,P1占用R1,又去申请R2;而P2占用R2,又去申请R1;互不释放自己占用的资源,又得不到自己所需的资源,系统处于僵持状态,形成死锁。 (18) 简述死锁定理。

答:用资源分配图加以简化的方法来检测系统是否处于死锁状态。S为死锁状态的充分条件是,当且仅当s状态的资源分配图是不可完全简化的。该充分条件称为死锁定理。

四. 综合应用题

(1) 请用信号量实现4*100接力赛的同步过程

解答:

P1 P2 P3 P4 S1 S2 S3

P1、P2、P3和P4分别代表四位运动员,他们的跑步顺序受其位置的限制。从上图表示可以看出,此题相当于是用信号量描述前趋关系。 S1、S2、S3、的初值均为0。 P1:起跑——>前进100米——>V(S1)

P2:P(S1)——>起跑——>前进100米——>V(S2) P3:P(S2)——>起跑——>前进100米——>V(S3) P4:P(S3)——>起跑——>前进100米——>到达终点

(2) 有一发送者进程和一接收者进程,其流程如下。s是用于实现进程同步的信号量,m是用于实现进程

互斥的信号量。试完成流程图。假定缓冲区有无限多个,s和m的初值为多少? 发送者

将缓冲区放到消息链尾

V(m)

A

从消息链首取一个缓冲区

把信息写入缓冲区

D

申请缓冲区

C

接收者

解答:

s=0表示满缓冲的数量、即多少缓冲区里有消息 m=1表示互斥信号量 A:P(m)

B:V(m)

C:P(s)

D:P(m)

V(s)

释放缓冲区

B

从缓冲区取出消息

由题意,m用于实现进程互斥,初值应为1,并应成对出现,由接收者进程的V(m)操作可知,m用于实现消息链存、取缓冲区操作的互斥,故D为P(m)。相应的,A为P(m),B为V(m)。

由发送者进程可知,当发送者将一个消息放入消息链尾后,执行V(s)操作,故s表示接收者可取消息的数量,又因s用于实现进程同步,所以接收者接受消息前,应判断是否有消息可以取,需对s执行P操作,所以C为P(s),发送者发送消息前,接收者无消息可取,s的初值应为0。

(3) 桌上有一只盘子,最多允许存放两只水果,每次只能放入或取出一个水果。爸爸专向盘中放苹果,妈

妈专向盘中放桔子,两个儿子专等吃盘中的苹果,两个女儿专等吃盘中的桔子。试用PV操作实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。

解答:由题意,盘中最多可以放两只水果,而不管放入的是何种水果,故只要盘中有空位置,父母均可执行放水果的操作,即父母的放水果(苹果、桔子)操作仅取决于盘中是否有空位置。只有盘中有苹果,儿子才能取,只有盘中有桔子,女儿才能取,即儿女取水果的操作取决于相应水果是否存在。从另一个角度讲,父亲放苹果与儿子取苹果要同步,母亲放桔子与儿子取桔子要同步,分别需要用同步信号量实现。每次只能向盘子放入或从盘中取出一个水果,用互斥信号量实现。

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库南京晓庄操作系统习题册答案(3)在线全文阅读。

南京晓庄操作系统习题册答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/484265.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219