首页 > 解决方案 > 在 Linux 中,两个具有相同优先级的 SCHED_FIFO 任务是否在每个周期内获得处理时间?

问题描述

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

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

标签: linuxschedulerschedulingcfs

解决方案


Linux 文档说 SCHED_FIFO 进程只能被具有更高优先级的进程抢占

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

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

与CFS无关,SCHED_FIFO它只照顾和。SCHED_NORMALSCHED_BATCHSCHED_IDLE


推荐阅读