1. 什么是进程同步
进程具有异步性的特征, 各个并发执行的进程以独立的不可预知的速度推进
进程同步机制是为了解决进程异步的问题, 也被称为直接制约关系
2. 什么是进程互斥
OS中的某些资源虽然可以提供给多个进程使用,但一个时间段内只允许有一个进程访问该资源(这种资源被称为临界资源)
do{
进入区 // 检查是否可进入临界区, 若可进入则**对资源上锁**
临界区 // 访问临界资源的代码, 也叫临界段
退出区 // **对资源解锁**
剩余区 // 做其它处理
}
临界资源的互斥访问原则
- 空闲让进 : 在临界区空闲时允许请求访问临界区的进程进入
- 忙则等待 : 当已有进程进入临界区时 , 其它线程等待
- 有限等待 : 保证请求访问的进程在有限时间内进入临界区
- 让权等待 : 当进程进不了临界区时, 立即释放处理机
3. 进程互斥的软件实现方法
(1) 单标志法 : 进程在访问完临界区后会把临界区权限转交给另一个进程 , 每个进程进入临界区的权限是由另一个进程赋予的;
使用一个 int turn; 的公共变量表示