和尚打水问题

寺庙中有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用.水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水,水桶总数为3个。每次入水、取水仅为一桶,且不可同时进行。试给出有关取水、入水的PV算法描述。

问题分析:

小和尚之间是互斥关系,老和尚之间是互斥关系,老和尚和小和尚是互斥+合作;这样的话就可以看成是一个生产者消费者问题,只是互斥信号量比生产者消费者问题多了;井,缸,水桶都是要被“保护”的,所以对它们分别设mutex1,mutex2,mutex3,初值分别设为1,1,3;针对可以装10桶水的缸,可以看成生产者消费者问题里面的产品缓冲区,设一个empty告诉小和尚空了几桶水的位置,设一个full告诉老和尚有几桶水可以打。

解析过程:

信号量定义:
mutex1:表示是否可以在井中打水;
mutex2:表示是否可以在将桶伸入缸中;
mutex3:表示是否有桶可用;
empty:表示缸中有多少是空的;
full:表示缸中有多少是满的。
mutex1=mutex2=1;mutex3=3;empty=0;full=10。

操作系统—PV操作解决和尚打水问题相关推荐

  1. 操作系统pv操作学习总结

    PV操作 PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思. 目录 1 简介 2 详细资料 3 解释 ▪ 信号量的概念 ▪ 典型理解偏差 简介 1962年,狄克斯特拉离开数学中心进入位于 ...

  2. 操作系统中pv操作用c语言,操作系统-pv操作.doc

    <现代操作系统>课程设计 第 PAGE 5 页 共 NUMPAGES 20 页 课程设计报告(论文) 报告(论文)题目: PV操作解决生产者-消费者问题 作者所在系部: 计算机科学与工程系 ...

  3. 操作系统-PV操作-独木桥问题

    操作系统-PV操作-独木桥问题 前言 问题描述 解决思路 伪代码实现 改造题型 解决思路 伪代码实现 总结 前言 在操作系统中,使用pv操作实现进程的同步和互斥是进程管理的重要内容.pv操作不仅是本科 ...

  4. 操作系统-PV操作-理发师问题

    操作系统-PV操作-理发师问题 前言 问题描述 解决思路 伪代码 总结 前言 hello,大家好,使用pv操作来实现进程的同步和互斥是我们本科授课的重点,同时也是研究生入学考试的重点考察题型.今天给大 ...

  5. java信号量生产者_java信号量PV操作 解决生产者-消费者问题

    package test1; /** * 该例子演示生产者和消费者的问题(设只有一个缓存空间.一个消费者和一个生产者) * MySystem类定义了缓冲区个数以及信号量 * @author HYY * ...

  6. 计算机操作系统pv实验,计算机操作系统PV操作例题.doc

    计算机操作系统PV操作例题 问题1 一个司机与售票员的例子 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作: 停车后才能开门,关车门后才能行车.用PV操作来实现他们之间的协调. S1:是否允许 ...

  7. 操作系统 | PV操作七大经典问题 生产者消费者 读者写者 哲学家进餐 理发师理发睡觉 和尚打水 吸烟者 吃水果

    一.生产者消费者问题 生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案 ...

  8. 操作系统PV操作伪代码(小和尚提水、老和尚饮水问题)

     题目: 某寺庙,有小和尚.老和尚若干.庙内有一水缸,由小和尚提水入缸,供老和尚饮用.水缸可容纳10桶水,每次入水.取水仅为1桶,不可同时进行.水取自同一井中,水井径窄,每次只能容纳一个水桶取水.设水 ...

  9. 计算机操作系统PV操作

    PV操作 和尚打水问题 某寺庙,有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用.水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水.水桶总数为3个.每次入水 ...

  10. 操作系统——PV操作

    PV操作概念:操作系统中的一种同步机制,实现对于并发进程中临界区的管理. 并发进程分为两种: ①无交互的并发进程:每个进程是相互独立的,谁也不影响谁,基本不会用到PV操作. ②有交互的并发进程:多个进 ...

最新文章

  1. 人工智能70年,研究者们最不愿意面对的惨痛教训是……
  2. 漫话:如何给女朋友解释为什么双11无法修改收货地址?
  3. 遏止个人信息泄露亟待立法跟进
  4. 使用Azure人脸API对图片进行人脸识别
  5. 线程打印_面试题:用程序实现两个线程交替打印 0~100 的奇偶数
  6. 用matlab绘制P三曲线,知道曲线方程 怎么用matlab绘制三维图 一定要给出程序 , matlab怎样画三维曲线...
  7. 编辑bpmn_「业务架构」BPMN简介第四部分-数据和工件
  8. 太像人手了!OpenAI用打DOTA的算法,教会了机械手“盘核桃”
  9. mysql like 大小写_mysql - 如何使用LIKE通配符在列中搜索(不区分大小写)?
  10. windows安装docker后启动报错无法下载镜像文件Error with pre-create check: “Get https://github-production-release-ass
  11. Emscripten 单词_英语48个音标与单词字母组合拼读发音教程
  12. 色彩模型(HSB,RGB,CMYK,YIQ,YUV)
  13. js通过base64编码显示图片
  14. Linux Intel 无线网卡Wifi+蓝牙
  15. 让虚拟机接入办公网络
  16. uni-app 170邀请加入群聊(二)
  17. 报表中的Excel操作之Aspose.Cells(Excel模板)
  18. linux 下安装apache 快速教程
  19. 关于DPABI头动参数问题
  20. 2018 WAIC大咖云集,七牛云“视觉智能,瞳鉴未来”论坛开启在即

热门文章

  1. UIPATH Timeout reached
  2. android 访问win10共享文件夹,win10系统用手机es文件浏览器访问共享文件的操作方法...
  3. [Python从零到壹] 一.为什么我们要学Python及基础语法详解
  4. 2019做报表用什么软件:报表类型,产品推荐
  5. 简单明了理解交叉验证
  6. 淘客外卖返利 优惠券 小程序公众号 电影票话费分销淘宝客CPS系统
  7. Smartbi报表工具的学习笔记,如何学好报表分析?
  8. 线程 线程的创建与回收
  9. 十大安卓应用商店推广渠道排行榜
  10. 数码相机与手机相机成像差别