临界区调度原则
- 互斥访问
- 忙则等待
- 限时结束
标志位算法:不可以
Peterson算法
为每个进程设置标志,当标志值为true时表示此进程要求进入临界区
另外,再设置一个指示器turn以指示可以由哪个进程进入临界区。当turn=i时,则可由进程Pi进入临界区
实现临界区管理的硬件设施
- 关中断
- 不适合作为通用的互斥机制,关中断的时间过长会影响性能和系统效率
- 不适用于多处理器系统,一个处理器关中断,并不能防止进程在其他处理器上执行相同的临界区代码
- 若将这项权力赋予用户也存在危险,如果用户未开中断,则系统可能因此而终止
- 测试并设置指令
- 对换指令