操作系统原理,CPU调度,调度面临的场景,要解决的问题,触发调度的事件,进程切换,上下文切换的步骤与开销,调度算法衡量指标
一、CPU调度:
1、其任务是控制和协调进程对CPU的竞争,
2、按照一定的调度算法从就绪队列中选择一个进程,把CPU的使用权交给被选中的进程
3、在没有就绪进程的请开给你下,系统会安排一个系统空闲进程(或叫idle进程)占用cpu
二、CPU调度面临的场景:
1、n个进程就绪,等待获取CPU运行
2、m个CPU,m>=1
3、调度算法需要决策,给哪一个进程分配哪一个cpu
三、CPU调度要解决的三个问题:
1、按照什么原则选择下一个进程,使用调度算法
2、何时进行选择,调度时机
3、如何让被选中的进程上CPU,上下文切换
四、调度时机来源于就绪队列的改变:
1、事件发生-》当前进程暂停-》硬件响应-》进入操作系统处理相应事件-》结束处理
2、处理完了事件后,某些进程的状态发生改变,也可能创建了一些新进程导致就绪队列改变
3、就绪队列改变引发进程调度更具预设的调度算法从就绪队列中选一个进程
4、CPU当前进程运行终止
五、常见的会引发就绪队列改变的情况:
1、进程正常终止或由于某种错误终止
2、新进程创建或一个等待进程变成就绪
3、进程从运行态变成阻塞态
4、进程从运行态变成就绪态
本质都是