第一范文网 - 专业文章范例文档资料分享平台

有关进程的练习题

来源:用户分享 时间:2025/6/7 22:12:55 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

P1: 1 0 0 0 1 7 5 0 P2: 1 3 5 4 2 3 5 6 P3: 0 3 3 2 0 6 5 2 P4: 0 0 1 4 0 6 5 6

试问:(1) 当前状态是否安全?若是安全状态,请给出进程安全序列。 (2) 如果进程P2提出请求Request2=(1,2,2,2),系统能否将资源分配给它?说明原因. 解答:(1)当前状态是安全的。找出进程安全序列的分析过程如下: Pi Needi Available P0 A B C D 0 0 1 2 1 6 2 3 P3 A B C D 0 6 5 2 1 6 5 5 P1 A B C D 1 7 5 0 1 9 8 7 P4 A B C D 0 6 5 6 2 9 8 7 P2 A B C D 2 3 5 6 2 9 9 11 从分析过程,可得出进程安全序列是:{ P0,P3,P1,P4,P2}。

(2)按照银行家算法, 因Request2(1, 2,2,2)≤ Need2(2,3,5,6), 且Request2(1, 2,2,2)≤ Available(1,6,3,2),

试探性地将请求的资源分给进程P2,并修改有关数据结构的数值:

Available= Available(1,6,3,2)- Request2(1, 2,2,2) = Available(0,4,1,0)

Need2= Need2(2,3,5,6)-Request2(1, 2,2,2)=Need2(1,1,3,4) Allocation2= Allocation2(1,3,5,4)+ Request2(1, 2,2,2) = Allocation2(2,5,7,6)

此时系统可用资源Available(0,4,1,0)均不能满足这五个进程还需要的资源数量,分别是(0,0,1,2)、(1,7,5,0)、(1,1,3,4)、(0,6,5,2)和(0,6,5,6)。系统将进入不安全状态,恢复Need2、Allocation2及Available原来的值。结论是:对进程P2的请求不予分配,进程P2阻塞等待。 .

(见习题15)关于读者/写者问题,有人给出如下改进解法: semaphore r_w_w, mutex, s; (初值均为1) int count; (初值为0)

读者活动: P(s); P(mutex); count++;

if (count= =1) P(r_w_w); V(mutex); V(s); {读操作} P(mutex); count--;

If (count= =0) V(r_w_w); V(mutex);

写者活动: P(s); P(r_w_w); {写操作} V(r_w_w); V(s);

分析上述改进算法的调度效果。

答:由于s以及读者和写者对s的操作,读者和写者都不会无限等待,因而算法不会出现饿死现象,是一个公平的解法

考研题库: http://oa.gdut.edu.cn/os/exercises/index-exe.htm

搜索更多关于: 有关进程的练习题 的文档
有关进程的练习题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3l91i3r8wn7k6x46aj4z_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top