18Multiprocessing

All modern operating systems are multiprocessing, meaning that multiple independent programs are running simultaneously and sharing the system’s resources. The OS time-slices among the runnable programs, dividing the available CPU time among runnable processes, that is, those processes that are not blocked waiting for some event such as I/O completion.

Process Scheduling

The scheduler is the part of the OS that figures out which process should get the CPU next. It often uses information such as process priority, how much CPU time a process has previously gotten, and whether it has just completed an I/O operation in making this decision.

Each process has an associated niceness that influences its priority. Niceness is specified ...

Get Advanced Mac OS X Programming: The Big Nerd Ranch Guide 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.