- 13
- 0
- 约8.27千字
- 约 14页
- 2019-09-04 发布于安徽
- 举报
实用标准文档
文案大全
青岛理工大学
操作系统课程设计报告
院(系): 计算机工程学院
专业: 计算机科学与技术专业
学生姓名: __
班级:_______ 学号:
题目:用多进程同步方法演示“生产者-消费者”问题
起迄日期:
设计地点:
指 导 教 师:
年度 第 学期
完成日期: 年 月 日
课程设计目的
本次进行操作系统课程设计的主要任务是设计一个模拟生产者消费者工作的系统。这个问题中有一种生产者和一种消费者,生产者和消费者对同一个缓冲区进行操作,互斥的访问缓冲区。本次课程设计的目的就是加深对多进程如何正确访问资源的认识,同时掌握信号量在互斥访问时应该如何正确有效地使用。掌握生产者消费者问题的解决流程和方法,提高编程能力、解决问题的能力和查阅文档的能力。
课程设计内容与要求
1、设计目的:通过研究Linux的进程同步机制和信号量,实现生产者消费者问题的并发控制。
2、说明:有界缓冲区内设有20个存储单元,放入取出的产品设定为20个100以内的随机整数。
3、设计要求:
生产者与消费者均有二个以上
生产者和消费者进程的数目在程序界面上可调,在运行时可随时单个增加与减少生产者与消费者
生产者的生产速度与消费者的消费速度均可在程序界面调节,在运行中,该值调整后立即生效
生产者生产的产品由随机函数决定
多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码
每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符
采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态
系统分析与设计
系统分析
系统分析
1.此次课程设计的任务是生产者消费者问题的模拟演示,需要处理的数据有:生产者进程数目,消费者进程数目,生产者生产速度,消费者消费速度,缓冲区中产品的个数,以及生产、消费产品的指针。
2.程序中需要缓冲区中的信息可以动态演示,生产者、消费者的个数以及生产、消费时的速度可以随时调节,同时为了使程序更加友好,应该具有开始、暂停、停止等相关可操作按钮。
3.系统对外的界面如下:
1)对进程个数的修改:点击生产者、消费者进程数据文本框下的增加、减少按钮
2)对速度的修改:速度值默认为2000ms/个,如需修改,则在速度文本框中输入所修改的值,点击修改按钮即可进行修改。
3)需要开始模拟时,点击右上方的开始按钮。如需暂停模拟过程,可点击暂停按钮。当需要运行完毕时,点击停止按钮,进程工作停止。
4.此次使用java平台实现,保证了程序在各种机器的运行,只需要事前建立java的运行环境即可,便于程序的移植
5.系统界面如下:
开始、暂停、停止按钮区进程工作情况动态显示区
开始、暂停、停止按钮区
进程工作情况动态显示区
进程数目调节区
进程数目调节区
程序速度控制调节区
程序速度控制调节区
2、系统设计:
主界面2.1、模块设计:
主界面
系统主模块
系统主模块
消费者速度调节生产者速度调节消费者数目调节生产者数目调节
消费者速度调节
生产者速度调节
消费者数目调节
生产者数目调节
有界缓冲区控制消费者控制生产者控制主界面
有界缓冲区控制
消费者控制
生产者控制
主界面
2.2、数据结构说明:
产品指针pointcp缓冲区
产品指针
pointcp
缓冲区
同步信号量
empty
full
消费Consume生产
消费
Consume
生产
Produce
缓冲区状态E_F
缓冲区状态
E_F
互斥信号量
mutex
2.3、算法流程图:
生产者流程图:
申请空缓冲区
申请空缓冲区
信号量
信号量enmpty0
NO仓库已满,线程阻塞
NO
仓库已满,线程阻塞
YES
YES
pointcp = pointcp+1
pointcp = pointcp+1
E_F[pointcp]=true
E_F[pointcp]=true
打印缓冲区状态
打印缓冲区状态
chanpin = chanpin+1
chanpin = chanpin+1
full = full+1
释放缓冲区
释放缓冲区
消费者流程图:
申请空缓冲区
申请空缓冲区
full = full+1
信号量full0
信号量full0
仓库已满,线程阻塞
NO
NO
YES
YES
pointcp = pointcp-1
pointcp = pointcp-1
释放缓冲区E_F[pointcp]=false
您可能关注的文档
- Excel2013采用散点图气泡图Powerview三种方案设计轻松制作波士顿矩阵.doc
- 精品解析汇报湖北省武汉市2017-2018学年度部分学校新高三起点调研考试理科数学精彩试题(解析汇报版).doc
- 智能化系统方案设计(整体).doc
- 土木工程岩土毕业论文设计.doc
- 人教版七年级数学上册教学大纲设计.doc
- 原生态土蜂蜜简介.doc
- 金蝶e-HR产品整体解决方案设计(介绍).doc
- 腾讯为村,用互联网+创新乡村社会治理、助力国家乡村振兴战略.doc
- 12.26领导带队专项检查.doc
- 环保志愿者精彩活动记录簿表.doc
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
最近下载
- 星原教育计划书.pptx
- 2025年高考数学真题卷(全国二卷)附答案解析.pdf VIP
- 五年级语文老师家长会课件(完美版).ppt VIP
- 《预防水痘》PPT班会课件通用ppt模板.pptx VIP
- 1.2+组织之趣+课件+2025-2026学年人教版初中美术八年级下册.pptx VIP
- 信号完整性分析软件:Cadence Sigrity二次开发_(16).CadenceSigrity二次开发案例分析.docx VIP
- 2024年八年级劳动与技术试题(附答案).docx VIP
- 2025年青岛市局属高中中考自主招生化学试卷真题(含答案详解).pdf VIP
- DB5133T 63-2022 牦牛标准化育肥场布局及圈舍建设规范.docx VIP
- (正式版)DB51∕T 1853-2014 《牦牛越冬圈舍建设规范》.docx VIP
原创力文档

文档评论(0)