苹果橘子问题

苹果橘子问题

ID:44115882

大小:654.80 KB

页数:27页

时间:2019-10-18

苹果橘子问题_第1页
苹果橘子问题_第2页
苹果橘子问题_第3页
苹果橘子问题_第4页
苹果橘子问题_第5页
资源描述:

《苹果橘子问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实践教学兰州理工大学计算机与通信学院2013年秋季学期操作系统原理课程设计题目:苹果一桔子问题的实现专业班级:姓名:学号:指导教师:成绩:摘耍2正文31•问题描述32.设计目的33.设计要求44•详细设计44.1界面设计44.2算法设计54.2.1数据结构54.2.2模块声明64.2.3算法设计64.3流程图85.结果分析12设计总结16参考文献17致谢18附录:源程序代码19本设计实际是生产者一消费者的变形,是典型的进程同步问题。本问题利用C语言实现相应的P、V原语。主耍过程可用生产消费者来模拟,这里,生产者(父亲和母亲)放入缓冲区(盘子)的产品有两类(

2、苹果和桔子),消费者(女儿和儿了)也有两类,每类消费者只消费其中固定的一类产品。生产者和消费者共享缓冲区,缓冲区中有空时,生产者可放入产品(不许放重),否则等待。缓冲区屮有产品时,消费者可取岀产品(不许取重),否则等待。关键字:进程同步,P、V操作,信号量1•问题描述桌上有一个空盘子,只允许放一个水果。爸爸专向盘中放苹果,妈妈专向盘屮放桔子,儿子专等吃盘屮的桔子,女儿专等吃盘屮的苹果。规定当盘空时,一次只能放一个水果。这个问题实际上是两个生产者和两个消费者被连接到仅能放一个产品的缓冲器上。生产者各自生产不同的产品,但就其本质而言,他们是同一类生产者。而消费

3、者则各自去需要的产品消费,但消费的方式不同。解决此类问题利用记录型信号量机制和P、V操作来实现进程同步。进程同步是指-•个进程的执行依赖于另一个进程的信号或消息,当一个进程没有得到來口与另一个进程的信号或消息时则等待,直到信号或消息到达才被唤醒。2.设计目的木实验是典型的进程同步问题。某些进程为了完成同一任务分工合作,由于合作的每一个进程都是独立的不可预知的推进,这就需要相互合作的进程在某些合作点上协调各口的工作。当合作进程中的一个到达合作点后,在尚未得到其他合作进程发來的消息或信号前应阻塞自C,宜到其合作进程发来协调信号或消息后才能被唤醒。这就是进程同步

4、要解决的问题。木实验借助c语言实现进程同步经典问题一苹果-桔子问题,用高级语言编写和调试一个进程同步程序,以加深对进程同步机制的理解。通过用C语言模拟进程同步实现,加深理解有关进程同步机制的概念及p、V操作的应用。通过该题冃的设计过程,掌握进程同步问题的原理、软件开发方法并提高解决实际问题的能力。3•设计要求(1)分析设计要求,给出解决方案(要说明设计实现所用的原理、采用的数据结构)。(2)设计合适的测试用例,对得到的运行结果要有分析。(3)设计中遇到的问题,设计的心得体会。(4)文档:课程设计打印文档每个学生一份,并装在统一的资料袋中,资料袋前面要贴有学

5、校统一的资料袋封面。(5)光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成5寸光盘,并复制四份(共五张内容和同的光盘),放在一个专门的资料袋中,不必再装软盘。4•详细设计4.1界面设计printf(”现在盘子里冇%(3个苹果,%d个桔子H,apple,orange);观在盘于里有上企苹果亠0个桔子printf("father进程处于等待状态”);printf(Hmother进程处于等待状态J;printf(”son进程处于等待状态”);printf

6、(ndaughter进程处丁•等待状态”);aughte片进程处于等待状态■JJ■d4亠亠i-—♦printf(n第%01次操作:k+l);printfC处于等待的daughter自动被调用”);寺待旳daughter目或

7、祓碉用/—!!L—!■———八——匕■―printf(n处于等待的son自动被调用。”);小于等待的son自动祓取洎。print"处于等待的father自动被调用“);printfC处于等待的mother□动被调用”);小于等待的moth"自动被调用printf(n处于等待的father口动被调用“);处于

8、等徒迪冬讣甲咱动被调用printf(Mfather调用ArT);printf(Mmother调用An”);printf(Hson调用An");printf(”daughter调用”);■Iaughter1:4.2算法设计421数据结构(1)用一个整型变量plat_size表示盘了,初始值为0,plat_size=apple+orange,当放水果plat_size加1,取水果plat_size减1。当plat_size为1时,表示盘子已满,此时若进行放水果操作,放水果将处于等待状态;当为0时・,表示盘子已空,此时若进行取水果操作,取水果操作将处丁•等待

9、状态。⑵整型变量onmg和apple分别表示盘小桔子和苹果的数口,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。