操作系统调度概述

347 阅读1分钟

「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」。

单核系统调度策略

假设当前系统只有一个可用的CPU核心,在单核系统上进行任务调度,一些常见的、经典的调度策略有:先到先服务、最短时间有限、时间片轮询等。虽然这些策略看上去很简单,但是通过这些经典策略的学习有助于理解更为复杂的调度策略背后的设计与权衡。

先到先服务

先到先服务(First Come First Served,FCFS),也被称为先进先出(First In First Out,FIFO)。该策略在系统中维护一个运行队列,该队列中的元素是处于就绪状态、等待被执行的任务。在决定需要执行的任务时,FCFS策略会选取运行队列中的第一个任务,将其移出运行队列并执行;当第一个任务执行完成后,它会被再次放入运行队列的队尾。运行队列能够起到为多个任务确定顺序的作用,保证任务的执行顺序与其进入队列的顺序一致。

优点

FCFS策略最大的特点就是简单直观。只需要维护一个队列就可以实现FCFS策略,而不需要预先知道任务的信息,也不要开发者手动调试参数。

缺点

  • 在长短任务混合的场景下对短任务不友好。

  • 对I/O密集型任务不友好。