● 某学校开水房有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操作。
使用格式刷可以进行快速格式复制操作。 职业技能鉴定 2020-05-31 …
(2014•牡丹江)如图所示,印刷厂新进一批纸张,每包纸受到的重力是5100N,体积是0.6m3, 物理 2020-06-17 …
当代,印刷术已进入光与电的时代。中国是印刷术的故乡,在7世纪和11世纪就发明了雕板印刷和活字印刷术 政治 2020-07-05 …
明代嘉靖、万历之际,商业发展迅速,书籍日益普及,在江南地区出现儒贾、贾儒。儒贾相同的社会趋势的出现 历史 2020-07-05 …
如图所示,印刷厂新进一批纸张,每包纸受到的重力是5100N,体积是0.6m3,利用叉车运送纸包,将 物理 2020-07-08 …
阅读下面材料,完成后面题目。(7分)杭州某校高二的一堂选修课上,老师与学生打开微信,上课时师生刷微信 语文 2020-12-23 …
阅读下面材料,完成后面题目。杭州某校高二的一堂选修课上,老师与学生打开微信,上课时师生刷微信进行讨论 语文 2020-12-23 …
阅读下面材料,完成后面题目。(7分)杭州某校高二的一堂选修课上,老师与学生打开微信,上课时师生刷微信 语文 2020-12-23 …
阅读下面材料,完成后面题目。(7分)杭州某校高二的一堂选修课上,老师与学生打开微信,上课时师生刷微信 语文 2020-12-23 …
阅读下面的材料,完成后面的题目。杭州某校高二的一堂选修课上,老师与学生打开微信,上课时师生刷微信进行 语文 2020-12-23 …