25.6. Multiprocessor scheduling

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 ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.