P187-43

Cemaphore

empty=1;橘子精=0;糖=0;水=0;

Process product(){

While(true){

P(empty);

产生一个随机数s;

If(s==0) V(橘子精);

If(s==1) V(水);

If(s==2) V(糖);

  }

}

Process P1(){      | Process P2(){      | Process P3(){

While(true){        While(true){        While(true){

P(橘子精);        P(糖);             P(水);

取走橘子精;       取走糖;           取走水;

V(empty);        V(empty);            V(empty);

    }             }             }

}             }            }

Coend

2.IPO问题:有多个输入进程、多个处理进程和多个输出进程。输入进程把数据逐步输入到一个有M个单位缓冲区B1上,经处理进程处理之后放到有N个单位的缓冲区B2上,由输出进程进行输出。

a.这个问题有哪些进程?进程之间有什么样的制约关系?

b.用信号量及PV操作写出这些进程之间的同步算法

解:

a:有输入进程、处理进程、输出进程,进程之间有同步关系。

b:     semaphore B1;B1=M;        /*B1可用的空缓存区*/

semaphore B2;B2=N;        /*B2可用的空缓存区*/

semaphore mutex;mutex=1;           /*同步信号*/

cobegin

process input(){

while(true){

p(mutex);

                 输入;

                  B1--;

v(mutex);

}

}

process chuli(){

while(true){

p(mutex);

                 处理;

                  B1++;

B2--;

v(mutex);

}

}

process output(){

while(true){

p(mutex);

                 输出;

                  B2++;

v(mutex);

}

} 

  coend

转载于:https://www.cnblogs.com/wscblog/p/10843045.html

用户信号量及其PV操作处理实际问题相关推荐

  1. 转 信号量与PV操作

    在计算机操作系统中,PV操作是进程管理中的难点. 首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下:     P(S):①将信号量 ...

  2. 系统架构设计师考试知识点整理-3:信号量与PV操作

    出现场景 进程之间会出现互斥和同步两种关系.为了处理这两种情况,提出信号量和PV操作. 1.信号量:是一种特殊的变量,变现形式是一个整型S和一个队列. 2.P操作:S=S-1,若S<0,进程暂停 ...

  3. 顾客银行办理业务时,首先在取号机上取号,然后坐在椅子上等候业务员叫号时前往窗口办理业务,假设银行现在有3个窗口可办理业务,请采用信号量和PV操作描述顾取号等候叫号和银行业务员叫号办理业务的同步操作。

    顾客银行办理业务时,首先在取号机上取号,然后坐在椅子上等候业务员叫号时前往窗口办理业务,假设银行现在有3个窗口可办理业务,请采用信号量和PV操作描述顾取号等候叫号和银行业务员叫号办理业务的同步操作. ...

  4. 城市道路十字路口的通行规则是“红灯停,绿灯行”,请用信号量和PV操作描述交通信号灯和汽车通过十字路口的同步行为

    城市道路十字路口的通行规则是"红灯停,绿灯行",请用信号量和PV操作描述交通信号灯和汽车通过十字路口的同步行为 1)识别那些可以作为进程 信号灯,汽车 2)其次识临界资源,即进程共 ...

  5. 【系统架构设计师】第一章:操作系统(1.2.2) 信号量与pv操作

    本篇帖子继续上篇.有兴趣可以点击链接进行查看以前写过的文章. [系统架构设计师]第一章:操作系统(1.2.2) 参考教材: <系统架构设计师考试全程指导(第二版)> <系统架构设计师 ...

  6. 操作系统复习——信号量与PV操作

    信号量与PV操作 问题的提出 TS或swap指令管理临界区,采用忙式轮询,效率低 关开中断管理临界区,不便交给用户程序使用 信号量的构思 一种可动态定义的软件资源:信号量 核心数据结构:等待进程队列 ...

  7. 小和尚挑水(信号量和PV操作)

     <--------个人网站传送门-------> 某寺庙,有小和尚.老和尚若干.庙内有一水缸,由小和尚提水入缸,供老和尚饮用. 水缸可容纳 30 桶水,每次入水.取水仅为1 桶,不可 ...

  8. 试利用记录型信号量和pv操作写出_计算机操作系统知识点汇总

    1.基本特征 (1)并发:并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令.操作系统通过引入进程和线程使得程序能够并发运行: (2)共享:共享是指系统中的资源可以被多个并 ...

  9. 【操作系统·考研】信号量机制/PV操作

    在操作系统引入进程后,一方面,系统中的多道程序可以并发执行,不仅有效改善资源利用率,而且显著提高系统的吞吐量.另一方面,如果不对多个进程的运行进行妥善管理,必然会因为这些进程对系统资源的无序争夺给系统 ...

最新文章

  1. 【PHPWord】创建带样式表格的Word文档
  2. 如何合理的规划一次jvm性能调优
  3. GARFIELD@11-21-2004
  4. Graft货币(GRFT)结点搭建
  5. NHibernate剖析:Mapping篇之Mapping-By-Code(2):运用ModelMapper
  6. python xgboost_告别无聊循环!Python帮你自动化处理文件
  7. 开发聚合四方支付系统个人免签支付系统API四方系统支持定制
  8. 红米note5系统Android11,红米Note5-MIUI11 开发版|超多功能|Xposed|ROOT|桌面布局-刷机之家...
  9. 史上最详细的Maven安装教程以及Maven和eclipse集成
  10. python调节电脑音量_python如何调节音量大小
  11. 基于单片机的红外检测及语音响应系统
  12. java-No route to host 解决办法
  13. IObit Driver Booster 无法更新驱动的解决办法
  14. heuristic manner
  15. SSD或者机械硬盘的读取速度查询
  16. 从dom4j到JAXB
  17. Greenplum——基于Greenplum-Spark Connector的Spark脚本开发及遇到的坑
  18. android中handle的用法
  19. iOS应用图标AppIcon
  20. FDC2212电容传感器

热门文章

  1. python一千行入门代码-Python 有哪些一千行左右的经典练手项目?
  2. python能写软件吗-python代码能做成软件吗
  3. python语言自学-自学Python要学多久可以学会?老男孩Python培训
  4. python怎么打开编辑器-python用什么编辑器进行项目开发
  5. python基础知识资料-Python基础知识篇 列表简介
  6. python的none是什么-python 中None,is和==的深入探讨
  7. 6_分布式训练框架Horovod使用(20190111)
  8. hdu2.1.1 最小公倍数
  9. 经典的”服务器最多65536个连接”误解
  10. 题目1204:农夫、羊、菜和狼的故事