一、CPU资源的时分复用
进程切换:CPU当前的占用者切换
- 保存当前进程在PCB中的执行上下文(CPU状态)
- 恢复下一个进程的执行上下文
处理及调度
- 从就绪队列中挑选下一个占用CPU运行的进程
- 从多个CPU中挑选就绪进程可使用的CPU资源
调度程序:在处理机中负责挑选进程的内核函数
- 调度策略:依据什么原则挑选进程/线程
- 调度时机:什么时候进行调度
二、调度时机
内核与逆行调度程序的条件
- 进程从运行状态切换到等待状态
- 进程被终结了
非抢占系统
- 当前进程主动放弃CPU时
可抢占系统
- 中断请求被服务例程响应完成时
- 当前进程被抢占,包括当前时间片用完、进程从等待切换到就绪
三、调度策略
四、时间片轮转算法
时间片:分配处理机资源的基本时间单位
如上图所示,中间为排序的进程,一个进程的时间片结束后,就会产生时钟中断,进入到下一个进程,
按照FCFS算法切换到下一个就绪进程,每隔(n-1)个时间片进程执行一个时间片。
五、多级队列调度算法
六、多级反馈队列算法(MLFQ)
MLFQ算法的特征:
- CPU密集型进程的优先级下降很快
- I/O密集型进程停留在高优先级
七、公平共享调度(FFS,Fair share scheduling)
FSS控制用户对系统资源的访问:
- 一些用户组比其他用户组更重要
- 保证不重要的组无法垄断资源(未使用的资源按比例分配,没有达到资源使用率目标的组获得更高的优先级)
八、时事调度
实时操作系统的定义:正确依赖于其时间和功能两方面的操作系统;
实时操作系统的性能指标:
- 时间约束的及时性
- 速度和平均性能相对不重要
实时操作系统的特性:时间约束的可预测性
实时任务:
九、实时系统的可调度性
表示一个实时操作系统能够满足任务时限要求