linux中调度策略中,每次都是先执行stop 然后执行cfs吗
时间: 2024-04-21 14:28:57 浏览: 25
在 Linux 中,调度策略包括多个调度器,例如 CFS、实时调度器、BFQ 等。不同的调度器有不同的调度算法和优先级规则,它们之间并不是简单的先后顺序关系。具体来说,CFS 和实时调度器之间是互斥的,只能选择一种调度器来进行调度。
对于 CFS(Completely Fair Scheduler)调度器,它是一种基于时间片轮转算法的动态优先级调度器。它会根据进程的运行时间和优先级动态调整时间片的大小,以保证所有进程都能够公平地使用 CPU 时间。CFS 调度器是 Linux 系统中默认的调度器。
在 CFS 调度器中,进程可以分为两类:运行队列中的进程和被阻塞的进程。被阻塞的进程不会消耗 CPU 时间,只有运行队列中的进程才能够进行 CPU 运算。每次调度时,CFS 调度器会选择运行队列中优先级最高的进程来执行,如果运行队列中没有进程,就会选择被阻塞的进程中优先级最高的进程来执行。
因此,答案是不完全正确的。在 CFS 调度器中,如果运行队列中有进程,它会优先选择运行队列中优先级最高的进程来执行;如果运行队列中没有进程,就会选择被阻塞的进程中优先级最高的进程来执行。而在实时调度器中,调度器会根据优先级和调度策略选择进程进行调度。
相关问题
每个调度实体中, *cfs_rq是相同的吗
不是的。在 Linux CFS(Completely Fair Scheduler)中,一个调度实体(即进程或任务)可以被分配到多个 CFS 运行队列(cfs_rq)中。这些运行队列通常由 CPU 核心或 NUMA 节点来维护。每个 CFS 运行队列都包含了一组相同的调度实体,即具有相同的静态优先级和动态权重,以及相同的 CPU 使用情况等。因此,在不同的 CFS 运行队列中,相同的调度实体可能会有不同的调度状态和运行情况。
Linux中有哪几种调度策略?调度选择的依据是什么?
Linux中有三种调度策略:完全公平调度(CFS)、实时调度(RT)、和批处理调度(BFS)。调度选择的依据是进程的优先级和进程的调度类别。优先级高的进程会被优先调度,而不同的调度类别有不同的调度策略。