首页 > 其他 > 详细

操作系统-信号量

时间:2020-12-21 18:21:39      阅读:19      评论:0      收藏:0      [点我收藏+]

首先要了解什么是P(wait)、V(signal)操作:

1 wait(semaphore *S){
2         S->value--;
3         if(S->value<0)block(S->list);
4 }
5 
6 signal(semaphore *S){
7         S->value++;
8         if(S->value<=0)wakeuup(S->list);
9 }

设有两个进程E,N;N的优先级高于E,同时进入就绪队列,各自运行的程序段如下:
进程E:              进程N:

E1 S = 48              N1 A = 46

E2 T = S - T             N2 S = A - S

E3 P(Q)               N3 V(Q)

E4 S = T + A             N4 A = S - T

E5 V(R)               N5 P(R)

E6 A = T - S             N6 T = A - S

 

Q=0,R=0,A=17,T=27,S=31,非抢占式优先级调度算法:

操作系统-信号量

原文:https://www.cnblogs.com/Angfe/p/14168938.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!