Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
O(1) scheduler
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Overview == The Linux scheduler was overhauled completely with the release of kernel 2.6 in 2003.<ref>{{Cite web|url=https://www.linuxjournal.com/article/6530|title=Introducing the 2.6 Kernel {{!}} Linux Journal|website=www.linuxjournal.com|access-date=2019-07-19}}</ref><ref>{{cite web|url=http://www.linuxjournal.com/magazine/completely-fair-scheduler|title=Completely Fair Scheduler|author=Chandandeep Singh Pabla|date=August 1, 2009|website=linux journal|access-date=2014-09-09}}</ref> The new scheduler was called the O(1) scheduler. The algorithm used by the O(1) scheduler relies on active and expired arrays of processes to achieve constant scheduling time. Each process is given a fixed time quantum, after which it is [[preemption (computing)|preempted]] and moved to the expired array. Once all the tasks from the active array have exhausted their time quantum and have been moved to the expired array, an array switch takes place. Because the arrays are accessed only via pointer, switching them is as fast as swapping two pointers.<ref>{{cite web |author = Robert Love |url = http://www.informit.com/articles/article.aspx?p=101760&seqNum=2 |title = The Linux Process Scheduler |access-date = 2014-09-09 }}</ref> This switch makes the active array the new empty expired array, while the expired array becomes the active array.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)