Saturday, December 19

Linux Task Scheduling Revisited

A good technical explanation of Linux scheduling is given by the article Inside the Linux 2.6 Completely Fair Scheduler. Non technical readers can get some of the drift without looking at the code snippets. Students of Computer Science can use this as a good introduction to the subject. In the beginning the Linux scheduler was simple, as you can see from this excerpt:
[...]
A short history of Linux schedulers

Early Linux schedulers used minimal designs, obviously not focused on massive architectures with many processors or even hyperthreading. The 1.2 Linux scheduler used a circular queue for runnable task management that operated with a round-robin scheduling policy. This scheduler was efficient for adding and removing processes (with a lock to protect the structure). In short, the scheduler wasn't complex but was simple and fast.
[...]

No comments:

Post a Comment