Scheduling

Another resource that is under high contention in a computer system is the CPU. Each process requires access to the CPU in order to execute, but typically, there are more active processes wanting access to the CPU than there are CPU cores on the system. The operating system must therefore share the CPU cores among the running processes and ensure that each process is provided regular access to the CPU so that it can execute.

We have seen that processes run independent of each other and are given their own address spaces to prevent one process from affecting the behavior of any other process. However, in many applications, it is useful to allow two independent execution paths to run simultaneously, without the restriction of having ...

Get OS X and iOS Kernel Programming 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.