基于同步机制的理发师问题(终123)论文.doc

基于同步机制的理发师问题(终123)论文.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于同步机制的理发师问题(终123)论文

操作系统 课程设计任务书 学 院 计算机与信息工程学院 专 业 计算机科学与技术 课程名称 操作系统 题 目 基于进程同步机制的理发师问题模拟 完成期限 自2013年6月3日至2013年6月30日 内 容 及 任 务 一、项目的目的 1. 理解经典进程同步机制,尤其是生产者-消费者问题; 2. 能够用P、V操作实现理发师问题; 3. 通过应用P、V函数实现理发师问题进一步理解进程同步机制。 二、项目任务的主要内容和要求 1. 根据理发师问题的基本思想,设计相关数据结构,编写程序实现理发师问题; 2. 设计测试数据、测试方法,运行各算法,根据运行结果分析数据,比较各种算法。 3. 按照要求撰写课程设计报告。 三、项目设计(研究)思路 假设一个理店,有一个理发师,最多有m个顾客到达,有m张椅子。当无顾客时,理发师休息;当一个顾客走进理发店的时候,如果理发师正在给其他顾客理发,则找一张空坐下等待;如果理发师因无顾客正在理发,则新到的顾客唤醒理发师为其理发 进 度 安 排 起止日期 工作内容 2013.6.3-2013.6.8 明确课程设计任务、要求,确定任务分工。 2013.6.9-2013.6.14 查阅资料,设计测试方法,实现各种算法。 2013.6.15-2013.6.27 设计测试数据,进行算法测试,分析和比较测试结果,撰写设计说明书。 主 要 参 考 资 料 1. 汤小丹等.计算机操作系统(第三版)[M].西安:电子科技大学出版社,2007. 2.张小进.Linux系统应用基础教程[M]. 北京:机械工业出版社,2008. 3. Bruce Eckel. Java编程思想[M].陈昊鹏C程序设计(第四版/k/505/[DB/OL]. 指导教师 意见 (签字): 年 月 日 系(教研室)主任意见 (签字): 年 月 日 操作系统 设计说明书 学院名称: 计算机与信息工程 班级名称: 计算机科学与技术 学生姓名: 学 号: 题 目: 基于同步机制的理发师问题 指导教师: 起止日期: 2013年6月3日~2013年6月30日 目录 1 选题背景 5 2 设计理念 5 3 过程论述 6 3.1 函数解释 6 3.2 概要设计 7 3.2.1 主函数模块 7 3.2.2 理发师进程模块 7 3.2.3 顾客进程模块 8 3.3 详细设计和代码 9 3.3.1 PV操作伪代码 9 3.3.2 理发师进程模块代码 10 3.3.3 顾客进程模块代码 10 4 结果分析 11 5 设计总结 12 6 参考文献 13 7 附录 13 1 选题背景 在操作系统理论中有一个非常重要的概念叫做P,V原语。在我们研究进程间的互斥的时候经常会引入这个概念,将P,V操作方法,来解决进程间的互斥问题。实际上,P、V原语的应用范围很广,不但可以解决进程同步与进程通信的问题而且我们还可以利用此方法解决进程管理当中的互斥问题。 那么操作系统中是如何实现P、V操作的呢?下面我们通过一个例子来说明。 wait(S): while S=0 do no-op; S:=S- 1; signal(S): S:=S+1; 说明:wait(S)和signal(S)是两个原子操作,因此,它们在执行时是不可中断的。亦即,当进程在修改某信号量时,没有其他进程可同时对该信号量进行修改。此外,在wait操作中,对S值得测试和做S:=S-1操作时都不可中断。 理发师问题可以理解为经典进程同理发师问题可以理解为经典进程同步问题的一个具体问题,可以使用P、V操作解决理发师和顾客之间的同步问题。 2 设计理念 假设有家理发店,店里有一个理发师、一把理发椅和n把等候理发的顾客椅子。理发过程如下: 如果没有顾客则理发师便睡觉。当有一个顾客到达时,?首先查看理发师在干什么,如果在睡觉则唤醒理发师理发,然后坐到理发椅上开始理发;如果理发师正在理发,则查看是否有空的椅子可坐,如果有,他就坐下等待,如果没有,则离开;理发师为一位顾客理完发后,查看是否

文档评论(0)

2017meng + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档