Plánovač O(n) [1] je plánovač používaný v jádře Linuxu od verze 2.4 do 2.6. Od verze 2.6.0 byl nahrazen plánovačem O(1) a od 2.6.23 CFS.
Tento plánovač rozděluje čas na „epochy“. V rámci stejné epochy byly procesy prováděny po dobu, která jim byla přidělena. Pokud nějaký proces běžel méně, než je přidělený čas, pak se polovina přiděleného času přičetla k času, který bude procesu přidělen v další „epoše“. Plánovač zváží všechny procesy dostupné pro spuštění a najde proces, pro který by byla hodnota funkce dobroty největší.
Tento plánovač fungoval lépe než jeho primitivnější předchůdce, který byl založen na cyklické frontě.
S nárůstem počtu procesů začíná práce plánovače vyžadovat značné množství času procesoru. Volba další úlohy je spojena s průchodem celého seznamu procesů připravených k provedení, což znamená, že to trvá O (n) času, kde n je počet procesů připravených k provedení. Také nebyl vhodný pro systémy v reálném čase a nemohl být škálován na nejnovější[ kdy? ] vícejádrové procesory.
Linuxové jádro | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Organizace |
| ||||||||||||||||||||||||||
Technický |
| ||||||||||||||||||||||||||
Přijetí |
| ||||||||||||||||||||||||||
|