MST

星途 面试题库

面试题:进程管理之常见进程调度算法对比

请简要描述常见的进程调度算法,如先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)和优先级调度算法,它们各自的优缺点是什么,在提高处理机利用率方面有何不同表现?
18.7万 热度难度
操作系统进程管理

知识考点

AI 面试

面试题答案

一键面试

先来先服务(FCFS)

  • 算法描述:按照进程进入就绪队列的先后顺序进行调度,先进入的进程先获得处理机资源。
  • 优点:实现简单,公平,不会偏袒任何进程。
  • 缺点:对于长作业有利,而对于短作业不利,会导致短作业等待时间过长。如果长作业先到达,短作业需要等待很长时间,平均周转时间和平均带权周转时间可能较差。
  • 处理机利用率表现:可能会出现处理机等待现象,如果长作业后面跟着很多短作业,短作业需等待长作业完成,处理机可能在这段时间闲置,利用率不高。

短作业优先(SJF)

  • 算法描述:从就绪队列中选择预计运行时间最短的进程分配处理机。
  • 优点:平均周转时间和平均带权周转时间较短,能有效提高系统吞吐量。
  • 缺点:需要预先知道每个作业的运行时间,实际中较难做到;会导致长作业饥饿,如果不断有短作业进入系统,长作业可能长时间得不到调度。
  • 处理机利用率表现:在理想情况下(能准确预测作业运行时间),由于优先处理短作业,减少了处理机空闲时间,利用率较高。但在实际情况中,因预测不准确可能影响效果。

时间片轮转(RR)

  • 算法描述:将CPU时间划分成固定大小的时间片,就绪队列中的进程轮流获得一个时间片的处理机使用时间,时间片用完后,无论进程是否完成,都会被调度程序剥夺处理机,排到就绪队列末尾等待下一轮调度。
  • 优点:能保证每个进程都能在一定时间内得到处理机,提供较好的响应时间,适用于交互式系统,不会产生饥饿现象。
  • 缺点:时间片大小难以确定,时间片过长会退化为FCFS,影响短作业响应;时间片过短,会导致进程上下文切换过于频繁,增加系统开销。
  • 处理机利用率表现:处理机基本不会长时间闲置,但频繁的上下文切换会消耗一定处理机时间,在一定程度上降低了处理机用于实际作业处理的时间,利用率受时间片大小影响较大。

优先级调度算法

  • 算法描述:为每个进程分配一个优先级,调度时从就绪队列中选择优先级最高的进程分配处理机。
  • 优点:可以根据进程的重要性或紧急程度进行调度,满足不同类型进程的需求。
  • 缺点:如果高优先级进程不断进入系统,低优先级进程可能会饥饿;优先级的确定较为困难,若优先级划分不合理,可能导致不公平现象。
  • 处理机利用率表现:若优先级设置合理,能使重要或紧急进程尽快得到处理,提高处理机在关键任务上的利用率;但不合理的优先级设置可能导致处理机资源分配不均衡,影响整体利用率。