点击这里给我发消息 点击这里给我发消息

操作系统PV原理

添加时间:2013-12-6
    相关阅读: 系统
 

PV原理是用来解决操作系统进程之间的同步和互斥的。

同步:异步环境下的一组进程因相互制约而发送消息,进行互相合作互相等待。使各个进程按照一定的速度执行。

互斥:一组进程因为共享一个公共资源,必需保证同一时刻只有一个进程在使用临界资源。

举一个例子就是:

互斥就是很多人过一个独木桥,同时只能有一个人使用这个桥。

同步就是两个人同时过一个桥,一个人骑车,一个人步行,但是两个人必需同时到达。这两个人同时出发,骑车的人的比较快,必需到一段等一下步行的人,保证他们相互制约着到达。

信号量:

代表并发进程可用资源数,小于零表示正在等待资源的进程数。

P操作:

将信号量减一,如果信号量(sem)为负数,则调用p操作的进程停止,直到另一个进程对同一信号量做v操作。

V操作:

将信号量加一,如果信号量(sem)大于等于0则在与sem有关的队列中唤醒一个进程,让他执行。

PV原理原则

1、互斥的信号量的PV操作在一个进程中出现 这里的Sn是互斥的,所以P(Sn)

V(Sn)都在顾客进程里面。

2、同步的信号量的PV操作在两个进程之间交替出现,比如S1,S2在顾客和收营员直接交替出现。

3、个人观点:PV操作难点就是同步的进程之间的操作,这里同步的进程对同一信号量的操作,一定是先P,后V.P操作是使用资源,V操作是释放资源,进程一定是先使用资源,然后再释放资源。

这里就像是骑车的和步行的人,一开始他们都要走,只是走的过程中会出现彼此等待的情况,这就是说开始为什么是P操作了,因为P操作是使用资源,他们要走,所以使用资源。

4、P操作使信号量小于零以后,则停止当前进程,等另一个进程唤醒他,也就是给这个信号量加一。

5、当一个V操作结束后,一般认为,这个进程接下去执行,执行下一个P操作,这里指的是P(S2)操作,然后停止,等待收银员的V操作唤醒他。

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册