Learning about the CPU scheduling internals – part 1 – essential background
Let’s take a quick look at the essential background information we require to understand CPU scheduling on Linux.
Note that, in this book, we do not intend to cover material that competent (user space) system programmers on Linux should already be well aware of; this includes basics such as process (or thread) states, basic information on what real time is, the POSIX scheduling policies, and so on. This (and more) has been covered in some detail in my earlier book, Hands-On System Programming with Linux, published by Packt in October 2018. Nevertheless, we do touch upon some of the basics here.
What is the KSE on Linux?
As you learned in Chapter 6, Kernel Internals Essentials – Processes and Threads, in the Organizing processes, threads, and their stacks – user and kernel space section, every (user mode) thread alive on the system is bestowed with...