● 某学校开水房有4台刷卡机,100个自动水龙头。当学生打水时,只要有刷卡机空闲就让学生进入开水房
● 某学校开水房有4台刷卡机,100个自动水龙头。当学生打水时,只要有刷卡机空闲就让学生进入开水房先刷完卡,如果此时还有水龙头空闲,就允许学生打水,否则等待直到有水龙头空闲。其工作流程如下图所示。为了利用PV操作正确地协调他们之间的工作,设置了两个信号量S1和S2,且S1的初值为4,S2的初值为100。图中的a应填写(1) ;图中的b、c和d应分别填写(2) 。
(1)A.P(S1) B.P(S2) C.V(S1) D.V(S2)
(2)
A.P(S2)、V(S2)和V(S1) B.P(S1)、V(S1)和V(S2)
C.V(S1)、P(S2)和V(S2) D.V(S2)、P(S1)和V(S1)
首先要理解好P、V操作的含义。假设信号量为sem,则:P原语的主要操作是:(1)sem减1;(2)若sem减1后仍大于或等于零,则该进程继续执行;(3)若sem减1后小于零,则该进程被阻塞,在相应队列中排队,然后转向系统的进程调度。V原语的主要操作是:(1)sem加1;(2)若相加结果大于零,则进程继续执行;(3)若相加结果小于或等于零,则唤醒一阻塞在该信号量上的进程,然后再返回原进程继续执行或转进程调度。当信号量S小于0时,其绝对值表示系统中因请求该类资源未被满足而被阻塞的进程数目,S大于0时表示可用的临界资源数。对于V操作有一些说明,以纠正理解偏差:Sem大于0的确表示有临界资源可供使用,而且这个时候没有进程被阻塞在这个资源上,也就是说没有进程因为得不到这类资源而阻塞,所以没有被阻塞的进程,自然不需要唤醒。有人可能会问:当Sem小于0时表明没有临界资源可供使用,为什么还要唤醒进程?这是因为,V原语操作的本质在于:一个进程使用完临界资源后,释放临界资源,使Sem加1,以通知其它的进程,这个时候如果Sem<0,表明有进程阻塞在该类资源上,因此要从阻塞队列里唤醒一个进程来“转手”该类资源。比如,有2个某类资源,三个进程A、B、C、D要用该类资源,最开始Sem=2,当A进入,Sem=1,当B进入Sem=0,表明该类资源刚好用完,当C进入时Sem=-1,表明有一个进程被阻塞了,D进入,Sem=-2。当A用完该类资源时,进行V操作,Sem=-1,释放该类资源,而这时Sem<0,表明有进程阻塞在该类资源上,于是唤醒一个。有了上述对PV操作的正确理解,那这道题就很好解决了。S1的初值为4,显然表明最开始有4个“刷卡机”这种资源,当学生打水刷卡时要用去一个这样的资源,于是a显然填P(S1)。当刷完卡之后,学生进程要释放“刷卡机”资源,于是b显然填V(S1)。从图中可看出,接着要看是否有水龙头空闲,同理,学生要用去一个“水龙头”资源,于是c应该填P(S2)。最后,d显然填V(S2)了。值得一提的是,很多人记不清是P操作加1还是V操作加1,这里给大家提供一个小窍门,大家看字母“V”,从下往上它是逐渐变大的,这“表明”V操作是对信号量进行加1操作。
(1)普通公交车票价刷卡0.4元.空调公交车刷卡的票价比普通公交车高50%,空调公交车刷卡的票价是 数学 2020-06-04 …
某商场甲、乙两个柜台4月份营业额共64万元,5月份甲柜台增长了20%,乙柜台增长了15%,营某商场 数学 2020-06-27 …
请问下,英汉辞典下面的,N.[C]vtvi什么是宾语英汉辞典n.[C]1.(常构成复合词)刷,刷子 英语 2020-07-11 …
一个刷车房小时可以刷6台车,那么1小时可刷几台车? 数学 2020-07-11 …
下列句子中划线成语使用恰当的一项(3分)()A.我们要感谢中央电视台字幕中显示的刘谦魔术表演的五位 语文 2020-07-24 …
下列句子中划线成语使用恰当的一项A.我们要感谢中央电视台字幕中显示的刘谦魔术表演的五位幕后助理,是他 其他 2020-11-07 …
下列各句中,划线词语使用不当的一句是:A.我们要感谢中央电视台字幕中显示的这五位刘谦魔术的幕后助理, 其他 2020-12-02 …
学校印刷画册一共用去1980元,其中制版费300元,其余的是印刷费.每本画册的印刷印刷费是4.8元, 数学 2020-12-09 …
学校印制画册一共用去1980元,其中制版费300元,其余的是印刷费.每本画册的印刷费是4.8元,学校 其他 2020-12-09 …
印刷厂刷一批新书,计划印刷480万册,实际比计划印刷的3/4还多150万册,实际印刷新书多少万册 数学 2020-12-26 …