临界区调度原则

    1. 互斥访问
    2. 忙则等待
    3. 限时结束

    标志位算法:不可以
    Peterson算法
    为每个进程设置标志,当标志值为true时表示此进程要求进入临界区
    另外,再设置一个指示器turn以指示可以由哪个进程进入临界区。当turn=i时,则可由进程Pi进入临界区
    image.png

    实现临界区管理的硬件设施

    • 关中断
      • 不适合作为通用的互斥机制,关中断的时间过长会影响性能和系统效率
      • 不适用于多处理器系统,一个处理器关中断,并不能防止进程在其他处理器上执行相同的临界区代码
      • 若将这项权力赋予用户也存在危险,如果用户未开中断,则系统可能因此而终止
    • 测试并设置指令
      • image.png
    • 对换指令
      • image.pngimage.png