操作系统(三) |
您所在的位置:网站首页 › 什么叫pv男 › 操作系统(三) |
PV操作的简单理解
一、什么是PV操作 在操作系统中,进程是一个很要花时间理解的东西,进程通常分为就绪、运行和阻 塞三个工作状态。三种状态在某些条件下可以转换,三者之间的转换关系如下: 进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作 和信号量。其中信号量起到了至关重要的作用。 1、什么是信号量?信号量(semaphore),我们有时被称为信号灯,是在多线程环境下使用的一种设 施,是可以用来保证两个或多个关键代码段不被并发调用。信号量的数据结构为一个值 和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况 有关。
一般来说,信号量S>0时,S表示可用资源的数量。执行一次P操作意味着请求分配 一个单位资源,因此S的值减1; 当S=0,则该进程继续执行,否则该进程排入等待队列。 V操作:使S=S+1,若S>0,唤醒等待队列中的一个进程。 下面我们通过生活中的一个司机与售票员的例子来理解: 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作:停车后才能开门, 关车门后才能行车。用PV操作来实现他们之间的协调。 S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()//司机进程 { while (1)//不停地循环 { P(S1);//请求启动汽车 启动汽车; 正常行车; 到站停车; V(S2); //释放开门变量,相当于通知售票员可以开门 } } busman()//售票员进程 { while(1) { 关车门; V(S1);//释放开车变量,相当于通知司机可以开车 售票 P(S2);//请求开门 开车门; 上下乘客; } } 小结: pV操作: 1、宏观: P就是请求资源,V就是释放资源。2、微观:P操作是减法运算(S:=S-1),当信号量S小于0时申请资源;V操作是加法运 算(S:=+1),当信号量小于等于0时释放资源;P、V操作二者必须成对出现。 自己一开始看书没有很深入的理解,后来看第二遍的时候和同学一起交流讨论了, 讨论就是可以让自己变得印象时刻,把一些模糊的东西变得清晰明了了,更重要的是一 起交流,通过生活中活生生的例子,让看起来高大上的PV操作,和生活中的例子建立起 联系,PV操作也就是那么回事,这样不断的结网、建立知识网,用已有的、旧的知识去 理解新的知识点,学习起来越来越有劲。
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |