System programming is about interacting with the underlying OS. The scheduler is one of the core components of every OS and impacts the way processes are allocated on CPUs. Ultimately, this is what the end user is concerned about: processes running smoothly and with correct priority over other processes. This chapter will teach you the practical skills you need in order to interact with the scheduler by changing the process' policy, its nice value, the real-time priority, processor affinity, and how real-time processes can yield the processor.
This chapter will cover the following recipes:
- Learning to set and get a scheduler policy
- Learning to get the timeslice value
- Learning how to set a nice value
- Learning how to yield the processor
- Learning about processor...