编程人 cdmana.com

操作系统 - PV操作

PV操作的例题:

分析:进入书店P(Sn)与离开书店V(Sn)操作对应题目中的“该书店最多允许n个购书者进入”,因为假如进入书店的人数超过了最大的限制,P操作会被阻塞,知道V操作执行后释放空间。

接下来分析购书与收费的流程,现实生活中购书付款是顾客提出缴费的要求后,收银员才能进行收费。所以收银员默认是处于待机状态即阻塞状态,所以b1是一个P操作,相对应的a1是一个V操作,唤醒收银员。

付款给收银员后顾客会等待收银员进行找零,开票,消磁操作后才会离开书店。所以在付款的a2阶段顾客会处于待机状态即P操作,收费的b2阶段是一个V操作。

回到题目中第一空应该选择V,P中的S1或S2,对应A选项;第二空应该选择P,V中的S1或S2,由于第一空选择了a1 => V(S1)和a2 => P(S2),所以b1要与a1的信号量对应即P(S1),b2与a2的信号量对应即V(S2)。

 

 

 

PV操作与前趋图的例题:

 

分析:解题的关键是标记4个信号量S1,S2,S3,S4;依照从左到右,从上到下的原则,在P1 -> P3间标记S1,在P2 -> P3间标记S2,在P3 -> P4间标记S3,在P3 -> P5间标记S4。

从前趋图中可以分析出P3需要等待P1和P2执行完成才能继续执行,所以P1对应的是V1,P2对应的是V2,第一空选C;

P3被P1和P2阻塞,所以会有P(S1)和P(S2),并且P3阻塞了P4和P5,所以它也有V(S3)和V(S4),第二空选A;那么P4和P5被P3阻塞,所以P4有P(S3)操作,P5有P(S4)操作;第三空选A;

 

 

Scroll to Top