进程的调度算法

本文详细介绍了进程调度的几种算法:先来先服务(FCFS)、轮转(RR)、最短进程优先(SPN)、最短剩余时间(SRT)和最高响应比优先(HRRN),分析了它们的优缺点以及适用场景,强调了抢占和非抢占策略对进程调度的影响。
摘要由CSDN通过智能技术生成

决策模式

  • 非抢占 : 一旦进程处于运行状态,它就会一直执行到终止,或者为等待I/O或请求某些操作系统服务而阻塞自己
  • 抢占 : 当前正在运行的进程可能被操作系统中断并转移到就绪状态.

先来先服务(FCFS)

先来先服务(FCFS)是最简单非抢占的算法,也称为先进先出(Frist-In-Frist-Out, FIFO)或严格排队算法.当每个进程就绪后,加入就绪队列.当前进程停止执行时,就会运行就绪队列里存在时间最长的进程.

  • FCFS执行长进程比执行短进程更好
  • FCFS相对于收I/O限制的进程,更偏向受处理器限制的进程
  • FCFS可能导致处理器和I/O设备都没有得到充分利用
  • FCFS通常与优先级算法相结合,提供一种更有效的调度方法

轮转(RR)

轮转(RR)法是最简单的采用基于时钟的抢占算法,以一个周期性间隔产生时钟中断,中断发生时,当前正在运行的进程重新进入就绪队列,然后再基于FCFS算法选择下一个就绪进程运行.这种技术也被称为时间片,所以每个进程在被抢占前都给定一片时间.

  • 避免使用过短和过长的时间片
  • 轮转法在通用的分时系统或事物处理系统中都特别有效
  • 对受处理器限制的进程倾向于不公平的使用了大部分处理时间,从而导致受I/O限制的进程性能降低,使用I/O设备低效,响应时间的变化大

最短进程优先(SPN)

最短进程优先(SPN)算法是一个非抢占算法,它每次从就绪队列里选择所需处理时间最短的进程运行.所以短进程会越过长进程,调到队头.

  • 整体性能有显著的提高
  • 响应时间的差别也增加了,特别是对于长进程的情况
  • 可预测性降低
  • 需要知道或至少需要估计每个进程所需要的处理时间
  • 只要持续不断地提供短进程,长进程就有可能饿死
  • 缺少抢占机制,对分时系统或事物处理环境仍然不理想

最短剩余时间(SRT)

最短剩余时间(SRT)是针对SPN增加了抢占机制的版本.调度器总是选择预期剩余时间最短的进程,一个新进程加入到就绪队列时,它可能比当前正在运行的进程具有更短的剩余时间,所以调度器就会抢占当前正在运行的进程.

  • 和SPN一样,调度器在执行选择函数时必须处理时间的估计,
  • 长进程存在饿死的危险
  • SRT比SPN有更好的性能

最高响应比优先(HRRN)

R = w + s s R = \frac {w + s} {s}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值