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

历年操作系统考研真题

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

【参考答案】D

【考查知识点】页面分配策略和页面置换策略的概念和相应的方法。

45. 有A、B 两人通过信箱进行辩论,每人都从自己的信箱中取得对方的问 题。将答案和向对方提出的新问题组成一个邮件放入对方的邮箱中,设A 的信箱 最多放M 个邮件,B 的信箱最多放N 个邮件。初始时A 的信箱中有x 个邮件 (0

While(TRUE){

从A 的信箱中取出一个邮件; 回答问题并提出一个新问题; 将新邮件放入B 的信箱; } } B{

While(TRUE){

从B 的信箱中取出一个邮件; 回答问题并提出一个新问题; 将新邮件放入A 的信箱; } }

Code End

当信箱不为空时,辩论者才能从信箱中取邮件,否则等待。 当信箱不满时,辩论者才能将新邮件放入信箱,否则等待。

请添加必要的信号量和P、V(或wait, signed)操作,以实现上述过程的 同步,要求写出完整过程,并说明信号量的含义和初值。

【参考答案】

Semaphore mutexA=1; Semaphore mutexB=1; Semaphore emptyA=M; Semaphore emptyB=N; Semaphore fullA=0; Semaphore fullB=0; Code Begin

A{

While(TRUE){ P(fullA); P(mutexA)

Get a mail from A_mailbox; V(mutexA); V(fullA);

Answer the question and raise a question;

P(emptyB); P(mutexB)

send the mail to B; V(mutexB); V(emptyB); } } B{

While(TRUE){ P(fullB); P(mutexB)

Get a mail from B_mailbox; V(mutexB); V(fullB);

Answer the question and raise a question; P(emptyA); P(mutexA)

send the mail to A; V(mutexA); V(emptyA); } }

Code End

【考查知识点】考察了利用信号量进程同步问题。

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