四、CPU调度(进程调度)和进程同步

195 阅读1分钟

一、进程调度算法

  • 先来先服
  • 短作业优先
  • 时间片轮转
  • 优先级调度:动态调整优先级

二、进程同步

  • 让多个进程走走停停,保证多个进程之间的合作合理有序
  • 信号量

三、临界区保护信号量

  • 如果两个进程同时修改信号量怎么办?

image.png

  • 面包店算法(比较复杂,软件实现)
  • 开关中断:关中断和开中断,因为要想调度,必须中断,所以可以阻止中断,进程就不会被调度
    • cpu上有个寄存器,叫intr,每次来中断就在上面打一个1,cpu每执行完一条指令,就会查看intr
    • 但是这种方法在多核情况下无效,因为每个核都有独立的寄存器
  • 硬件原子指令

开关中断image.png

硬件原子指令

image.png