The CPU Scheduler – Part 2
In this, our second chapter on the Linux kernel CPU (or task) scheduler, we continue our coverage from the previous chapter. In the preceding chapter, we covered several key areas regarding the workings (and visualization) of the CPU scheduler on the Linux OS. This included topics on what exactly the Kernel Schedulable Entity (KSE) on Linux is (it’s the thread!), the POSIX scheduling policies that Linux implements, using perf
(and other tools) to see the thread/scheduler flow, and how the design of the modern scheduler is based upon modular scheduling classes. We also covered how to query any thread’s scheduling policy and priority (using a couple of command-line utilities), and finished by delving a lot deeper into the internal workings of the OS task scheduler.
With this background in place, we’re now ready to explore more on the CPU scheduler on Linux; in this chapter, we shall cover the following areas:
- Understanding...