【Linux】进程的调度算法

在操作系统中存在多种调度算法。调度算法就是根据系统的资源所规定的一种资源分配策略。有的调度算法适用于进程调度,有的调度算法适用于作业调度,有的调度算法两种都适合。对于不同的目标,通常会采取不同的调度算法。

1.先来先服务调度算法(FCFS)

FCFS是一种最简单的调度算法,顾名思义,哪个进程先来就会先处理,FCFS调度算法每次从就绪队列中选择最先进入该队列的进程,将处理机分配给它,使之投入运行,直到完成或因某种原因而阻塞时才释放处理机。在作业调度中,算法每次从后备作业队列中选择最先进入该队列的一个或几个作业,将它们调入内存,分配必要的资源,创建进程并放入就绪队列。

看起来FCFS是一种公平的调度算法。但是如果是一个长进程先到达系统,就会让后面的很多短进程等待很长的时间,所以这样就不是很友好。但是它常会与其他的调度策略结合起来一起使用。例如优先级队列先来先服务算法,但是当优先级一样时,上述的问题还是会有。

FCFS调度算法的特点就是简单,容易实现。对长进程友好,对短进程不是很友好。

2.短作业优先调度算法(SJF)

短作业优先调度算法就是对短作业优先调度的算法。算法会从就绪队列中选择一个估计运行时间最短的进程,将处理机分配给他,使之运行。直到完成或发生某件事情阻塞时,才释放处理机。
这样看来短作业优先调度算法就不是很公平了。除了公平方面,短作业优先算法有不可忽视的缺陷:

  • 该算法对长作业非常的不利。在FCFS中如果长作业在后备队列中,其后的短作业无非是等待时间会长一点,但是在短作业优先中,如果一个长作业在后背队列中&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值