1.书上课后练习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上,由输出进程进行输出。

  1. 这个问题有哪些进程?进程之间有什么样的制约关系?
  2. 用信号量及PV操作写出这些进程之间的同步算法。

1.有输入进程、处理进程、输出进程。输入进程受处理进程影响,B1放满信息后R进程要等待——等处理进程将其中信息全部取走,才能继续读入信息;处理进程受输入进程和P进程的约束:B1中信息放满后处理进程才可从中取出它们,且B2被取空后处理进程才可将加工结果送入其中;输出进程受处理进程的约束:B2中信息放满后输出进程才可从中取出它们,进行打印。

2.

semaphore s1,s2,s3,s4;
semaphore mutex1,mutex2;
mutex1=1,mutex2=1;
cobegin
Process input(){
while(true);
input();
p(s1);
P(mutex1);
数据放入B1(M1);
m1=(m1+1)%M
v(mutex1);
V(s2);
}coendProcess Processing(){
while(true);
p(s2);
P(mutex2);
在B1取出数据;out1=(out1+1)%M;
Processing();
v(s1);
数据处理后放入B2(M2);
m2=(m2+1)%M
v(mutex2);
V(s3);
}coendProcess output(){
while(true);
p(s3);
在B2取出数据;
ouput();out2=(out2+1)%M;
}coend

转载于:https://www.cnblogs.com/zzj520/p/10842497.html

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

  1. 用户信号量及其PV操作处理实际问题

    P187-43 Cemaphore empty=1;橘子精=0;糖=0:水=0; Process product(){ While(true){ P(empty); 产生一个随机数s; If(s==0 ...

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

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

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

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

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

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

  5. 转 信号量与PV操作

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

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

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

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

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

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

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

  9. Operating System-进程/线程内部通信-信号量和PV操作

    本文介绍操作系统进程管理的两个核心概念: 信号量 PV操作 一.信号量介绍 1.1 信号量引入 信号量(Semaphore)1965年由Dijkstra引入的.信号量一般由一个值是一个变量,其值有可能 ...

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

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

最新文章

  1. 经验分享:服务器托管必用的10大工具
  2. c++ primer 5th 笔记:第二章
  3. Silverlight多文件(大文件)上传的开源项目
  4. restlet_Restlet框架– Hello World示例
  5. 2019年最值得关注的五大微服务发展趋势
  6. linux 启动tomcat 怎么显示日志文件,随着LINUX的启动,打开一个终端显示TOMCAT的日志文件,请问如何做到?...
  7. substr判断最后一个是不是逗号_考研最后一个月是不是很累?
  8. mysql 内连接查询三表数据_数据库三表连接查询怎么做
  9. 海康录像机能用别的摄像头吗_海康威视录像机NVR如何添加其它品牌(大华)摄像头...
  10. php 图片上加文字,PHP实现在图片中添加中文文字
  11. 微信代扣踩坑日记(微信自动续费)
  12. 全国计算机二级12月福建报名时间,2020年12月福建计算机二级考试报名时间安排...
  13. 分享ddwrt tomato路由器剔除信号质量差客户端的脚本
  14. office2010 打开报错 无法访问您试图使用的功能所在的网络位置
  15. Boostnote:适合程序员的笔记软件
  16. 学习总结20-04-18:包装类
  17. 安卓音视频开发!为了跳槽强刷1000道Android真题,大厂直通车!
  18. 辐射强度和辐射亮度_如何在“辐射4”中隐藏“创意俱乐部新闻”垃圾邮件
  19. python经典书记必读:Python编程快速上手 让繁琐工作自动化
  20. preg_replace_callback函数的使用

热门文章

  1. HCIE-RS面试--RSTP为什么优于STP
  2. TCP的三次握手和四次挥手(超详解)
  3. C++RAII惯用法:C++资源管理的利器
  4. 实现二叉树的遍历(递归与非递归)
  5. VRRP的基本配置(以H3C模拟器为例)
  6. runC爆严重漏洞影响Kubernetes、Docker,阿里云修复runC漏洞的公告
  7. 我要做 Android 之面笔试
  8. 无人编辑,人工智能编辑,AI编辑机器人-资讯频道编辑
  9. 火车票线程同步(一)互斥体实现
  10. Hibernate学习(一)创建数据表