操作系统——pv操作示例
2015-10-08 21:45
204 查看
为了更加巩固一下pv操作系统,我拿一道题出来解答一下,以便巩固知识。
2011年11月考试的一道题,题目如下:
进程P1、P2、P3、P4和P5的前趋图如下:
若用PV操作控制进程P1~P5并发执行过程,则需要设置5个信号量S1、S2、S3、S4和S5,进程间同步所使用的信号量标注在上图中的边上,且信号量S1~S5的初始值都等于零,初始状态下从进程P1开始执行。下图中a、b和c处应分别填写(1);d和e处应分别填写(2),f和g处应分别填写(3)。
(1)A. V(S1)V(S2)、P(S1)和V(S3) V(S4)
B. P(S1)V(S2)、P(S1)和P(S2) V(S1)
C. V(S1)V(S2)、P(S1)和P(S3) P(S4)
D. P(S1)P(S2)、V(S1)和P(S3) V(S2)
(2)A. P(S1) 和V(S5)
B. V(S1) 和P(S5)
C. P(S2) 和V(S5)
D. V(S2) 和P(S5)
(3)A. P(S3)和V(S4) V(S5)
B. P(S3)和P(S4) P(S5)
C. V(S3)和V(S4) V(S5)
D. V(S3)和P(S4) P(S5)
好吧,废话少说,开始解题。
该题目拿到入口点就是在前趋图,前趋图的每一个箭头可以看做是一个信号量,进的箭头可以看做是 P操作,而出的箭头可以看做是V操作。
首选看P1的箭头。P1有两个出的箭头,说明P1进行了两次 的V操作,分别是V(S1)和V(S2),所以a处应该是
V(S1)和V(S2)。
接着看 P2的箭头。P2 有一个进的箭头,以及两个出的箭头,所以,P2的操作应该分别是 P(S1)、V(S3)和V(S4)。
如此类推,所以答案应该是 (1)A、 (2)C 、(3)D
2011年11月考试的一道题,题目如下:
进程P1、P2、P3、P4和P5的前趋图如下:
若用PV操作控制进程P1~P5并发执行过程,则需要设置5个信号量S1、S2、S3、S4和S5,进程间同步所使用的信号量标注在上图中的边上,且信号量S1~S5的初始值都等于零,初始状态下从进程P1开始执行。下图中a、b和c处应分别填写(1);d和e处应分别填写(2),f和g处应分别填写(3)。
(1)A. V(S1)V(S2)、P(S1)和V(S3) V(S4)
B. P(S1)V(S2)、P(S1)和P(S2) V(S1)
C. V(S1)V(S2)、P(S1)和P(S3) P(S4)
D. P(S1)P(S2)、V(S1)和P(S3) V(S2)
(2)A. P(S1) 和V(S5)
B. V(S1) 和P(S5)
C. P(S2) 和V(S5)
D. V(S2) 和P(S5)
(3)A. P(S3)和V(S4) V(S5)
B. P(S3)和P(S4) P(S5)
C. V(S3)和V(S4) V(S5)
D. V(S3)和P(S4) P(S5)
好吧,废话少说,开始解题。
该题目拿到入口点就是在前趋图,前趋图的每一个箭头可以看做是一个信号量,进的箭头可以看做是 P操作,而出的箭头可以看做是V操作。
首选看P1的箭头。P1有两个出的箭头,说明P1进行了两次 的V操作,分别是V(S1)和V(S2),所以a处应该是
V(S1)和V(S2)。
接着看 P2的箭头。P2 有一个进的箭头,以及两个出的箭头,所以,P2的操作应该分别是 P(S1)、V(S3)和V(S4)。
如此类推,所以答案应该是 (1)A、 (2)C 、(3)D
相关文章推荐
- 新东西010--Android targetSdkVersion解析
- #include与直接写class加类名有何区别
- Regular Expression Matching
- 026-代码创建控件-iOS笔记
- C++ 面试 (1) 指针
- 08-DOM操作多选下拉列表
- EffectiveC#6--区别值类型数据和引用类型数据
- Testlink的使用
- 一种全新的截屏方法
- Unity协程(Coroutine)原理深入剖析
- java选择题
- 设计模式之建造者模式
- 策略模式学习笔记
- 024-Foundation框架(下)-OC笔记
- 023-Foundation框架(上)-OC笔记
- Java体系结构简介
- 数据库操作失败就【回滚】
- 高项2015年下半年培训随堂作业(10月10日)
- Oracle-卸载
- Nginx介绍及企业web服务软件选择