操 作 系 统 实 验 报 告 ——生 产 者 和 消 费 者 问 题 姓 名 : 学 号 : 班 级 : 一 、实验内容 1、模拟操 作 系 统 中进程同步和 互斥; 2、实 现生 产 者 和 消 费 者 问 题 的算法实 现; 二、实验目的 1、熟悉临界资源、信号 量及 PV 操 作 的定义与物理意义; 2、了解进程通信的方法; 3、掌握进程互斥与进程同步的相关知识; 4、掌握用信号 量机制解决进程之间的同步与互斥问 题 ; 5、实 现生 产 者 -消 费 者 问 题 ,深刻理解进程同步问 题 ; 三、实验题目 在 Windows 操 作 系 统 下用 C 语言实 现经典同步问 题 : 生 产者 —消 费 者 ,具体要求如下: (1)一个大小为 10 的缓冲区,初始状态为空
(2)2 个生 产 者 ,随机等待一段时间,往缓冲区中添加数据,若缓冲区已满,等待消 费 者 取走数据之后再添加,重复 10 次
(3)2 个消 费 者 ,随机等待一段时间,从缓冲区中读取数据,若缓 冲 区 为 空 , 等 待 生 产 者 添 加 数 据 之 后 再 读 取 , 重 复 10 次
四 、思想 本 实 验 的 主 要 目 的 是 模 拟 操 作 系 统 中 进 程 同 步 和 互 斥
在 系 统 进程 并 发 执 行 异 步 推 进 的 过 程 中 , 由 于 资 源 共 享 和 进 程 间 合 作 而 造 成 进程 间 相 互 制 约
进 程 间 的 相 互 制 约 有 两 种 不 同 的 方 式
( 1) 间 接 制 约
这 是 由 于 多 个 进 程 共 享 同 一 资 源 ( 如CPU、共享 输入/输出设备) 而 引起的 , 即共 享 资 源 的 多 个 进 程 因系 统 协调使用资 源 而 相 互 制 约
( 2) 直接 制 约
只是 由 于