PV 操作
信号量
信号量是⼀种⽤来表⽰系统资源使⽤情况的整型变量 设信号量为 S S S 当 S > 0 S>0 S>0时, S S S表⽰系统中对应可⽤资源的数⽬当 S < 0 S<0 S<0时, S S S的绝对值表⽰因申请该类资源却得不到满⾜⽽被阻塞的进程的数⽬ 当 S = 0 S=0 S=0时,系统中对应的资源已经⽤完且没有因申请该类资源⽽阻塞的进程 对信号量的操作:PV 操作
操作:在进⼊临界区前执⾏
操作:在退出临界区后执⾏
临界资源:系统中⼀段时间内只允许⼀个资源访问或使⽤的硬件或软件资源 资源访问过程:进⼊区,临界区,退出区,剩余区⽤wait(s)来描述操作⽤signal(s)描述操作
P V P wait (s ){ --s .count ;//表⽰申请⼀个资源 if (s .count < 0)//表⽰没有空闲资源 { /* 调⽤进程进⼊等待队列s.queue 阻塞调⽤进程 */ }}
1
2
3
4
网上杂志5
6
7
8
9
刚构10
11V signal (s ){ ++s .count ;//表⽰释放⼀个资源 if (s .count <= 0)//表⽰线程处于阻塞状态 { /* 从等待队列s.queue 中取出头⼀个进程 P 进程 P 进⼊就绪队列 */ }}1
2
3
4
5
6
7
中国电机工程学报
8
希罗达9
10
人民解放战争是什么时间?11