linux - 在 Linux 中,两个具有相同优先级的 SCHED_FIFO 任务是否在每个周期内获得处理时间?
问题描述
在 Linux 中,两个具有相同优先级的 SCHED_FIFO 任务是否在每个周期内获得处理时间,并且在周期结束之前都没有完成任务?
Linux 文档说 SCHED_FIFO 进程只能被具有更高优先级的进程抢占,但我的理解是 CFS 在更高层上运行,并在每个周期内为两个任务中的每一个分配时隙。
解决方案
Linux 文档说 SCHED_FIFO 进程只能被具有更高优先级的进程抢占
RLIMIT_RTTIME
这是正确的,除此之外,如果您设置( getrlimit(2)
) 并且达到该限制,它们也可以被抢占。
SCHED_FIFO
可以安排另一个进程(具有相同优先级)的唯一其他原因是第一个进程是否休眠或者它是否自愿让步(自愿抢占)。
与CFS无关,SCHED_FIFO
它只照顾和。SCHED_NORMAL
SCHED_BATCH
SCHED_IDLE
推荐阅读
- regex - 如何获得正确大小的子字符串?
- android-studio - 如何在分离本地和远程数据源的同时保留当前的后端架构?
- django - Django CMS 反向管理
- woocommerce - 如何以编程方式拆分 WooCommerce 订单?
- algorithm - 获取最大子矩阵的坐标
- c - 如何使用外部调用位于 C 中另一个文件中的函数?
- python - 有没有办法在歌曲之间暂停和恢复我的音乐播放列表?
- c - 已定义但未用于整个项目的变量
- haskell - Haskell As-patterns,将变量绑定到常量
- java - Solr action=split AccessDeniedException 错误