面试冲刺:43---进程调度的策略有哪些?

一、先来先服务(FCFS)

  • 是一种最简单的调度算法
  • 规则为:每次调度是从进程队列中选择一个最先进入该队列的进程,为之分配资源投入运行。该进程一直运行完成或发生某事件而阻塞后才继续处理后面的进程

二、优先级调度

  • 短进程优先级、高优先权优先级、高响应比优先级等,按照优先级来执行就绪进程队列中的调度
  • 备注:
高响应比 = (等待时间 + 服务运行时间) / 服务运行时间

三、时间片轮转调度

  • 系统还是按照先来先服务调度就绪进程,但每次调度时,CPU都会为队首进程分配并执行一个时间片(几ms~百 ms)。执行时间片用完后计时器即产生时钟中断,停止该进程并将它送到队尾,其他依次执行
  • 这样保证系统能在给定的时间内执行所有用户进程的请求

四、多级反馈调度

  • 前面都有局限性
  • 多级反馈调度算法则不必事先知道各进程所需的执行时间,而且还可以满足各类型进程的需要,因而它是目前被公认的一 种较好的进程调度算法
  • 实现原理为:
    • (1)设置多个就绪队列,每个队列优先级依次减小。为各个队列分配的时间片大小不同,优先级队列越高,里面进程规定的执行时间片就越小
    • (2)队列中还是按照FCFS原则排队等待,如果第一队列队首进程在规定的时间片内未执行完,则直接调送至第二队尾,依次向后放一个队列的队尾。因此一个长作业进程会分配到 n 个队列的时间片执行
    • (3)按照队列先后依次执行,如果新进的待处理进程优先级较高,则新进程将抢占正在运行的进程,被抢占的进程放置正在运行的队尾

你可能感兴趣的:(面试冲刺)