PV操作-2

转载 2015年07月08日 13:27:37

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操作、信号量、同步与互斥

1.信号量的类型定义 信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的...
  • knight_coder
  • knight_coder
  • 2014年09月12日 23:33
  • 1969

PV操作:读者写者问题

package concurrent; import java.util.Date; import java.util.concurrent.Semaphore; public class Wri...
  • u010953266
  • u010953266
  • 2015年09月06日 09:45
  • 981

最经典的关于PV操作的解释说明

  不知道各位有没有感觉,计算机方面的考试,操作系统那块似乎PV操作经常考,这一方面说明它的重要,另一方面也说明它不容易理解,出错的人很多,下面就举几个经典的例子来帮助大家学习,也与诸位同进步。一,P...
  • yuanhuiqiao
  • yuanhuiqiao
  • 2010年05月25日 17:08
  • 20199

【操作系统】吃苹果与PV操作

【前言】        为了解决进程共享资源的问题,我们在操作系统中引入了PV操作的概念;那么PV操作到底是怎么一回事呢?让我们从吃苹果入手,一起浅析PV操作。...
  • srk950606
  • srk950606
  • 2016年04月10日 20:57
  • 1299

关于叫号类的PV操作总结

关于叫号类的PV操作总结@(OS)先分析一道题目。 面包师傅有很多面包,由n个推销人员推销。每个顾客进店后取一个号,并且等待叫号。当一个销售人员空闲下来时,就叫下一个号。设计一个使销售人员和顾客同...
  • u011240016
  • u011240016
  • 2016年11月29日 17:00
  • 1029

PV操作--题目解析 (赞)

感觉概念理解的差不多了,试着做一两道题,来看看是否真的明白,以及还有什么地方不明白的.   下面都是软考真题,之前看它的时候,我是一点也不会,只巴望着我软考的时候不要考啊.现在我看看有没有一点点思...
  • jindao909
  • jindao909
  • 2016年02月29日 21:29
  • 883

linux PV操作理解

进程通常分为就绪、运行和阻塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作...
  • benpaobagzb
  • benpaobagzb
  • 2016年02月29日 21:19
  • 1425

【操作系统】——PV操作

大家都说操作系统中的PV操作部分看不懂,确实我在专业课中学习这门课时,PV操作被列为书中的重点和难点,就是因为它不好理解。当时自己听完课也是一头雾水,到期末考试结束,也没弄明白这是怎么一回事,更没有意...
  • u013045214
  • u013045214
  • 2015年04月05日 18:49
  • 6660

锁、PV操作、进程互斥与同步的实现

什么是临界区? 每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。 一、锁机制:1、锁:在多线程...
  • qicheng777
  • qicheng777
  • 2017年08月20日 21:25
  • 606

PV操作经典问题

飞机票问题 Var A : ARRAY[1..m] of integer; mutex : semaphore; mutex:= 1; cobegin process Pi var Xi:...
  • u010897957
  • u010897957
  • 2014年06月22日 18:40
  • 1171
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PV操作-2
举报原因:
原因补充:

(最多只允许输入30个字)