4.4临界区和锁
4.4.1临界资源与临界区
1.临界资源:(Critical Resource)
一次只允许一个进程独占访问得资源。
2.临界区:(Critical Section)
进程中访问临界资源的程序段。
3.设计临界区访问机制的四个原则
(1)忙则等待 (2)空闲让进(3)有限等待(4)让权等待(等待进程需先放弃CPU,不用重复询问临界区是否让进,等待系统调度)
4.4.2锁机制
1.基本原理:设置标志S,标明临界资源“可用”或“不可用” ? 1:0;
(1)上锁操作:
进入临界区之前检查标志是否“可用”?
若“不可用”,进程在临界区之外等待; 若为“可用”,访问临界资源;修改标志为不可用。
(2)开锁操作:
退出临界区时将标志修改为“可用”状态。
4.5进程同步和P-V操作
4.5.1同步和互斥得概念
1.(1)进程的互斥关系
多个进程共享独占性资源,必须协调各进程对资源得存取顺序,确保没有任何两个或以上得进程同时进行存取操作。
(2)互斥和资源共享相关
资源:临界资源;存取操作区域:临界区
2.(1)进程的同步关系
合作过程是为了完成一个共同任务,需要进程协调运行:一个进程开始操作前必须要求另一进程操作的完成,否则之前进程只能等待。
4.5.2P-V操作概念
1.信号灯概念:信号灯是一种卓有成效的进程同步机制。
基本思想:进程在运行过程中受信号灯控制,并能改变信号灯状态。
(1)进程受控制:信号灯的状态可以阻塞或唤醒进程。
(2)改变信号灯:信号灯的状态可以被进程改变。
2.信号灯数据结构
信号灯变量定义为二元矢量(S,q)
S:证书,初值为负。(S又称信号量);q:PCB队列,初值为空集。
3.信号灯的操作
P操作(函数或过程,P(S,q));V操作(函数或过程,V(S,q))
4.5.3P-V操作解决互斥问题
P操作(递归):
V操作:(递归 )
注:P-V操作默认唤醒阻塞进程,先排在队列里就绪。
4.5.4P-V操作解决同步问题
1.实质
运行条件不满足时,能让进程暂停;运行条件满足时,能让进程继续。
2.P-V操作应用于进程同步的基本思路
暂停当前进程:在关键操作之前执行P操作。
继续进程:在关键操作之后执行V操作
关键操作:(1)一个操作的运行是否需要条件,如果操作需要条件即为关键操作(2)一个进程的操作影响到另外一个进程即为关键操作
(同步要求例子:售票员关门后,司机才能起步;司机停车后,售票员才能开门,即关门、起步、停车、开门为关键操作)
3.同步过程,何时阻塞?何时唤醒?
4.5.5 经典同步问题
计算机操作系统05
最新推荐文章于 2024-07-06 14:23:05 发布