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

操作系统试题(1)(2)

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

解答:

解法1:父亲先放水果,儿子女儿再吃水果;儿子女儿取完水果,父亲再放水果,这三个进程是一个同步关系。

设信号量m1表示父亲能否放水果,m2表示儿子能否取桔子,m3表示女儿能否取苹果。 初值:m1=1,m2=0,m3=0

父亲 P1 While(true) { 洗水果; P(m1); 放水果; If(是桔子)V(m2); Else V(m3); } 儿子 P2 While(true) { P(m2); 取桔子; V(m1); 吃桔子; } 女儿 P3 While(true) { P(m3); 取苹果; V(m1); 吃苹果; }

解法2:父亲先放水果,儿子女儿再吃水果;儿子女儿取完水果,父亲再放水果,这三个进程是一个同步关系。

设信号量m1表示父亲放完桔子,m2表示父亲放完苹果,m3表示儿子女儿取完苹果。 初值:m1=1,m2=0,m3=1

父亲 P1 While(true) { 洗水果; P(m3); 放水果; If(是桔子)V(m1); Else V(m2); } 儿子 P2 While(true) { P(m1); 取桔子; V(m3); 吃桔子; } 女儿 P3 While(true) { P(m2); 取苹果; V(m3); 吃苹果; }

(3)

父亲 P1 While(true) { 洗桔子; 放桔子; } 母亲 P2 While(true) { 洗苹果; 放苹果; } 儿子 P3 While(true) { 取水果; 吃水果; }

解答:父母亲先放水果,儿子再取水果吃;父亲与儿子,母亲与儿子是一个同步关系,父亲与母亲要竞争空盘子。

解法1:设信号量m1表示是否有空盘子,信号量m2表示儿子能否取水果。 Int m1=1,m2=0

父亲 P1 While(true) { 洗桔子; P(m1); 放桔子; V(m2); } 母亲 P2 While(true) { 洗苹果; P(m1); 放苹果; V(m2); } 儿子 P3 While(true) { P(m2); 取水果; V(m1); 吃水果; }

父母亲先放水果,儿子再取水果吃;父亲与儿子,母亲与儿子是一个同步关系,父亲与母亲要竞争空盘子。

解法2:设信号量m1表示父亲或母亲放完水果,信号量m2表示儿子取完水果。 Int m1=0,m2=1

父亲 P1 While(true) { 洗桔子; P(m2); 放桔子; V(m1); } (4)

母亲 P2 While(true) { 洗苹果; P(m2); 放苹果; V(m1); } 儿子 P3 While(true) { P(m1); 取水果; V(m2); 吃水果; }

父亲 P1 While(true) { 洗桔子; 放桔子; } 母亲 P2 While(true) { 洗苹果; 放苹果; } 儿子 P3 While(true) { 取苹果; 吃苹果; } 女儿 P4 While(true) { 取桔子; 吃桔子; }

分析:父母亲先放水果,儿子女儿再取水果;父亲与女儿,母亲与儿子是一个同步关系,父亲与母亲要竞争空盘子。

解法1:设信号量m1表示是否有空盘子,信号量m2表示儿子能否取苹果,m3表示女儿能否取桔子。

M1=1,m2=0,m3=0;

父亲 P1 While(true) { 洗桔子; P(m1); 放桔子; V(m3) } 母亲 P2 While(true) { 洗苹果; P(m1); 放苹果; V(m2); } 儿子 P3 While(true) { P(m2); 取苹果; V(m1); 吃苹果; } 女儿 P4 While(true) { P(m3); 取桔子; V(m1); 吃桔子; }

解法2:设信号量m1表示父亲放完桔子,信号量m2表示母亲放完苹果,m3表示儿子或女儿取完水果。

M1=0,m2=0,m3=1;

父亲 P1 While(true) { 洗桔子; P(m3); 放桔子; V(m1) } 母亲 P2 While(true) { 洗苹果; P(m3); 放苹果; V(m2); } 儿子 P3 While(true) { P(m2); 取苹果; V(m3); 吃苹果; } 女儿 P4 While(true) { P(m1); 取桔子; V(m3); 吃桔子; }

3.打印文件,试用PV操作来实现进程通信。

P1 While(true) { 从磁盘取文件; 放入缓冲1; } P2 While(true) { 从缓冲1取文件; 放入缓冲2; } P3 While(true) { 从缓冲2取文件; 打印文件; }

分析:P1做完,P2才能做,P3才能做。这三个进程是一个同步关系。 解法1:设信号量m1表示P1能否把文件放进缓冲1,m2表示P2能否从缓冲1取文件,m3表示P2能否把文件放入缓冲2,m4表示p3能否从缓冲2取文件。

M1=n, m2=0, m3=m, m4=0

P1 While(true) { 从磁盘取文件; P(m1); 放入缓冲1; V(m2); } P2 While(true) { P(m2); P(m3); 从缓冲1取文件; 放入缓冲2; V(m1); V(m4); } P3 While(true) { P(m4); 从缓冲2取文件; V(m3); 打印文件;

解法2:设信号量m1表示P1能否把文件放入缓冲1,m2表示P2能否从缓冲1取完文

件,m3表示P2能否把文件放入缓冲2,m4表示p3能否从缓冲2取完文件。

P1 While(true) { 从磁盘取文件; P(m2); 放入缓冲1; V(m1); } P2 While(true) { P(m1); 从缓冲1取文件; V(m2); P(m4); 放入缓冲2; V(m3); } P3 While(true) { P(m3); 从缓冲2取文件; V(m4); 打印文件; }

4.过独木桥,试用PV操作来实现进程通信。

P1 {

由西向东过独木桥; } P2 {

由东向西过独木桥;

}

解答:进程P1、P2因竞争独木桥这个资源而成为互斥关系。设:信号量m表示独木桥资源,初值为1表示资源可用。

P1 {

P(m);

通过独木桥; V(m); } P2 {

P(m);

通过独木桥; V(m);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统试题(1)(2)在线全文阅读。

操作系统试题(1)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/400820.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: