如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
*******************实践教学*******************兰州理工大学计算机与通信学院2013年秋季学期操作系统原理课程设计题目:苹果-桔子问题的实现专业班级:计算机科学与技术姓名:学号:指导教师:王旭阳成绩:_____________PAGE\*MERGEFORMAT摘要本设计实际上是生产者-消费者问题的一种变形。这里,生产者(父亲和母亲)放入缓冲区(盘子)的产品有两类(苹果和桔子),消费者(女儿和儿子)也有两类,每类消费者只消费其中固定的一类产品。生产者和消费者共享缓冲区,缓冲区中有空时,生产者可放入产品(不许放重),否则等待。缓冲区中有产品时,消费者可取出产品(不许取重),否则等待。关键词:进程同步;PV操作;互斥;信号量目录TOC\o"1-3"\h\z\uHYPERLINK\l_Toc29035摘要PAGEREF_Toc29035IHYPERLINK\l_Toc20738第一章需求分析PAGEREF_Toc207381HYPERLINK\l_Toc67401.1吃水果问题的描述PAGEREF_Toc67401HYPERLINK\l_Toc126711.2问题的转换PAGEREF_Toc126711HYPERLINK\l_Toc22214第二章功能设计PAGEREF_Toc222141HYPERLINK\l_Toc66712.1数据结构PAGEREF_Toc66711HYPERLINK\l_Toc73072.2模块说明PAGEREF_Toc73072HYPERLINK\l_Toc161292.2.1主函数PAGEREF_Toc161292HYPERLINK\l_Toc279192.2.24个调度进程函数PAGEREF_Toc279192HYPERLINK\l_Toc105032.3操作的流程图PAGEREF_Toc105033HYPERLINK\l_Toc203252.3.1放水果操作PAGEREF_Toc203253HYPERLINK\l_Toc18982.3.2取水果操作PAGEREF_Toc18985HYPERLINK\l_Toc287172.4P、V原语的描述PAGEREF_Toc287175HYPERLINK\l_Toc3290第3章各模块的伪码算法PAGEREF_Toc32907HYPERLINK\l_Toc219263.1算法设计PAGEREF_Toc219267HYPERLINK\l_Toc296323.1.1父亲进程模块PAGEREF_Toc296327HYPERLINK\l_Toc289653.1.2母亲进程模块PAGEREF_Toc289657HYPERLINK\l_Toc282323.1.3儿子进程模块PAGEREF_Toc282328HYPERLINK\l_Toc249843.1.5Print函数PAGEREF_Toc249848HYPERLINK\l_Toc10098第4章开发平台及程序清单的主要部分PAGEREF_Toc100989HYPERLINK\l_Toc58124.1开发平台PAGEREF_Toc58129HYPERLINK\l_Toc26091第5章运行结果与运行情况分析PAGEREF_Toc2609111HYPERLINK\l_Toc171525.1运行结果PAGEREF_Toc1715211HYPERLINK\l_Toc9860课程设计总结PAGEREF_Toc986013HYPERLINK\l_Toc15075参考文献PAGEREF_Toc1507514HYPERLINK\l_Toc29560附录:部分源程序代码PAGEREF_Toc2956015PAGE\*MERGEFORMAT18第一章需求分析1.1吃水果问题的描述桌上有一个空盘子,只允许放一个水果。爸爸专向盘中放苹果,妈妈专向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时,一次只能放一个水果。1.2问题的转换这是进程同步问题的模拟,可以把向盘子放或取水果的每一个过程可以转为一个进程的操作,这些进程是互斥的,同时也存在一定的同步关系。通过