我是Linux內核和低級編程的新手。我想知道linux調度程序在時間複雜度上應該是O(1)。瞭解linux調度程序
,我碰到下面的文章是非常豐富的,但我有理解我已複製下面 http://www.ibm.com/developerworks/linux/library/l-scheduler/
的pargraph問題調度的任務很簡單:選擇在最高 優先級的任務要執行的列表。爲了使此過程更高效,使用位圖來定義任務何時位於給定優先級列表中。因此,在大多數體系結構中,找到第一位設置指令是 ,用於查找在五個32位字 (對於140個優先級)之一中設置的最高優先級位。找到執行 的任務所需的時間不取決於活動任務的數量,而取決於優先級的數目 。這使得2.6調度程序成爲O(1)進程,因爲不管活動任務的數量如何,調度時間都是固定的和確定的。
爲什麼5個32位的字對於140個隊列?誰是find-first-bit-set指令有助於選擇140個隊列之一?
謝謝。我的問題很古老,我的回答很好。 –