一、进程调度算法
- 先来先服
- 短作业优先
- 时间片轮转
- 优先级调度:动态调整优先级
二、进程同步
- 让多个进程走走停停,保证多个进程之间的合作合理有序
- 信号量
三、临界区保护信号量
- 如果两个进程同时修改信号量怎么办?
- 面包店算法(比较复杂,软件实现)
- 开关中断:关中断和开中断,因为要想调度,必须中断,所以可以阻止中断,进程就不会被调度
- cpu上有个寄存器,叫intr,每次来中断就在上面打一个1,cpu每执行完一条指令,就会查看intr
- 但是这种方法在多核情况下无效,因为每个核都有独立的寄存器
- 硬件原子指令
开关中断:
硬件原子指令