参考
《计算机操作系统》(第四版) 汤小丹等编著
基本概念
引入进程同步的意义
并发执行的程序,如果没有设置好条件使其能井然有序的进行的话,就会出现不可再现的结果,从而失去程序运行的意义
两种形式的制约关系
间接相互制约关系 – 进程互斥
- 对于共享资源,不能同时使用,需要提出申请由系统统一分配,使进程实现互斥访问资源,如打印机.
直接相互制约关系 – 前驱关系
- 也可理解为相互合作关系,比如进程 B 需要进程 A 结束时提供的数据才能开始
临界资源(Critical Resouce)
即共享资源,如打印机、磁带机等
临界区(Critical Section)
进程中访问临界资源的那段代码
while(TRUE) {
进入区 // 判断是否能够进入
临界区 // 访问临界资源
退出区 // 退出,将判断条件重置
剩余区
}
同步机制遵循的原则
- 空闲让进
- 忙则等待
- 有限等待
- 让权等待
信号量机制
整型信号量
特征
- 变量为整型
- 只能进行两个原子操作 wait(S) 和 signal(S),也