首页 > 试题广场 >

V原语对信号量做运算后,()

[单选题]
V原语对信号量做运算后,( )
  • 当S<0时进程继续执行
  • 当S<0时要唤醒一个就绪进
  • 当S≤0时要唤醒一个等待进程
  • 当S≤0时要唤醒一个就绪进程
P原语(阻塞原语)操作的动作是:
    (1)sem减1;
    (2)若sem减1后仍大于或等于零,则进程继续执行;
    (3)若sem减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
V原语(唤醒原语)操作的动作是:
    (1)sem加1;
    (2)若相加结果大于零,则进程继续执行;
    (3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。
发表于 2017-02-13 10:19:49 回复(0)
V原语操作执行后
   如果sem大于0,说明没有等待进程。
   如果sem小于或等于0,说明有等待进程队列,因为V操作释放了一个资源,就需要唤醒一个等待进程获得该资源
发表于 2017-02-16 22:06:51 回复(0)
P原语(阻塞原语)操作的动作是:
    (1)sem减1;
    (2)若sem减1后仍大于或等于零,则进程继续执行;
    (3)若sem减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
V原语(唤醒原语)操作的动作是:
    (1)sem加1;
    (2)若相加结果大于零,则进程继续执行;
    (3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。
发表于 2018-01-09 16:56:06 回复(0)
V原语(唤醒原语)
sem+1
如果大于0进程继续执行
如果小于等于0那么说明有等待进程队列,v操作释放了一个资源,那么就需要唤醒一个等待进程来获得该资源
p原语(阻塞原语)
sem-1
如果大于等于0进程继续执行
如果小于0那么该进程被阻塞,进入与该信号对应的队列中,然后转进程调度
发表于 2017-08-11 13:15:03 回复(0)