March 2003
Intermediate to advanced
912 pages
27h 17m
English
There are two major considerations which affect CPU scheduling when moving from a uniprocessor environment to one with multiple CPUs:
how the presence of multiple CPUs should influence the scheduling algorithm;
how to expose the availability of genuine parallelism to application programmers.
Section 11.8 introduced the pthread API for creating and synchronizing multiple threads operating within a single virtual address space. This now enjoys near-universal deployment across UNIX systems as the primary mechanism for writing multi-threaded applications. Early implementations were provided entirely as library code, operating in user space without explicit support from the kernel. Such a design leads most naturally ...