- 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.生产者模块
您可能关注的文档
最近下载
- F正谱长城谣声乐正谱钢琴伴奏五线谱子乐谱曲谱艺术歌曲歌谱音乐学院版.pdf
- 规范性文件的制定与备案审查制度.pptx VIP
- 2016沪S204 排水管道图集.pdf
- 幼儿园课件:《花匠种花》.pptx
- (高清版)DB43∕T 2748-2023 蒸汽锅炉应急处置导则 .pdf VIP
- DB34T3924-2021水稻抗倒性鉴定方法.pdf
- 2025年焦作师专历年数学试题单招 .pdf VIP
- ISO IEC 22989-2022 Information technology — Artificial intelligence — Artificial intelligence concepts and terminology 信息技术人工智能人工智能概念与术语.pdf
- 地质灾害与应急调查培训课件.pptx
- 【容联云通讯】全产品介绍材料V1.4.pptx
文档评论(0)