试题详情
简答题简述信号量的定义和作用。P,V操作原语是如何定义的?
  • 信号量一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值,它与相应资源的使用情况有关;另一个是指向PCB的指针。当多个进程都等待同一信号量时,它们就排成一个队列,由信号量的指针项指出该队列的队首。
    信号量通常可以简单反映出相应资源的使用情况,它与P、V操作原语一起使用可实现进程的同步和互斥。P,V操作原语有如下定义。
    P(S)顺序执行下述两个动作:
    ⑴信号量的值减1,即S=S-1;
    ⑵如果S>=0,则该进程继续执行。
    如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直到其他进程在S上执行V操作,把它释放出来为止)。
    V(S)顺序执行下述两个动作:
    ⑴S值加1,即S=S+1;
    ⑵如果S>0,则该进程继续运行;
    如果S<=0,则释放信号量队列上的第一个PCB所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
  • 关注下方微信公众号,在线模考后查看

热门试题