线程调度优先级和好处

时间:2013-11-05 09:59:29

标签: multithreading real-time scheduling

在GNU / Linux下,niceness表示线程调度优先级。最低优点对应最高优先级。

只考虑基于优先级的调度程序(没有时间切片),是否有人意识到行为不同的广泛的OS实现,即最高优度对应于最高优先级?

1 个答案:

答案 0 :(得分:2)

“优先级”的一个问题是它的语义在实践中过载。形式上,它是一种具有最小语义的机制,它引发了未解释的部分排序。因此,调度资格可以用更大到更小的优先级整数来表示,这些整数被解释为更多更不合格,或者以相反的顺序。但是,不同的系统和用户使用具有若干不同的额外更丰富语义的优先级机制。在某些情况下,优先权被解释为紧急程度。在其他一些情况下,它被解释为相对重要性。它甚至偶尔用于建立优先权。您的问题意味着将优先级与GNU / Linux的语义“良好”相关联。你问是否有人知道具有反向语义的广泛操作系统。正如其他回复所指出的那样,优先考虑的是“不善”的语义。严格来说,这与使基于优势的优先级“向后”工作不同。所以你的问题是不正确的。我不知道任何具有良好语义的操作系统,并以不合适的顺序分配优先级。您可能一直在考虑是否存在广泛的操作系统,其中调度资格与优先级整数成反比 - 答案是“是”。但请注意,这也不是一个格式正确的问题:根据定义(诚然不被广泛理解),调度资格与未解释的优先级本身相同,除非将额外的语义添加到“优先级”。例如,如果将priority指定为8位整数,则调度资格的语义可以是较大的优先级对应于较高的资格,或较小的优先级对应于较高的资格 - 每个选项已由各种OS选择。