2024年4月21日发(作者:)
pv操作的例子cobegin
【篇一:pv操作的例子cobegin】
pv操作经典案例讲解bglg 11 在操作系统理论中有一个非常重要的概念叫做p、v原语。
在我们研究进程间的互 斥的时候经常会引入这个概念,将p、v操 作方法来解决进程间的互斥
问题。p、v操 作应用范围很广,不但可以解决进程管理 当中的互斥问题,而且我们还可以利
用此 方法解决进程同步与进程通信的问题。
信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号 量的
值与相应资料的使用情况有关。当它的 值大于零时,表示当前可用资料的数量;当 它的值小于
零时,其绝对值表示等待使用该 资源的进程个数。注意,信号量的值仅能有 p、v操作来改变。
pv操作经典案例讲解 pv操作经典案例讲解 一般来说,信号量s>=0时,s表示可用资源
的数量。执行一次p操作意味着请求分配 一个单位资源,因此,s的值减1;当spv操作经典
案例讲解 2、p、v原语(利用信号量和p、v操作实现进程同步 p、v操作是典型的同步机制
之一。用一个信号量与一个消息联系起来,当信号量的 值为0时,表示期望的消息尚未产生;
当信 号量的值不为0时,表示期望的消息已经存 在,用p、v操作实现进程同步时,调用p操
作测试消息是否到达,调用v操作发送消息。
pv操作经典案例讲解 p操作和v操作是不可中断的程序段,称为原语。
p,v原语中p是荷兰语的passeren,相当于英文的pass,v 是荷兰语的verhoog,相当于
英文中的incremnet。
p原语操作的动作是: (3)若s减1后小于零,则该进程被阻塞后进入与该信号相对应
的队列中,然后转进 程调度。pv操作经典案例讲解 (3)若相加结果小于或等于零,则从该信
号的等待队列中唤醒一等待进程,然后再 返回原进程继续执行或转进程调度。
使用p、v操作实现进程同步时应该注意的问题是 1.分析进程间的制约干系,确定信号量
的种类。在保持进程间有正确的同步关系情况下, 哪儿进程应先执行,哪些进程后执行,彼此
间 通过什么信号量进行协调从而明确要设置哪些 信号量。
2.信号量的初值与相应资源的数量有关,也与p、v操作在程序代码中出现的位置有关。
3.同一信号量的p、v操作要成对出现,但他们分别在不同的进程代码中。
pv操作经典案例讲解 pv 独木桥问题。pv操作经典案例讲解 通过运用信号量和p、v操
作实现公共汽车问题中售票员和司机的协调操作。
掌握pv原语的概念以及p、v操作在实际生活中的程序应用。
pv操作经典案例讲解 pv操作经典案例讲解 设在公共汽车上,为保证乘客的安全,司机和
售票员应协调工作: 停车后才能开门,关车门后才能行车。(司机和售票员的活动分别为:司机
的活动为 启动车辆,正常行车,到站停车;售票员的 活动为关车门,售票,开车门。)试问:
在汽车不断地到站、停车、行驶过程中,司机和售票员的活动是同步关系还是互 斥关系? 用信
号量和p、v操作实现他们间的 协调操作。
pv操作经典案例讲解 解析: 在这个问题中,司机与售票员间是并行操作的,司机和售票员
本身的操作是顺序 进行的。因此司机是一个进程,售票员是 一个进程,它们之间是同步关系。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713673336a2295758.html
评论列表(0条)