OS 基础教程

进程管理

同步

死锁

内存管理

文件管理

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/os-scheduling-algorithms.html

操作系统调度算法


操作系统使用各种算法来有效地调度处理器上的进程。

调度算法的目的

  • 最大CPU利用率
  • 公平分配CPU
  • 最大吞吐量
  • 最短周转时间
  • 最短的等待时间
  • 最短响应时间

有以下算法可用于计划作业。

1. 先来先服务

这是最简单的算法。 最短到达时间的过程将首先获得CPU。 到达时间越少,进程得到CPU的速度越快。 这是非抢先式的调度。

2. 轮循

在循环调度算法中,操作系统定义了一个时间片(片)。 所有的进程将以循环方式执行。 每个进程都会获得CPU一小段时间(称为时间片),然后返回就绪队列等待下一个回合。 这是一种抢先式调度。

3. 最短作业第一
具有最短爆发时间的作业将首先获得CPU。 突发时间越短,进程得到CPU的速度越快。 这是非抢先式的调度。

4. 首先剩余时间最短
这是SJF的抢先形式。 在该算法中,操作系统根据执行的剩余时间安排作业。

5. 基于优先级的调度

在这个算法中,优先级将被分配给每个进程。 优先级越高,进程得到CPU的速度越快。 如果两个进程的优先级相同,则会根据他们的到达时间进行安排。

6. 最高响应率下一个

在这种调度算法中,下一步将调度响应比率最高的进程。 这减少了系统中的饥饿。