Process scheduling is one of the most crucial executive jobs of any operating system, Linux being no different. The heuristics and efficiency in scheduling processes is what make any operating system tick and also give it an identity, such as a general-purpose operating system, server, or a real-time system. In this chapter, we will get under the skin of the Linux scheduler, deciphering concepts such as:
- Linux scheduler design
- Scheduling classes
- Scheduling policies and priorities
- Completely Fair Scheduler
- Real-Time Scheduler
- Deadline Scheduler
- Group scheduling
- Preemption