📜  操作系统中的完全公平排队(CFQ)

📅  最后修改于: 2022-05-13 01:56:11.845000             🧑  作者: Mango

操作系统中的完全公平排队(CFQ)

已经提出了几个 Linux I/O 调度程序。其中一些是:

  1. 完全公平排队 (CFQ)
  2. 最后期限
  3. NOOP
  4. 预期的

CFQ 是 Linux 内核的输入/输出调度器之一,是当前 Linux 内核中的默认调度器。

什么是内核?
内核是操作系统的核心部分。它管理硬件和软件之间的操作。每个操作系统都有一个内核,例如 Linux 内核。

完全公平队列 (CFQ) 调度程序:
完全公平队列 (CFQ) 调度程序是 I/O 调度程序。 CFQ 调度器将进程提交的可扩展的 per-process 请求维护到 per-process I/O 队列的数量中,然后为每个队列分配时间访问资源。这是根据给定进程的 I/O 优先级完成的。
在异步请求的情况下,来自所有进程的所有请求根据其进程的 I/O 优先级被一起批处理到较少的队列中。

CFQ 调度器将进程分为 3 个独立的类:



  1. 实时(最高优先级)
  2. 最大努力
  3. 空闲(最低优先级)

实时和尽力而为调度类进一步细分为 8-8 个 I/O 优先级。这些优先级是 0 到 7。零 (0) 是最高的,7 是最低的,4 是该类中的默认优先级。

实时类中的进程总是在尽力而为类的进程之前执行,而尽力类中的进程总是在空闲类中的进程之前执行。这意味着由于实时类具有更高的优先级,因此这两个类都必须耗尽处理器时间。默认情况下,进程被分配到尽力而为的类别。

当系统中没有其他 I/O 挂起时,则只为空闲调度类提供服务。因此,如果进程的 I/O 根本不需要进行进一步的处理,那么仅将进程的 I/O 调度类设置为空闲是非常重要的。