进程的PV操作详解.doc

进程的PV操作详解.doc

ID:52714855

大小:50.00 KB

页数:5页

时间:2020-03-29

进程的PV操作详解.doc_第1页
进程的PV操作详解.doc_第2页
进程的PV操作详解.doc_第3页
进程的PV操作详解.doc_第4页
进程的PV操作详解.doc_第5页
资源描述:

《进程的PV操作详解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、进程的PV操作在操作系统中,P、V操作是进程管理中的难点。这是1968年荷兰人Dijkstra给出的一种解决并发进程间互斥和同步关系的通用方法。1.P、V操作的意义定义了信号量及其上的P操作和V操作,来实现并发进程间的同步和互斥,甚至可以用来管理资源的分配。P、V操作因交换的信息量少,属于进程的低级通信。b5E2RGbCAP2.什么是信号量?信号量

2、号量的一般结构及PCB队列信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的初值不能为负,且其值只能由P、V操作来改变。DXDiTa9E3d3.P、V操作的含义P、V操作由P操作原语和V操作原语组成<原语是不可中断的过程),对信号量S进行操作,具体定义如下:P

3、GiTV

4、.利用信号量和P、V操作实现进程互斥一般地,n个进程利用信号量和P、V操作实现进程互斥的一般模型如下:进程P1进程P2……进程Pn………………xHAQX74J0XP

5、MI1<2)P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。<3)互斥信号量的初值一般为1。5.利用信号量和P、V操作实现进程同步P、V操作是典型的进程同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值为非0时,表示期望的消息已经存在。用P、V操作实现进程同步时,调用P操作测试消息是否到达,调用V操作来发送消息。rqyn14ZNXI使用P、V操作实现进程同步时应该注意的问题是:<1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系情况下,哪个

6、进程应先执行,哪些进程后执行,彼此间通过什么信号量进行协调,从而明确要设置哪些信号量。EmxvxOtOco<2)信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。<3)同一信号量的P、V操作要成对出现,但它们分别在不同的进程代码中。6.P、V操作举例【例1】生产者-消费者问题在多道程序环境下,进程同步是一个十分重要又令人感兴趣的问题,而生产者-消费者问题是其中一个有代表性的进程同步问题。下面我们给出了各种情况下的生产者-消费者问题,深入地分析和透彻地理解这个例子,对于全面解决操作系统内的同步、互斥问题将有很大帮

7、助。SixE2yXPq5<1)一个生产者,一个消费者,公用一个缓冲区{P(full>。从Buffer取出一个产品。V(empty>。消费该产品。}full——表示缓冲区中是否为满,初值为0。6ewMyirQFL生产者进程while(TRUE>{生产一个产品。P(empty>。产品送往Buffer。V(full>。}<2)一个生产者,一个消费者,公用n个环形缓冲区。定义两个同步信号量:empty——表示缓冲区

8、是否为空,初值为n。full——表示缓冲区中是否为满,初值为0。消费者进程while(TRUE>{P(full>。从buffermodn;V(empty>。消费该

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。