在操作系统中,P操作和V操作各自的动作是如何定义的

1个回答

  • 答:P操作顺序执行下述两个动作:

    ①信号量的值减1,即S=S-1;

    ②如果S≥0,则该进程继续执行;

    如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V操作,把它释放出来为止).

    V操作顺序执行下述两个动作:

    ①S值加1,即S=S+1;

    ②如果S>0,则该进程继续运行;

    如果S≤0,则释放信号量队列上的第一个PCB(即信号量指量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行.