欢迎来到天天文库
浏览记录
ID:800722
大小:282.03 KB
页数:30页
时间:2017-09-05
《《实现生产者消费者问题》操作系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、******大学操作系统课程设计题目一:实现生产者消费者问题题目二:实现银行家算法指导老师:******班级:******班学号:******姓名:******2007年12月12日目录第一部分:实现生产者与消费者问题一、题目……………………………………………………………………………………………21、课程设计目的…………………………………………………………………………………22、课程设计要求…………………………………………………………………………………2二、设计内容………………………………………………………………………………………2三、开发环境…………………………………………
2、……………………………………………3四、分析设计………………………………………………………………………………………31、设计原理………………………………………………………………………………………32、涉及的数据结构………………………………………………………………………………53、流程图…………………………………………………………………………………………6五、运行示例及结果分析…………………………………………………………………………81、运行示例………………………………………………………………………………………82、运行结果分析:………………………………………………………………
3、………………9六、个人体会………………………………………………………………………………………9七、附录(源程序)………………………………………………………………………………10第二部分:实现银行家算法一、题目……………………………………………………………………………………………14课程设计目的…………………………………………………………………………………14二、设计内容………………………………………………………………………………………14三、开发环境………………………………………………………………………………………14四、分析设计……………………………………………………………
4、…………………………141、预备知识……………………………………………………………………………………142、设计原理……………………………………………………………………………………173、涉及的数据结构……………………………………………………………………………184、安全检测……………………………………………………………………………………185、流程图………………………………………………………………………………………19五、运行示例及结果分析…………………………………………………………………………191、运行示例……………………………………………………………………………………
5、192、运行结果分析:……………………………………………………………………………20六、个人体会………………………………………………………………………………………21七、附录(源程序)………………………………………………………………………………21参考文献………………………………………………………………………………………29第一部分:实现生产者与消费者问题一、题目:实现生产者与消费者问题此问题是经典的进程同步互斥问题,问题描述参见教材第36页和第46页,要求编程实现,生产者放入产品的和消费者取走产品的速度可以调节。1、课程设计目的:在我们所学的《操作系统》这门课程中,关于经典
6、进程的同步问题进行了一定的描述和探讨,介绍了几个经典的算法,需要我们在实践中学会熟练运用。在生产者与消费者问题中,需要我们了解进程同步的概念,理解信号量机制的原理,掌握运用信号量解决进程同步问题的方法,进而学会运用进程的同步与互斥解决生产者与消费者的冲突问题。2、课程设计要求:生产者与消费者问题可以算作是经典进程同步问题的典型代表。该课程设计要求运用基于单缓冲区和多缓冲区的生产者与消费者问题的多种实现机制,其中利用了数据结构中的循环队列和堆栈来模拟实现是一种比较容易实现的方法。这种思想能够帮助我们更好的理解所学内容,并加以锻炼我们的动手实践能力,实现它内在具有的超强的参考价值
7、和实践意义。该课程设计通过了解进程间的两种制约关系,从而理解信号量机制;通过对实例的分析和讨论,理解信号量机制实现进程的同步及互斥的方法;通过对经典进程同步问题的剖析,初步掌握运用信号量解决进程同步问题的方法。二、设计内容在同一个进程地址空间内执行的两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。当消费者线程消费物品时,如果没有满的
此文档下载收益归作者所有