Chapter 29. Multiprocessor Kernels

Early computers, and early UNIX systems, were designed with one main processor. In order to handle lots of “simultaneous” jobs, the kernel would rapidly switch back and forth between tasks, or processes, giving each a small slice of time, which gave the illusion of simultaneous, parallel activity. This was known as timesharing. A single task would only be interrupted and stopped if it needed a resource or some data that was not available (for example, if it requested input from a tape drive) or if it exceeded its time slice and another task needed to run.

The UNIX kernel was designed to fit this model. A process would run until it ran out of time or until it issued a system request that resulted in the process ...

Get Panic! UNIX® System Crash Dump Analysis 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.