1、必备知识点
1.1 临界资源:进程对其互斥访问的资源,状态为0或1
1.2 临界区:每个进程中访问临界资源的那段代码
1.3 信号量:一种特殊变量(计数器)分为互斥信号量与同步信号量
2、PV操作
2.1 目的:解决互斥与同步问题
2.2 分类:
①P操作:使S=S-1,若S>=0,则进程继续执行
②V操作:使S=S+1,若S<=0,唤醒等待队列中的一个进程
2.3 举例理解(抢凳子游戏)
A,B,C,D依序抢三张凳子(S=3)
①执行P操作,四人依序抢凳,D未抢上则进入等待队列,其余三人坐好(此时S=-1)
②执行V操作,依序起身,A起身后空出凳,则将D从等待队列中唤醒
2.4 经典模型
生产者-消费者模型
- S1与S2都表示生产者和消费者能向/从市场中投放/拿走的资源个数
- 生产者PV操作与消费者PV操作,可同步进行
- 注意:类比多缓冲区会出现互斥现象。当生产者与消费者同时占用市场且资源不足的情况下,出现互斥现象,生产者与消费者的PV操作需要错开。
打印机问题
- 此模型可用于上述多缓冲区问题。仓库为“打印机”,生产者与消费者有序用完仓库后返还仓库
3、补充
3.1 若一个进程已进入临界区,其他欲进入临界区的进程必须等待。
3.2 信号量的物理意义是当信号量值大于0时表示系统当前可用资源数目;当信号量值小于0时,其绝对值为因请求该资源而被阻塞的进程数目。
3.3 P、V操作都是原语操作。
3.4 利用信号量的P、V 操作只可以交换部分信息。
博客介绍操作系统必备知识点,包括临界资源、临界区和信号量。重点阐述PV操作,其目的是解决互斥与同步问题,分P操作和V操作,并通过抢凳子游戏举例。还介绍生产者 - 消费者、打印机等经典模型,最后补充信号量物理意义等内容。


1578

被折叠的 条评论
为什么被折叠?



