在操作系统中,进程之间经常会存在互斥(共享独占性资源)和同步(完成异步的两个进程的协作)两种关系。为了有效处理这两种情况,专家在1965年提出信号量和PV操作。
常用术语:
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
临界区:每个进程中访问临界资源的那段代码。
信号量:是一个表示资源的实体,是一个与队列有关的整型变量,包含一个整形和一个队列。它只支持PV操作。
什么是PV操作
P操作代表的是对资源(信号量)的申请,如果资源不足,则把进程放入缓冲队列。
由于它是对资源的申请,所以是减法操作,可以放入缓冲队列,所以它是一个加锁,等待,阻塞的操作。
V操作是对资源释放,资源释放出来后,则从缓冲队列中取出一个进程出来执行。
由于它是对资源的释放,所以它是加法操作,是唤醒操作。