作业调度算法
调度算法决定各个进程进入cpu运行的先后顺序.
我们事先知道的有各个进程的到达时间
,和各个进程所需要cpu服务的时间
,我们需要根据各种调度算法,来得出各个进程的开始时间
与完成时间
,平均周转时间
,和平均带权周转时间
调度的过程是,从某一个进程开始进入cpu运行后,下一个进入cpu的机会,给哪个进程.
调度算法的评价标准.
- 平均周转时间(T):
- T=进程
完成时间
-进程到达时间
- T=进程
- 平均带权周转时间(W):
- $$平均带权周转时间(W)=\frac{平均周转时间(T)}{要求服务时间}$$
先来先服务算法(FCFS)
顾名思义是根据,已到达进程
的到达时间
,决定进入cpu的顺序,到达早的先进入cpu.
所以,FCFS对长作业
是友好的.短进程优先算法(SJF)
根据,已到达进程
的所需要的服务时间
,决定进入cpu的顺序,服务时间短的先进入cpu.
所以,SJF对短作业
是友好的高响应比优先算法(HRRN)
FCFS和SJF的折中算法,即考虑短作业又考虑长作业.
分别计算当前所有的已到达进程的响应比
,响应比大的先进入cpu.
$$响应比(R~p~)=\frac{等待时间+要求服务时间}{要求服务时间}$$
其中,等待时间
=当前时刻时间-该进程到达时间.
做题小技巧:响应比,在具体计算的过程中,可以写成$$\frac{等待时间}{要求服务时间}+1$$