PV操作-2
来源:互联网 发布:250bp进入编程 编辑:程序博客网 时间:2024/06/05 04:07
1.p操作和v操作是不可中断的程序段,称为原语。PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意 思。
P原语操作的动作是: (1)S减1;
(2)若S减1后仍大于或等于零,则进程继续执行;
(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调 度。
V原语操作的动作是: (1)S加1;
(2)若相加结果大于零,则进程继续执行;
(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进 程继续执行或转进程调度。
需要提醒大家的是:PV操作首先是一个原语操作,对于每一个进程来说,都只能进行一次。而且必须成对使用。且 在PV原语执行期间不允许有中断的发生。
2.信号量(semaphore):它的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与 相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使 用该资源的进程个数。注意,信号量的值仅能由PV操作来改变。
PV操作的意义:我们用信号量及PV操作来实现进程的同步和互斥。PV操作属于进程的低级通信一般来说,信号量 S>0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已 经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单 位资源,因此S的值加1;若S<0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下 去。
- PV操作-2
- PV操作
- PV操作
- PV操作
- PV操作
- pv操作
- PV操作
- pv 操作
- PV操作
- PV操作
- PV操作
- PV操作
- PV操作
- PV操作
- PV操作
- PV操作
- PV操作
- pv操作
- Ext3 PagingToolbar.js修改
- 嵌入式Linux驱动开发
- 自定义属性2
- POJ2352
- jsp调用控件
- PV操作-2
- malloc函数学习
- 北大ACM2739——Sum of Consecutive Prime Numbers
- Java基础之适配器模式
- 2015.7.8 Linux下的Shell脚本编程
- java中使用正则表达式匹配特殊字符串\$natureOrder.*\)
- 《权威指南》笔记 - 8.7 函数属性、方法、构造函数
- Android平台录音音量计的实现
- java配置证书,各种……