如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()
如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()A.继续运行B.进入就绪态,让出CPUC.进入阻塞态,让出CPUD.继续运行,并唤醒S队列头上的等待进...
如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()
A.继续运行
B.进入就绪态,让出CPU
C.进入阻塞态,让出CPU
D.继续运行,并唤醒S队列头上的等待进程
达人们,请给我选出正确答案,谢谢了啊。回答的好给予加分~ 展开
A.继续运行
B.进入就绪态,让出CPU
C.进入阻塞态,让出CPU
D.继续运行,并唤醒S队列头上的等待进程
达人们,请给我选出正确答案,谢谢了啊。回答的好给予加分~ 展开
展开全部
C
因为:s-1<0阻塞,并放弃处理机
P,V操作原语
1. P操作原语P(S) :
1) P操作一次,S值减1,即S=S-1(请求分配一资源);
2) 如果S≥0,则该进程继续执行; 如果S<0表示无资源,则该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至另一个进程执行V(S)操作)。
2. V操作原语(荷兰语的等待)V(S) :
1) V操作一次,S值加1,即S=S+1(释放一单位量资源);
2) 如果S>0,表示有资源,则该进程继续执行; 如果S≤0,则释放信号量队列上的第一个PCB所对应的进程(阻塞态改为就绪态),执行V操作的进程继续执行。
因为:s-1<0阻塞,并放弃处理机
P,V操作原语
1. P操作原语P(S) :
1) P操作一次,S值减1,即S=S-1(请求分配一资源);
2) 如果S≥0,则该进程继续执行; 如果S<0表示无资源,则该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至另一个进程执行V(S)操作)。
2. V操作原语(荷兰语的等待)V(S) :
1) V操作一次,S值加1,即S=S+1(释放一单位量资源);
2) 如果S>0,表示有资源,则该进程继续执行; 如果S≤0,则释放信号量队列上的第一个PCB所对应的进程(阻塞态改为就绪态),执行V操作的进程继续执行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询