pv应用题.pdf

上传人:小** 文档编号:15356673 上传时间:2020-08-09 格式:PDF 页数:15 大小:401.13KB
收藏 版权申诉 举报 下载
pv应用题.pdf_第1页
第1页 / 共15页
pv应用题.pdf_第2页
第2页 / 共15页
pv应用题.pdf_第3页
第3页 / 共15页
资源描述:

《pv应用题.pdf》由会员分享,可在线阅读,更多相关《pv应用题.pdf(15页珍藏版)》请在装配图网上搜索。

1、semaphore empty=2 0 ;/最 多 可 以 容 纳 2 0 名 ,empty0 表 示 可 以 继 续 进入 购 票 厅 的 人 数 当 s=0 ,表 示 厅 内 已 有 2 0 人 正 在 购 票 ,当 s0 时 , |s|表 示 正 在 等 待 进 入 的人 数 cobegin while(true) p(empty); 进 入 , 买 票 ; v(s); semaphore s1 =0 ,s2 =0 ,s3 =0 ,s=0 ;/s表 示 是 否 听 完 曲 var flag1 =false,flag2 =false,flag3 =false;/依 次 代 表 随 身 听

2、, 磁 带 , 电池 cobegin process boss while(true) 取 两 种 物 品 , 设 置 flagi为 true; if(flag2 else if(flag1 else v(s3 ); p(s); process 随 身 听 者 while(true) p(s1 ); 购 买 物 品 , 听 歌 曲 v(s); process 磁 带 者 while(true) p(s2 ); 购 买 物 品 , 听 歌 曲 v(s); process battery while(true) P(s3 ); 购 买 物 品 , 听 歌 曲 v(s); semaphore s1

3、=1 ;/表 示 有 顾 客 点 菜 semaphore s2 =0 ;/表 示 厨 师 准 备 顾 客 的 饭 菜 semaphore s3 =0 ;/表 示 打 包 工 打 包 饭 菜 semaphore s4 =0 ;/表 示 出 纳 员 收 款 并 提 交 食 物 process 领 班 while(true) p(s1 ); 接 受 顾 客 点 菜 ; v(s2 );/通 知 厨 师 准 备 顾 客 的 饭 菜 process 厨 师 while(true) p(s2 );/判 断 是 不 是 有 人 通 知 厨 师 准 备 饭 菜 准 备 顾 客 的 饭 菜 ; v(s3 );/通

4、 知 打 包 工 准 备 将 饭 菜 打 包 process 打 包 工 while(true) p(s3 );/判 断 打 包 工 是 否 收 到 了 厨 师 的 通 知 他 打 包 将 饭 菜 打 包 ; v(s4 );/通 知 出 纳 员 收 款 并 提 交 食 物 process 出 纳 员 while(true) P(s4 );/判 断 出 纳 员 是 否 收 到 了 通 知 收 款 并 提 交 食 物 v(s1 );/通 知 领 班 看 有 没 有 顾 客 点 菜 2、 设 有 一 缓 冲 池 Buf, Buf中 含 有 30个 可 用 缓 冲 区 , 一 个 输 入 进 程 将

5、外部 数 据 读 入 Buf, 另 有 一 个 输 出 进 程 将 Buf中 数 据 取 出 并 输 出 。 若 讲 程 每 次 操 作 均 以 一 个 缓 冲 区 为 单 位 , 试 用 记 录 型 信 号 量 写 出 两 个 进 程 的 同 步算 法 ,要 求 写 出 信 号 量 的 初 值 。 semaphore empty=3 0 ;/可 用 缓 冲 区 的 个 数 semaphore mutex=1 ;/用 于 向 缓 冲 区 读 入 数 据 和 从 缓 冲 区 取 出 数 据 的控 制 semaphore full=0 ;/是 否 可 以 从 缓 冲 区 里 取 出 数 据 int

6、 in=0 ,out=0 ; item p3 0 ; cobegin process read while(true) 读 入 一 个 数 据 到 x; p(empty); p(mutex); Pin=x; in=(in+1 )%empty; v(mutex); v(full);/通 知 输 出 进 程 可 以 从 缓 冲 区 里 取 出 数 据 并 输 出 process output while(true) p(full);/判 断 是 不 是 可 以 从 缓 冲 区 里 取 出 数 据 p(mutex); take from pout; out=(out+1 )%empty; v(mut

7、ex); v(empty); Coend ( 三 ) 有 一 个 俱 乐 部 , 有 甲 乙 两 个 服 务 员 , 当 顾 客 有 请 求 时 , 甲 负 责 送 烟 , 乙 负 责 送 火 , 无 顾 客 请 求 时 , 服 务 员 睡 眠 。 顾 客 自 己 不 能 带 烟 和 火 , 当 顾 客 要 抽 烟 时 , 可 请 求 服 务 员 送 烟 和 火 , 烟 和 火 还 未 送 到 时 , 顾 客 必 须 等 待 。 se ma p h o re se n d _ smo ke =0 ,cy=0 ;/se n d _ smo ke :送 烟 cy 为 等 烟 se ma p h o

8、 re se n d _ fire =0 ;ch =0 /se n d _ fire :送 火 ch :等 火 p ro ce ss 甲 wa ite r wh ile (tru e ) p (se n d _ smo ke );/判 断 是 否 收 到 顾 客 发 出 的 送 烟 请 求 送 烟 ; v(cy);/通 知 顾 客 烟 已 经 送 来 了 ,叫 他 等 着 p ro ce ss 乙 wa ite r wh ile (tru e ) p (se n d _ fire );/判 断 是 不 是 收 到 了 送 火 的 请 求 送 火 ; v(ch );/通 知 顾 客 火 已 经

9、送 来 了 , 叫 他 等 着 cu sto me r v(se n d _ smo ke );/唤 醒 甲 服 务 员 ,叫 他 送 烟 v(se n d _ fire );/唤 醒 乙 服 务 员 , 叫 他 送 火 p (cy);/判 断 是 不 是 收 到 了 烟 p (ch );/判 断 是 不 是 收 到 了 火 抽 烟 ; ( 五 ) 有 一 个 超 市 , 最 多 可 容 纳 N个 人 进 入 购 物 , 当 N个 顾 客满 员 时 , 后 到 的 顾 客 在 超 市 外 等 待 ; 超 市 中 只 有 一 个 收 银 员 。 可 以 把 顾 客 和 收 银 员 看 作 两 类

10、 进 程 , 两 类 进 程 间 存 在 同 步 关系 。 写 出 用 P;V操 作 实 现 的 两 类 进 程 的 算 法 ( 2 0 0 3 年 系 统 设 计 员 考 试 的 题 目 )解 : 设 信 号 量 : S=0 , C=0 (顾 客 与 收 银 员 的 同 步 信 号 量 ), M=N 收 银 员P(S) /判 断 是 不 是 可 以 收 银 收 银V(C) /收 银 结 束 顾 客P(M) /判 断 超 市 是 不 是 人 满 了 , 可 不 可 以 进 入 进 入 店 内 购 物 V(S) /通 知 收 银 员 可 以 收 银 P(C) /判 断 是 不 是 可 以 收 银

11、V(M ) /离 开 超 市 , 通 知 下 一 个 人 可 以 进 入 超 市 1 .有 了 线 程 之 后 , 程 序 只 能 以 线 程 的 身 份 运 行 。 【 对 】7 .在 多 道 程 序 系 统 , 进 程 需 要 等 待 某 种 事 件 的 发 生 时 , 进 程 一 定 进 入 阻 塞 状 态 。 【 错 】 5 .当 计 算 机 系 统 没 有 用 户 程 序 执 行 , 时 , 处 理 机 完 全 处 于 空 闲 状 态 。 错 .进 程 上 下 文 是 进 程 执 行 活 动 全 过 程 的 静 态 描 述 。 【 错 】 1 1 .操 作 系 统 对 进 程 的 管

12、 理 和 控 制 主 要 是 通 过 控 制 原 语 实 现 的 。 【 对 】 原 语 的 执 行 是 屏 蔽 中 断 的 。 【 对 】 8 .单 道 程 序 系 统 中 程 序 的 执 行 也 需 要 同 步 和 互 斥 。 【 错 , 单 道 程 序 没 有并 发 性 】 一 、 飞 机 票 问 题 pl ai n v iew plaincopy1. Var A : ARRAY1.m of integer; 2. mutex : semaphore; 3. mutex:= 1; 4. cobegin 5. process Pi 6. var Xi:integer; 7. begin 8

13、. L1: 9. 按 旅 客 定 票 要 求 找 到Aj; 10. P(mutex); 11. Xi := Aj; 12. if Xi=1 then 13. begin 14. Xi:=Xi-1;Aj:=Xi; 15. V(mutex); 输 出 一 张 票; 16. end; 17. else begin 18. V(mutex); 输 出“票 已 售 完”; 19. end; 二 、 睡 眠 的 理 发 师 问 题 理 发 店 理 有 一 位 理 发 师 、 一 把 理 发 椅 和 n 把 供 等 候 理 发 的 顾 客 坐 的 椅 子 如 果 没 有 顾 客 , 理 发 师 便 在 理

14、发 椅 上 睡 觉 一 个 顾 客 到 来 时 , 它 必 须 叫 醒 理 发 师 如 果 理 发 师 正 在 理 发 时 又 有 顾 客 来 到 , 则 如 果 有 空 椅 子 可 坐 , 就 坐 下 来 等 待 , 否 则 就 离 开 int waiting=0 ;/等 待 的 顾 客 数 int chair_ count=n;/为 顾 客 准 备 的 椅 子 数 semaphore customer=0 ,barber,mutex=1 ; process barber p(customer); P(mutex); /若 有 顾 客 , 进 入 临 界 区 waiting-; V(barb

15、er);/通 知 顾 客 , 可 以 进 行 理 发 了 V(mutex); /推 出 临 界 区 理 发 ;/理 发 师 正 在 理 发 , 不 是 临 界 区 process customer P(mutex); /进 入 临 界 区 if(waiting1 ), 当 缓 冲 区 满 后 , 由 输 出 进 程 Q负 责 一 次 性 取 走 这 8 0 个 字 符 。 这 种 过 程 循 环 往 复 , 请 用 信 号 量 和 P、 V操 作 写 出 n 个 读 入 进 程 (P1 , P2 , Pn )和 输 出 进 程 Q能 正 确 工 作 的 的 动 作 序 列 se ma p h

16、o re e mp ty=n ;/可 用 的 空 缓 冲 区 se ma p h o re fu ll=0 ;/判 断 缓 冲 区 是 不 是 可 以 读 数 据 ite m Bn ; in t in =0 ;/放 入 缓 冲 区 指 针 p ro ce ss re a d _ ch a r wh ile (tru e ) 读 入 一 个 字 符 到 x; P(e mp ty); P(mu te x);/若 有 缓 冲 区 , 就 进 入 临 界 区 Bin =x;/读 完 之 后 要 赋 值 in =(in +1 )/n ; if(in =8 0 ) V(mu te x); V(fu ll)

17、;/通 知 Q可 以 从 缓 冲 区 读 走 8 0 个 字 符 ; e lse V(mu te x);/退 出 临 界 区 p ro ce ss Q wh ile (tru e ) P(fu ll);/判 断 是 不 是 可 以 从 缓 冲 区 读 入 字 符 P(mu te x);/进 入 临 界 区 fo r(in t o u t=0 ;o u t8 0 ;o u t+)/一 个 一 个 的 从 缓 冲 区 里 读 出 字 符 ta ke fro m Bo u t; in =0 ;/此 处 i重 新 赋 值 不 能 掉 fo r(j=0 ;j8 0 ;j+) V(mu te x);/退 出 临 界 区 fo r(in t j=0 ;j8 0 ;j+) V(e mp ty);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!