公交车司机与售票员进程协同活动问题 PV操作

设公共汽车上,司机和售票员的活动分别是:
司机的活动: 启动车辆;正常行车;到站停车;
售票员的活动:关车门;售票;开车门;
在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?用信号量和P、V操作实现它们的同步。

解:
在汽车行驶过程中,司机活动与售票员活动之间的同步关系为:售票员关车门后,向司机发开车信号,司机接到开车信号后启动车辆,在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门让乘客上下车。因此司机启动车辆的动作必须与售票员关车门的动作取得同步;售票员开车门的动作也必须与司机停车取得同步,
在本题中,应设置两个信号量:S1、S2。S1表示是否允许司机启动汽车,其初值为0;S2表示是否允许售票员开门,其初值为0。用P、V原语描述如下:
int Sl=0; int S2=0;
main()
{ cobegin
driver();
busman();
coend

driver()
{ while(1) {
P(S1);
启动车辆;
正常行车;
到站停车;
V(S2);


busman()
{while(1){
关车门;
V(S1);
售票;
P(S2);
开车门;
上下乘客;
}
}

公交车司机与售票员进程协同活动问题 PV操作相关推荐

  1. 操作系统 公交车司机与售票员进程协同活动问题 PV操作

    使用信号量和PV操作实现公交车上司机进程和售票员进程协同活动 问题: 设公共汽车上,司机和售票员的活动分别是: 司机的活动: 启动车辆,正常行车,到站停车: 售票员的活动:关车门,售票,开车门: 用P ...

  2. 操作系统模拟公交车司机与售票员进程之间的协同关系

    使用java多线程编写代码: 一.实验目的: 用两个进程来模拟汽车司机与售票员之间的协同关系:一方面只有售票员把车门关好了司机才能关门,因此,售票员关好车门应通知司机开车:另一方面,只有当汽车已经停下 ...

  3. 操作系统: 司机与售票员的进程同步问题

    司机与售票员的进程同步问题 在公共汽车上,司机和售票员的工作流程如图所示.      为保证乘客的安全,司机和售票员应 密切配合协调工作.      请用信号量来实现司机与售票员之间的同步.     ...

  4. PV操作经典例题——司机与售票员的进程同步问题

    例1: 司机的活动: 启动车辆, 正常行车, 到站停车. 售票员活动: 关车门, 售票, 开车门. 注意:当发车时间到,售票员关好车门后,司机才能启动车辆,售票员才开始售票. 当到站时,司机停稳车后, ...

  5. c 语言实现司机与售票员线程,用多线程模拟汽车司机与售票员需求分析试验报告...

    <用多线程模拟汽车司机与售票员需求分析试验报告>由会员分享,可在线阅读,更多相关<用多线程模拟汽车司机与售票员需求分析试验报告(5页珍藏版)>请在人人文库网上搜索. 1.操作系 ...

  6. oracle server process,KI视角下的ORACLE SERVER PROCESS进程的活动

    1.Server Process oracle的服务进程也称为shadow进程,主要是用于响应客户端请求执行相关的SQL语句,该进程运行的效率会对oracle的客户端的操作人员的体验产生很大的影响,o ...

  7. 武汉公交车司机的技术真NB

    某天晚上从江汉路坐601回学校,由于人多,都人挨人的.本人不幸站在自动投币箱边上,看着司机一脸惬意的在甩方向盘.到汉口某站时,司机的神色一变,方向盘一甩,超过某巴士.在加速的那时候,前方又突现了一只比 ...

  8. 2.5 CPU管理--进程同步经典问题-司机和售票员问题

    上一小节讲了PV信号量的概念,还有进程同步.异步的概念,现在我们用实际的问题来使用PV信号量. 如下图,公共汽车上,司机和售票员各司其职.司机需要等售票员关好门之后才能启动车,售票员只有等司机停好车后 ...

  9. 2022年驾驶员考试公交车司机考试模拟试题卷及答案

    题库来源:优题宝公众号 2022年驾驶员考试公交车司机考试模拟试题卷及答案,由优题宝公众号根据最新驾驶员考试公交车司机考试大纲与历年驾驶员考试公交车司机考试真题汇总编写,包含驾驶员考试公交车司机考试常 ...

最新文章

  1. Linux Shell简介
  2. linux sparse 内核代码静态检查
  3. linux scull 的内存使用
  4. 【Homework】说出 == 和 equals 的区别
  5. 蓝桥杯 2017 国赛B组C/C++【对局匹配】
  6. 现在很多人都在网上找富业
  7. redis的发布和订阅
  8. NO.109 禅道“红火”新年小礼,祝大家2014红红火火~~
  9. Hibernate二级缓存适用场景
  10. vue项目中我的收货地址功能做法(添加地址、编辑地址、删除地址、默认地址、省市区三级联动)
  11. 大龄码农的新西兰移民之路
  12. 蓝桥杯学习——递归问题(上楼梯)
  13. 你对MySQL中的索引了解多少?
  14. 朱光潜给青年的十二封信 之 谈读书
  15. Python的面向对象,魔术方法、类的三大特征、自省、实例空间、经典类与新式类
  16. 微信回应转错帐被拉黑事件 支付宝:我们比较蠢 没法那么洒脱
  17. 合同索赔的内容和处理方法
  18. vista下安装仿宋GB_2312和楷体_GB2312 office2007字体问题
  19. 千亿数仓第三章(数仓理论_项目环境初始化)
  20. 旅游行业网站怎么搭建?

热门文章

  1. 如何配置阿里Maven镜像
  2. Linux基础 第三节 第一课
  3. Kaggle 大神 Eureka 的高手进阶之路
  4. LeetCode二维子矩阵的和
  5. Win7 更新 80072EFE 错误
  6. 室内空气流动原理图_新风系统原理动图大全,赶紧收了吧!
  7. PAT甲级真题 1011 World Cup Betting (20分) C++实现
  8. NLP领域论文笔记【研一下研二上】01
  9. 支付系统设计五:对账系统设计01-总览
  10. 全数字锁相环基本原理讲解