计算机操作系统pv操作.ppt
《计算机操作系统pv操作.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统pv操作.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机操作系统教程P、V操作P、V操作的引入为禁止两个进程同时进入临界区,使用了锁操作方法。但这带来两个问题:1.当临界资源被占用,不停的测试会造成错误。2.无法实现同步为此E.W.Dijkstra提出了一种解决同步,互斥问题的更一般的方法,这就是信号量以及有关的P、V操作信号量信号量是表示资源的实体,是一个与队列有关的整型变量,其值只能由P、V操作来改变。操作系统利用信号量对进程和资源进行控制和管理。根据用途的不同,分为公用信号量和私用信号量。公用信号量通常用于实现进程之间的互斥,初值为1,他所联系的一组并发进程均可对其实施P,V操作;私用信号量一般用于实现进程间的同步,初值为0或为某个正整
2、数n,仅允许拥有它的进程对其实施P、V操作。P、V操作的定义P、V操作是定义在信号量S上的两个操作。P(S):(1)S:=S-1;(2)若S=0,则调用P(S)的进程继续运行。(3)若S0,则调用V(S)的进程继续运行;(3)若S0时的数值表示某类可用资源的数量,执行P操作意味着申请分配一个单位的资源。因此可描述为S:=S-1,当S0时,表示已无资源可用,此时S的绝对值表示信号量S的阻塞队列中的进程数;而执行一次V操作意味着释放一个单位的资源,描述为S:=S+1,若此时S=1 then if r=1 then begin begin r r:=:=r r 1;1;A:=r;A:=r;V(S);
3、V(S);售出一张票;end end else else 售出票已售完;endend;PROCESS Pir:integer;begin P(S);r:=A;if r=1 then begin r:=r 1;A:=r;V(S);售出一张票售出一张票;end else begin V(S);售出票已售完售出票已售完 endend;例例3 3:有有m m个个生生产产者者和和r r个个消消费费者者共共享享容容量量为为n n的的缓缓冲冲器器(m m、r r、n n均均大大于于1 1)。每每个个生生产产者者把把自自己己生生产产的的物物品品存存入入缓缓冲冲区区,每每个个消消费费者者从从缓缓冲冲区区中中取取
4、出出物物品品去去消消费费。要要求求用用P P、V V操操作作对对这这些些生生产产者者和和消消费费者者进进行行正正确确管理。管理。定义:整型数组:定义:整型数组:B0n-1B0n-1 整型变量:整型变量:k k,t t 初值均为初值均为0 0 信号量:信号量:S1S1:初值:初值1 1 用于生产者放入物品用于生产者放入物品 S2 S2:初值:初值1 1 用于消费者取出物品用于消费者取出物品 SP SP:初值:初值n n 缓冲区是否可用缓冲区是否可用 SG SG:初值:初值0 0 缓冲区里是否有物品缓冲区里是否有物品PROCESS PibeginL1:produce a product;P(SP)
5、;P(S1);Bk:=product;k:=(k+1)mod n;V(S1);V(SG);goto L1endPROCESS CjbeginL2:P(SG);P(S2);take a product from Bt;t:=(t+1)mod n;V(S2);V(SP);consume;goto L1end生产者分别向生产者分别向缓冲区送产品,缓冲区送产品,由由S1控制互控制互斥访问。斥访问。消费者分别从消费者分别从缓冲区中取出缓冲区中取出产品,由产品,由S2控制互斥访问控制互斥访问例例4 4:读者写者问题:读者写者问题:规规定定:允允许许多多个个进进程程同同时时读读;只只允允许许一一个个进进程程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 pv 操作
限制150内