Chapter 5. Process and Thread Management from the Process's Viewpoint
In this chapter, we explore kernel data structures used to manage resources allocated to a process and its threads. We see how a process's logical address space is mapped into the kernel's virtual address space (VAS) in preparation for translation to the hardware's physical address space. As the kernel is asked to host multiple processes, individual kthreads are placed in run queues organized according to processor, priority, and type. We also examine the overall implementation of the kernel scheduling system, its rules, and the concepts of nice, real-time, timeshare, and priority decay.