- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
计算机操作系统
模拟进程同步与互斥
1
注:实验报告应包含(实验目的,实验原理,主要仪器设备和材料,实验过程
和步骤,实验原始数据记录和处理,实验结果和分析,成绩评定)等七项内容。
具体内容可根据专业特点和实验性质略作调整,页面不够可附页。
一、实验目的
1、熟悉临界资源的、信号量及PV操作的定义
2、了解进程通信的方法
3、掌握实现进程互斥与同步的方法
4、掌握用信号量机制解决进程之间同步的与互斥的问题
5、实现生产者-消费者问题,深刻理解操作系统对进程的调度顺序及进
程同步的概念
二、实验原理(主要写算法思想)
生产者-消费者问题是经典的进程同步问题,在这个问题中,生产者不
断的向缓冲池中写入数据,消费者不断的从缓冲区中读取数据。生产者和
消费者对缓冲池的操作是互斥的,即当前只能由一个进程对这个缓冲池进
行操作。生产者生产时要判断当前缓冲池是否已满,当缓冲池满时,不能
再写入,消费者消费时要判断当前缓冲池是否已空,当缓冲池空时,不能
再读取。
三、主要器材设备和原料
1.PC微机。
2.Windows操作系统。
3.C语言开发集成环境。
2
四、实验过程和步骤(比如流程图)
1.本实验具体要求
在同一个进程地址空间内执行的两个进程,生产者进程生产产品,然后将产
品放置在一个空缓冲区中供消费者进程消费。消费者进程从缓冲区中获得产品,
然后释放缓冲区。当生产者进程生产产品时,如果没有空缓冲区可用,那么生产
者线程必须等待消费者进程释放出一个空缓冲区。当消费者进程消费产品时,如
果缓冲区为空,那么消费者进程将被阻塞,直到新的产品被生产出来。
2.程序实现步骤
(1)通过srand函数产生随机数,并通过产生的随机数来判断执行生产者
进程或者执行消费者进程。
(2)当执行生产者进程时,需对产品类型进行选择,当缓冲区未满时,将
该产品放置在缓冲区,以等待消费者消费。
(3)当缓冲区已满时,生产者进程将被阻塞,直到消费者消费产品后,缓
冲区有空间存放产品,同时程序跳转至步骤(1)。
(4)当执行消费者进程时,需对产品类型进行选择,当缓冲区有该产品时,
则消费者进行消费。
(5)如果缓冲区不存在该产品,即为空,则消费者者进程将被阻塞,同时
程序跳转至步骤(1)。
(6)当程序执行十次,即产生十次随机数后,程序终止。
3、流程图(如下图1所示)
3
开始
i=0
i10
产生随机数j
j40判断j与40的大小j40
i++
缓冲区是否为满缓冲区是否为空
不满满不空空
显示缓冲区显示缓冲区
生产消费
满了
您可能关注的文档
- 桥梁承台基坑钢板桩支护专项施工方案设计.pdf
- 关于化学研究性学习学习心得体会5篇.pdf
- 工程车接车移交专项方案.pdf
- 泉州市高科技产业招商地图及招商方案绘制.pdf
- 工地安全标语.pdf
- 消防应急预案范文5篇.pdf
- 企业数字化成熟度模型研究共3篇.pdf
- 培智学校义务教育课程《生活语文》教学目标.pdf
- 小学培优补差工作计划.pdf
- 食品营养与安全1.pdf
- 六年级数学下册教学课件《解比例》.pptx
- 8.21.5 鸟类的生殖与发育(课件)八年级生物下册课件(苏教版).pptx
- 钠离子电池项目智能制造方案(范文参考).docx
- 2023-2024学年吉林省吉林市舒兰市七年级(上)期末语文试卷.docx
- 2024年吉林省吉林市丰满区亚桥实验学校中考数学三模试卷.docx
- 2023-2024学年吉林省辽源市东辽县七年级(上)期末英语试卷.docx
- 2023-2024学年吉林四平九年级数学第一学期期末水平检测试卷.docx
- 2023-2024学年吉林市蛟河市三校联考九年级(上)期末英语试卷.docx
- 2023-2024学年吉林松原九年级英语上册考场实战试卷.docx
- 电解液新材料项目智能制造方案.docx
文档评论(0)