The mechanism for scheduling multiple processors is usually embedded in the operating system. Algorithms usually take into consideration the task set, the resource constraints, and the system execution goals.
This chapter provides a high level overview of scheduling in multiprocessor systems. It, however, introduces too many acronyms to be easily read. Topics under discussion include both preemptive and nonpreemptive scheduling and algorithms for scheduling independent, equally long, tasks, independent tasks, and arbitrary task systems. Motivations for the algorithms and examples are included in the text. Theorem proofs are, in general, excluded.