操作系统课程设计理发师问题说明书.docVIP

操作系统课程设计理发师问题说明书.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
该文档均来自互联网,如果侵犯了您的个人权益,请联系我们将立即删除!

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年秋季学期 操作系统 课程设计 题 目: 理发师问题 专业班级: 软件一班 姓 名: 唐振乙 学 号: 指导教师: 王旭阳 成 绩:_______________ 目 录 目 录··························································2 摘 要··························································3 关 键 字··························································3 设计思想··························································4 正 文··························································4 一、数据结构···················································5 1、信号量··················································5 2、全局变量················································5 3、函数····················································5 二、程序模块···················································6 理发师模块流程图······································6 顾客模块流程图·········································7 主程序流程图···········································8 PV操作伪代码··········································9 三、运行结果··················································10 代码编辑···············································10 编译运行···············································12 运行结果···············································12 设计总结·························································13参考文献· 致谢·················································14附录:源代码·····················································15 摘 要 理发师问题是一个利用信号量进行PV操作的经典问题。设计程序实现此问题,要使得理发师的活动与顾客的活动得到各自真实的模拟。所执行的程序应体现:理发师在没有顾客的时候去睡觉,有顾客则工作;顾客在理发师工作时坐下等待,无座时离开,直至等到理发师自己理发。 关键字:理发师,顾客,PV操作。 设计思想 打瞌睡的理发师问题是一种同步问题的抽象描述。计算机系统中的每个进程都可以消费或生产某类资源,当系统中某一进程使用某一资源时,可以看作是消耗,且该进程称为消费者。而当某个进程释放资源时,则它就相当一个生产者。因此此题可看作是n个生产者和1个消费者问题。顾客作为生产者,每到来一个就使计数器count增加1,以便让理发师理发(相当于消费)至最后一个顾客(相当于产品)。并且,第1个到来的顾客应负责唤醒理发师;如果不是第1个到达的顾客,则在有空椅子的情况下坐下等待,否则离开理发店(该消息可由计数器count获得)。所以可以通过一个有界缓冲区把理发师和顾客联系起来。而其中的信号也具有两种功能:一是跟踪资源的理发师和顾客的计数器;二是协调资源的理发师和顾客之间的同步器。通过对信号进行P、V操作来实现有关问题和相关描述。 数据结构: 1、信号量:int Custom;//所有到达的顾客,包括正在被理发的顾 客,所以一般情况下,C

文档评论(0)

sanshengyuan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档