操作系统复习笔记3——CPU调度与优化

1,169 阅读2分钟

CPU调度

基本概念

操作系统按照一定的策略从就绪队列中选择一个进程,将CPU的使用全交给它;

调度的资源有CPU的使用权和时间片,调度对象是进程或线程;

进程调度就是CPU调度;

进程切换过程和开销:

image.png

非抢占式调度:进程任务完成或者阻塞而主动让出CPU;

抢占式调度:操作系统强制暂停正在运行的进程,时间片到了或者出现优先级更高的进程;

CPU约束性程序以计算为主,有较多的CPU区间,有长的CPU区间;IO约束型程序以IO为主,会有大量短的CPU区间

image.png

调度准则

image.png

算法

先到先服务FCFS

调度的顺寻是任务到达就绪队列的顺序 公平简单,非抢占,不适合交互式,响应时间较长

最短作业优先SJF

CPU区间长度最小的作业先调度 对于同时达到的作业,SJF可以保证平均等待时间最短;因此可以保证平均周转时间最短,因为周转时间=等待时间+作业所需时间;

SRJF最短剩余作业调度 是SJF的可抢占版本,每一时刻根据各任务的剩余时间调度;比SJF好,但是需要直到CPU区间;

优先级调度

每个任务关联一个优先权,调度优先级最高的作业

image.png

轮询法调度RR

按时间片来轮转调度 定时响应,响应时间短,上下文切换次数多; 时间片太大,响应时间长,时间片太小,上下文切换次数多,吞吐量变小,周转时间变长;

多级反馈队列MLFQ

前面算法需要进行o(n)的搜索,将任务按照优先级分为多个队列,每次从优先级最高的队列取。

image.png

彩票算法

image.png

优化

编译器常用优化

image.png 用加法代替乘法

王道题目

image.png IO时间占比大的优先级高

image.png

image.png