电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统生产者与消费者问题实验报告

操作系统生产者与消费者问题实验报告_第1页
1/8
操作系统生产者与消费者问题实验报告_第2页
2/8
操作系统生产者与消费者问题实验报告_第3页
3/8
《操作系统》实验报告生产者和消费者的问题一、实验目的1.掌握基本的同步与互斥的算法,理解基本的生产者与消费者的模型。2.学习使用 Windows 2000/XP 中基本的同步对象,掌握相关的 API 的使用方法。3.了解 Windows 2000/XP 中多线程的并发执行机制,线程间的同步和互斥。二、实验的内容及其要求1. 实验内容以生产者/消费者模型为根据,在 Windows 2000 环境下创建一个控制台进程,在改进程中创建 n 个线程模拟生产者和消费者,实现进程(线程)的同步与互斥。2.实验要求①学习并理解生产者/消费者模型及其同步/互斥规则②学习了解 Windows 同步对象及其特性③熟悉实验环境,掌握相关 API 的使用方法④设计程序,实现生产者/消费者进程(线程)的同步与互斥⑤提交实验报告三、实验的时间安排1. 实验前,先到图书馆或上网百度了解有关生产者/消费者模型的相关知识,建立生产者/消费者模型的基本概念。2. 利用 13 周、15 周、17 周的上机时间编写和调试程序代码。3. 利用其他课余时间来分析实验的最终结果并完成相关的实验报告。四、实验的环境1.硬件条件:普通计算机一台2.软件条件:①操作系统:Windows 2000/XP②开发语言:VC++本实验是在 Windows 2000+VC6.0 环境下实现的,利用 Windows SDK 提供的系统接口(API)完成程序的功能。实验在Windows 下安装 VC 后进行,因为 VC 是一个集成开发环境,其中包含了 Windows SDK 所有工具和定义,所以安装了 VC 后就不用特意安装 SDK 了.实验中所用的 API(应用程序接口),是操作系统提供的用来进行应用程序设计的系统功能接口。要使用这些 API,需要包含对这些函数进行说明的 SDK 头文件,最常见的就是 windows。h。一些特别的 API 调用还需要包含其他的头文件。五、正文1.程序结构图:2.数据结构:(1)用一个整型数组 Buffer_Critical 来代表缓冲区。不管是生产产品还是对已有产品的消费都需要访问改组缓冲区.(2)在程序中用一个自定义结构 ThreadInfo 记录一条线程的信息,即将测试用例文件中的一行信息记录下来,用于程序创建相应的生产者或者消费者.由于要创建多个线程,所以程序中使用了一个 ThreadInfo 结构的数组 Thread_Info。(3)在实现本程序的消费生产模型时,具体地通过如下同步对象实现互斥:●设一个互斥量 h_mutex,以实现生产者在查询和保留缓冲区内的下一个空位置时进行互斥。●每一个生产者用一个信号量与其消费者同步,通...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统生产者与消费者问题实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部