Scheduling support for concurrency and parallelism in the Mach operating system

The shared use of general-purpose uniprocessors is examined. Support for common uniform-memory-access architectures that have all memory equidistant from all processors in terms of access time is emphasized. This work is also applicable to non-uniform-memory-access machines, whose memory access times depend on the physical distance between the processor and the accessed memory, but it does not provide a complete solution to load-balancing problems for this class of machine. The discussion covers time-sharing scheduling, the Mach scheduler, programming models, scheduling concurrency support, processor allocation, and related work.<<ETX>>