没有合适的资源?快使用搜索试试~ 我知道了~
多进程同步方法演示生产者-消费者问题.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 173 浏览量
2021-10-07
20:39:44
上传
评论
收藏 153KB DOC 举报
温馨提示
试读
14页
多进程同步方法演示生产者-消费者问题.doc
资源推荐
资源详情
资源评论
- -
理工大学
操作系统课程设计报告
院〔系〕: 计算机工程学院
专业: 计算机科学与技术专业
学生: __
班级:_______ 学号:
题目:用多进程同步方法演示“生产者 - 消费者〞问题
起迄日期:
设计地点:
指导 教师:
年度 第 学期
- . word.zl-
- -
完成日期: 年 月 日
一、课程设计目的
本次进展操作系统课程设计的主要任务是设计一个模拟生产者消费者工作的系统。这
个问题中有一种生产者和一种消费者,生产者和消费者对同一个缓冲区进展操作,互斥的
访问缓冲区。本次课程设计的目的就是加深对多进程如何正确访问资源的认识,同时掌握
信号量在互斥访问时应该如何正确有效地使用。掌握生产者消费者问题的解决流程和方法,
提高编程能力、解决问题的能力和查阅文档的能力。
二、课程设计容与要求
1、设计目的:通过研究 Linux 的进程同步机制和信号量,实现生产者消费者问题的并发
控制。
2、说明:有界缓冲区设有 20 个存储单元,放入取出的产品设定为 20 个 100 以的随机整
数。
3、设计要求:
1) 生产者与消费者均有二个以上
2) 生产者和消费者进程的数目在程序界面上可调,在运行时可随时单个增加与减少生
产者与消费者
3) 生产者的生产速度与消费者的消费速度均可在程序界面调节,在运行中,该值调整
后立即生效
4) 生产者生产的产品由随机函数决定
5) 多个生产者或多个消费者之间必须有共享对缓冲区进展操作的函数代码
6) 每个生产者和消费者对有界缓冲区进展操作后,即时显示有界缓冲区的全部容、当
前生产者与消费者的指针位置,以及生产者和消费者线程标识符
7) 采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓
冲区的状态
三、系统分析与设计
1、系统分析
系统分析
1.此次课程设计的任务是生产者消费者问题的模拟演示,需要处理的数据有:生产者
进程数目,消费者进程数目,生产者生产速度,消费者消费速度,缓冲区中产品的个数,
以及生产、消费产品的指针。
2.程序中需要缓冲区中的信息可以动态演示,生产者、消费者的个数以及生产、消费
时的速度可以随时调节,同时为了使程序更加友好,应该具有开场、暂停、停顿等相关可
操作按钮。
3.系统对外的界面如下:
1〕对进程个数的修改:点击生产者、消费者进程数据文本框下的增加、减少按钮
2〕对速度的修改:速度值默认为 2000ms/个,如需修改,那么在速度文本框中输入
所修改的值,点击修改按钮即可进展修改。
- . word.zl-
- -
3〕需要开场模拟时,点击右上方的开场按钮。如需暂停模拟过程,可点击暂停按钮。
当需要运行完毕时,点击停顿按钮,进程工作停顿。
4.此次使用 java 平台实现,保证了程序在各种机器的运行,只需要事前建立 java 的
运行环境即可,便于程序的移植
5.系统界面如下:
2、系统设计:
2.1、模块设计:
2.2、数据构造说明:
- . word.zl-
进程工作情况动态显示区 开场、暂停、停顿按钮区
进程数目调节区
程序速度控制调节区
系统主模块
主
界
面
生
产
者
控
制
消
费
者
控
制
有
界
缓
冲
区
控
制
主界面
生
产
者
数
目
调
节
消
费
者
数
目
调
节
生
产
者
速
度
调
节
消
费
者
速
度
调
节
缓冲区
同步信号量
empty
full
产品指针
pointcp
互斥信号量
mutex
缓冲区状态
E_F
生产
Produce
消费
Consume
剩余13页未读,继续阅读
资源评论
pyhm63
- 粉丝: 6
- 资源: 20万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功