最近期末复习操作系统,老师讲的不太清楚,自己私底下好好的琢磨了一下,花了不少时间,就把几种调度算法弄得清清楚楚的。接下来就讲讲FCFS、SJF、SRJF、RR这几种调度算法。
首先理解一下CPU的基本概念,CPU调度就是每次当CPU空闲时,操作系统按照一定的策略从就绪队列中选择一个进程来执行。这种策略,就是cpu调度的算法的选择。
总体来说,CPU调度遵循以下原则:
总原则:资源高效、公平合理
具体一般包括:
提高CPU利用率
提高系统运算的吞吐量
缩短进程的周转时间
缩短进程的等待时间
提高用户的响应满意度
###FCFS:先到先服务(first come first serve)
调度的顺序就是任务到达就绪队列的顺序。
简而言之,就是按到达的时间依次执行。
看下面例子:
按照FCFS的执行顺序就是:A、B、C、D、E
调度结果:
平均等待时间:(0+2+5+4+7)/ 5 = 3.6
###SJF:最短作业优先(Shortest Job First)
调度的顺序是从当前就绪队列中选择运行时间最短的运行