linux - 两个优先级相同的SCHED_FIFO任务在Linux中是否在每个周期内获得处理时间?

标签 linux scheduler scheduling cfs

在 Linux 中,两个具有相同优先级的 SCHED_FIFO 任务是否在每个周期内获得处理时间,并且在周期结束之前都没有完成任务?

Linux 文档说 SCHED_FIFO 进程只能被优先级更高的进程抢占,但我的理解是 CFS 运行在更高层,并为每个周期内的两个任务中的每一个分配时隙。

最佳答案

Linux documentation says SCHED_FIFO processes can get preempted only by processes with higher priority

这是正确的,除此之外,如果您设置 RLIMIT_RTTIME (getrlimit(2)) 并且达到该限制,它们也可以被抢占。

可以安排另一个 SCHED_FIFO 进程(具有相同优先级)的唯一其他原因是第一个 sleep 或者它自愿让步(自愿抢占)。

CFSSCHED_FIFO无关,它只处理SCHED_NORMALSCHED_BATCHSCHED_IDLE

关于linux - 两个优先级相同的SCHED_FIFO任务在Linux中是否在每个周期内获得处理时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51223787/

相关文章:

c++ - Arduino,任务调度程序的延迟

c - 如何测量 linux 内核中的调度延迟?

算法调度,多队循环赛/比赛

linux - Bash linux 强制多个实例等待运行 sqlplus 命令完成

java - 带有调度程序的 Spring Boot-BeanCreationNotAllowedException : Error creating bean with name 'entityManagerFactory' : Singleton bean creation not allowed

将文件与路径连接起来以在 C 中获取完整路径

cluster-computing - Slurm:失败的作业将被 --requeue 多少次

c# - 在 C# 中每天运行一次

linux - 在 Oracle 12c 中移动数据文件后操作系统存储不释放

linux - 更改 guake 中的自动重命名