- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
枣 庄 学 院
信息科学与工程学院
课程设计任务书
题目: 生产者-消费者问题的实现
姓 名:
学 号:
专 业: 计算机科学与技术
课 程: 操作系统
指导教师: 刘彩霞 职称: 讲师
完成时间: 2012年 5月2012 年 6月
枣庄学院信息科学与工程学院制
课程设计任务书及成绩评定
课程设计的任务和具体要求
1、课程设计的任务:利用所学知识模拟并实现生产者消费者问题;
2、课程设计的具体要求:
(1)为每个生产者/消费者产生一个线程,设计正确的同步算法。
(2)每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的当前全部内容、当前指针位置和生产者/消费者线程的自定义标识符。
(3)生产者和消费者各有两个以上。
(4)多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。
(5)要求所撰写的课程设计任务书的内容和格式符合要求。
指导教师签字: 日期:
指导教师评语
成绩: 指导教师签字: 日期:
课程设计所需软件、硬件等
Windows xp系统 VM虚拟机并安装redhat linux系统
软件:Vi编辑器 GCC4.41
设计语言:C语言
课程设计进度计划
起至日期
工作内容
备注
2012.5.1—5.15
2012.5.16—6.10
2012.6.11—6.15
2012.6.16—6.20
确定课题并收集资料
整体规划并进行初步定位
编写程序代码并进行试验
撰写课程设计任务书
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
[1]《操作系统概念(第六版)》,(美)Abraham Silberschatz ,Peter Baer Galvin,Greg Gagne著,郑扣根 译, 高等教育出版社
[2] 《深入理解LINUX内核(第三版)》 (美) 博韦,西斯特 著,陈莉君,张琼声,张宏伟 译,中国电力出版社
目 录 TOC \o 1-3 \h \z \u
第1章 引言 1
1.1 设计背景 1
1.2 问题分类 1
1.3 解决方案 1
第2章 设计思路及原理 2
第3章 程序详细设计 3
3.1程序模块设计 3
3.2程序代码结构 5
第4章 实验结果 7
第5章 实验总结 8
附录:实验代码 9
PAGE 1
第1章 引言
1.1 设计背景
生产者-消费者问题是一个经典的进程同步问题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产出来。
1.2 问题分类
根据缓冲区的个数、大小以及生产者消费者的个数可以分为以下几类:
1.单缓冲区(适合单或多生产消费者);
2.环行多缓冲区(或无穷缓冲区)单生产消费者;
3.环行多缓冲区多生产消费者;
1.3 解决方案
1.用进程通信(信箱通信)的方法解决;
2.进程消息缓冲通信;
3.进程信箱通信;
第2章 设计思路及原理
设计了两个主要函数:生产者函数、消费者函数;
设计了三个信号量:full信号量 ,判断缓冲区是否有值,初值为0;
empty信号量,判断缓冲区是否有空缓冲区,初值为缓冲区数;
mutex信号量作为互斥信号量,用于互斥的访问缓冲区。
生产者函数通过执行P操作信号量empty减1,判断缓冲区是否有空。有空则互斥的访问缓冲区并放入数据,然后释放缓冲区,执行V操作,信号量full加1。
消费者函数执行P操作,信号量full减1,判断是否有数据,有则互斥的访问缓冲区并取走数据,然后释放缓冲区,执行V操作,empty信号量加1。
第3章 程序详细设计
3.1程序模块设计
该实验主要分为三大模块:
主程序,创建并控制程序的流程,
其中控制线程的活动以及信号量的操作,如图3-1-1所示;
2.生产者模块
您可能关注的文档
- 北师大版第五册《生活中的推理》课件5.ppt
- 北师大版二年级数学下册《认识角》练习.ppt
- 北师大版高中数学必修4.ppt
- 北师大版六年级语文上册导学案 标准.doc
- 北师大版七年级数学教材分析.doc
- 北师大版数学二年级下册《平行四边形》PPT课件.ppt
- 北师大版数学二年级下册《平行四边形》课件.ppt
- 北师大版数学五年级上册《数学与交通—相遇》课件.ppt
- 北师大版五年级数学上册《人民币兑换》课件.ppt
- 北师大版小学数学四年级上册第4单元教学设计.docx
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)