进程调度算法

调度算法是系统对资源的一种分配策略,它的选择调度策略分为两类:

  • 非抢占:这种情况下进程一旦到达运行状态,则不断执行知道终止,或者等待事件转到阻塞状态。
  • 抢占:当前运行的进程可能会被系统中断,转换到就绪态。抢占策略可能是一个新进程到达时,或者基于周期性的时间中断。

1.先来先服务,FCFS,最简单的调度策略,按进程的先后顺序调度。当每个进程就绪后,它加入就绪队列,当一个进程终止后,选择队列中存在时间最长的进程运行。FCFS自身对于单处理器系统并不是很有吸引力,但是经常和优先级策略一起使用。

2.时间片轮转法

FCFS并不适用于短作业,因为进程平均周转时间会变长。为了减少短作业情况,可以以一个周期性时间产生始终中断,之后接着执行FCFS策略选择下一个就绪的进程。

3.多级反馈队列

由时间片轮转结合优先级策略综合而来,设置多个就绪队列,每个队列有不同的优先级,当一个进程进入内存后,首先放到第一个队列(优先级最高)末尾,采用FCFS调度,如果在一个时间片内执行完毕就退出,否则将进程中断并放入第二个队列的末尾,以此类推。仅当高优先级队列执行完毕,才去执行低优先级队列。如果一个新的进程优先级比当前执行的进程优先级高,则抢先执行新进程,被抢占的进程回到原队列末尾。

4.最短进程优先

减少FCFS对长进程的偏向的另一种方法,简称SPN,这是一个非抢占策略,下一次选取进程中所需处理时间最短的进程。因此短进程会被先执行。弊端是如果短进程过多,长进程可能会被“饿死”。

5.最短剩余时间

简称SRT,是针对SPN增加了抢占机制。下一次选择中,总是选择剩余时间少的进程,如果此时有一个新进程加入就绪队列,且剩余时间比当前的进程少,则抢占。与SPN有同样的问题,但是比SPN有更好的性能,因为相对于一个正在运行的长作业,短作业可立即被运行。

6.最高响应比优先

简称HRRN,根据响应比来调度,响应比R = (w + s) / s。w表示等待处理器的时间,s表示期待服务时间。当前进程执行完毕或者阻塞,选取R值最大的进程。当偏向于短作业时,长进程得不到服务时间不断增加,从而扩大了比值,从而获取处理器,和SRT,SPN一样,HRRN需要估计进程期望服务时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值