首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Linux全局调度策略?

什么是Linux全局调度策略?
EN

Unix & Linux用户
提问于 2016-11-19 08:14:44
回答 1查看 895关注 0票数 2

我在学习操作系统。我有个疑问。例如,如果某个进程集(集合1)的调度策略是SCHED_RR,而对其他一些进程集(集2)的调度策略是SCHED_FIFO

现在,当内核必须从这2组中选择某个进程时,Linux使用哪种调度策略?

是否有可能改变这一政策?如果是这样的话,怎么做呢?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-11-19 09:00:06

man sched

从概念上讲,调度程序为每个可能的sched_priority值维护一个可运行线程列表。为了确定接下来运行哪个线程,调度程序查找具有最高静态优先级的非空列表,并在该列表的顶部选择线程。线程的调度策略决定它将被插入到具有相同静态优先级的线程列表中的位置,以及它将如何在此列表中移动。

尽管有一个更多的实时策略,其中的优先级不是(在任何时候?)显着

为了实现当线程被接纳为SCHED_DEADLINE策略时所做的保证,SCHED_DEADLINE线程是系统中最高优先级(用户可控的)线程;如果任何SCHED_DEADLINE线程都是可运行的,它将抢占其他策略下调度的任何线程。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/324466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档