One may argue that task scheduling is one of the most challenging problems to solve. Whether this is true remains to be seen but in this blog post, I will explain how Linux currently tackles this challenge.
My goal is to make it as easy as possible so that, with enough curiosity and some familiarity with algorithms, anyone will be able to grasp how most things play together.
Yes, I chose to make this topic a series of blog posts. The reason behind it is because they are likely to get lengthy. Having said that, I will focus on explaining how the Linux Core Scheduler is implemented on a uni-processor (UP for short).
The next part of this series of blog posts will be about how the Completely Fair Scheduler (CFS) is implemented and how it plays its part alongside the Scheduler Core. After that, I will leave it open to what you guys want to learn about…
This is a 10,000 feet view of the most important Linux Scheduler components that will be discussed in this blog post. Honestly speaking, there is a whole lot more to it but I wanted to start simple and build on top of it.