信号量机制和PV操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号量机制和PV操作相关的知识,希望对你有一定的参考价值。
参考技术A 进程管理中,对临界资源需要互斥访问。其中对实现对临界区互斥访问有软件和硬件方法。是一个变量,一个信号量对应一种资源,只能被两种PV两种原语操作,以此实现进程互斥,进程同步。(PV源于荷兰语proberen和verhogen分别是尝试试用和增加的意思)
补充:原语是一种特殊的程序段,不可被中断。原语是由关中断/开中断指令来实现的。
wait() //进入区
访问临界资源 //临界区
signal() //退出区
然后对于整型信号量种的pv操作原语wait和signal分别实现逻辑是:
对于记录型信号量:
一个信号量对应一种资源
信号量的值=这种资源的剩余数量(若为负,说明此时有进程在等待这种资源)
一前一后的操作
同步量信号S,初始为0
在前操作之后执行V
在后操作之后执行P 口诀:前v后p
如上pv操作
本质上是多级同步问题
缓冲区的这种临界资源只能互斥访问
p尝试消耗
v 增加
所以实现互斥的p操作一定要在实现同步的P操作之后。
v操作不会导致进程阻塞,因此两个v操作顺序可以交换。
一个生产者 生产多类产品
缓冲区不会消耗掉
封装思想
以上是关于信号量机制和PV操作的主要内容,如果未能解决你的问题,请参考以下文章
(王道408考研操作系统)第二章进程管理-第三节4:信号量机制(整型记录型信号量和PV操作)