一、PV操作的原则
P操作:相当于请求资源、输入
V操作:相当于释放资源、输出
-
在单一进程内部,由 P操作 —> V操作
1、P:请求到资源 (相当于程序输入)
2、执行…
3、V:释放资源 (相当于程序的输出)
-
在两个进程之间,由 V操作 —> P操作
1、V:一个进程释放了资源
2、P:另一个进程可以申请该资源
-
起始进程:只有 V操作(输出),没有 P操作(输入)
相当于程序只出不进
-
终止进程:只有 P操作(输入),没有 V操作(输出)
相当于程序只进不出
-
前趋图中信号排序规则:从左到右、从上到下,依次为1、2、3…

二、案例分析
1、案例



2、分析
1)先标信号S
按照从左到右、从上到下
如果两条线的起点相同,就比较终点;终点在上或在前的,就排在前面

2)依次分析每个进程
原则:
初始进程,只有V,没有P
终止进程,只有P,没有V
进程内,从P到V
进程间,从V到P
一个进程有几个输入,就有几个P;有几个输出,就有几个V
-
P1
初始进程:只有V
有两个输出S1、S2,所以V为:V(s1)、V(s2)

-
P2
一个输入S1,两个输出S3、S4
所以P为:P(s1),V为:V(s3)、V(s4)

-
P3
两个输入S2、S3,两个输出S5、S6
所以P为:P(s2)、P(s3),V为:V(s5)、V(s6)

-
P4
两个输入S4、S5,一个输出S7
所以P为:P(s4)、P(s5),V为:V(s7)

-
P5
一个输入S6,一个输出S8
所以P为:P(s6),V为:V(s8)

-
P6
终止进程,只有P,没有V
两个输入S7、S8
所以P为:P(s7)、P(s8)

3)答案

本文详细阐述了PV操作在进程同步中的应用,包括P操作(请求资源)和V操作(释放资源)的使用规则。在单一进程内部,资源的获取与释放顺序为P->V;在进程间通信中,资源释放后才能被其他进程请求,即V->P。文章通过一个具体的案例,展示了如何在前趋图中正确标记信号,并分析了各个进程的P和V操作。案例中涉及多个进程的输入输出交互,每个进程的P与V操作数量与其输入输出数量相匹配,最终确保了进程间的正确同步。

2738

被折叠的 条评论
为什么被折叠?



