实验三:生产者与消费者
实验目的
1.学习和掌握操作系统中进程之间的通信;
2.理解和掌握使用信号量机制来是想进程之间的同步和互斥;
3.学习使用创建文件对象,并利用文件映射对象来实现数据通信。
二、实验内容
一个大小为6的缓冲区,初始为空,每个缓冲区能存放一个长度若为10个字符的字符串。
2个生产者
随机等待一段时间,往缓冲区添加数据,
若缓冲区已满,等待消费者取走数据后再添加
重复12次
3个消费者
随机等待一段时间,从缓冲区读取数据
若缓冲区为空,等待生产者添加数据后再读取
重复8次
说明:
显示每次添加和读取数据的时间及缓冲区的状态
生产者和消费者用进程模拟,缓冲区用共享内存来实现
实验环境
Windows下:
Windows8 ,Visual studio 2013
Linux下:
Linux Ubuntu 4,gcc
程序设计与实现
Windows下:
主要函数说明:
PROCESS_INFORMATIONStartClone(intnCloneID)
功能:用来创建5个相同的进程,前两个为生产者,后三两个为消费者,赋予其不同的ID值,返回进程的信息。
CreateSemaphore();
功能:创建3个信号量:full,empty,mutex。来互斥的访问缓冲区,实现通信。
CreateFileMapping()
功能:在当前运行的进程中创建文件映射对象,来模拟共
您可能关注的文档
最近下载
- 元统元年进士录-元-佚名.pdf
- 多器官功能障碍综合征课件.ppt VIP
- 2025年成都七初天环初一入学数学分班考试真题含答案.docx VIP
- BIM技术与应用——Revit 2023建筑与结构建模 课件 第1、2章 BIM概述、 BIM的应用.pptx
- 质量通病防治专项施工方案.docx VIP
- 2026-2030中国有机硅固晶材料市场产销未来趋势与供需格局预测研究报告.docx VIP
- 电气系统质量通病防治专项方案.docx VIP
- 新华网&阿里巴巴:AI+农业高质量发展研究报告.pdf VIP
- 110kV输变电综合项目工程可行性研究应用和勘察设计投标方案书模板.doc
- 质量通病防治专项方案.docx VIP
原创力文档

文档评论(0)