OS_chapter4.4_190422
4.4.1临界资源与临界区
-
引例
- 为了避免program A,B 互相干扰
- 设定
特定区域
不让两程序同时
进入;只能串行(先后)
访问
-
concept
- critical resource(临界资源) : 一次只允许一个进程独占访问的资源
- critical section(临界区) : 进程中访问临界资源的程序段
- features
四原则: 1. 忙则等待 2.空闲让进 3.有限等待 4. 让权等待
4.4.2锁机制
-
目的:实现互斥访问
-
基本原理
-
realization
上锁原语(伪代码)
LOCK(S)// 伪代码描述上锁操作 { TEST; //check the status about the S(0->locked / 1-> open) if(S==0) // S has been locked goto TEST; // continue testing else // S is open s=0; //access and lock it }
开锁原语(伪代码)
UnLock(S) { S=1; //liberate the critical resource S }
- 使用
- shortcomings