资源描述
第 二 章 进 程 管 理 例 题 : 例 1: 今 有 3个 并 发 进 程 R,M,P。 它 们 共 享 一 个 缓 冲 区 B, R负 责从 输 入 设 备 读 信 息 ,每 读 一 记 录 后 把 它 放 入 缓 冲 区 中 ; M对 输 入缓 冲 区 的 记 录 加 工 处 理 ; P把 加 工 后 的 记 录 打 印 输 出 。 读 入 的记 录 加 工 输 出 后 ,缓 冲 区 又 可 存 放 下 一 条 记 录 ,如 图 所 示 。 若 利用 记 录 型 信 号 量 解 决 此 问 题 , 问 应 设 几 个 信 号 量 ? 初 值 分 别 是多 少 ? 写 出 能 并 发 执 行 的 进 程 。例 2: 假 定 有 三 个 进 程 P, W1, W2共 享 一 个 缓 冲 器 B, 而 B中 每 次只 能 存 放 一 个 数 。 当 缓 冲 器 中 无 数 时 , 进 程 P可 以 从 输 入 设 备上 读 入 数 存 放 到 缓 冲 器 B中 。 若 存 放 到 缓 冲 器 中 的 是 奇 数 , 则允 许 进 程 W1将 其 取 出 打 印 ; 若 存 放 到 缓 冲 器 中 的 是 偶 数 , 则 允许 进 程 W2将 其 取 出 打 印 。 用 记 录 型 信 号 量 机 制 解 决 此 问 题 , 问设 几 个 信 号 量 ? 初 值 分 别 是 多 少 ? 请 写 出 这 三 个 并 发 进 程 能 正确 工 作 的 程 序 。 第 二 章 进 程 管 理 例 题 : 例 1: 桌 上 有 一 空 盘 , 允 许 存 放 一 只 水 果 。 爸 爸 可 向 盘 中 放 苹果 , 也 可 向 盘 中 放 桔 子 , 儿 子 专 等 吃 盘 中 的 桔 子 , 女 儿 专 等 吃盘 中 的 苹 果 。 规 定 当 盘 空 时 一 次 只 能 放 一 只 水 果 供 吃 者 取 用 ,请 实 现 爸 爸 、 儿 子 、 女 儿 三 个 并 发 进 程 的 同 步 。例 2: 由 三 个 进 程 PA、 PB、 PC合 作 解 决 文 件 打 印 问 题 : PA将 文件 记 录 从 磁 盘 读 入 主 存 的 缓 冲 区 1, 每 执 行 一 次 读 一 个 记 录 ;PB将 缓 冲 区 1的 内 容 复 制 到 缓 冲 区 2, 每 执 行 一 次 复 制 一 个 记 录 ,PC将 缓 冲 区 2的 内 容 打 印 出 来 , 每 执 行 一 次 打 印 一 个 记 录 。 缓冲 区 的 大 小 等 于 一 个 记 录 大 小 。 请 实 现 文 件 的 正 确 打 印 。 第 二 章 进 程 管 理 例 1:Var S,So,Sa: semaphore :=1,0,0 begin parbegin father: begin repeat wait(S) 将 水 果 放 入 盘 中 ; if(放 入 的 是 桔 子 ) signal(So) else signal(Sa); until false end son: begin repeat 第 二 章 进 程 管 理 wait(So); 从 盘 中 取 出 桔 子 ; signal(S); 吃 桔 子 ; until false end daughter: begin repeat wait(Sa); 从 盘 中 取 出 苹 果 ; signal(S); 吃 苹 果 ; until false end parend end
展开阅读全文