进程同步的概念
临界资源:许多硬件资源如打印机、磁带机等,都属于临界资源(CriticalResouce)
临界区:人们把在每个进程中访问临界资源的那段代码称为临界区(critical section)
repeat
entry section
critical section;
exit section
remainder section;
until false;
while(TRUE){
进入区
临界区
退出区
剩余区
}
同步机制应遵循的规则(同步原则)
空闲让进:当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源;
忙则等待:当已有进程进入临界区时,表明临界资源正在被访问,因而其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。
硬件同步机制
1、关中断:进程在临界区执行期间,计算机系统不响应中断,从而不会引发调度。
2、Test-and-Set:原子操作(原语)
3、Swap
上述硬件指令能有效实现进程互斥,但当临界资源忙碌时,其他进程处于忙等状态,不符合“让权等待”
</