MODERN
OPERATING SYSTEMS
THIRD EDITION
The third edition of this book differs from the second edition in numerous
ways. To start with, the chapters have been reordered to place the central material
at the beginning. There is also now more of a focus on the operating system as the
creator of abstractions. Chapter 1, which has been heavily updated, introduces all
the concepts. Chapter 2 is about the abstraction of the CPU into multiple
processes. Chapter 3 is about the abstraction of physical memory into address
spaces (virtual memory). Chapter 4 is about the abstraction of the disk into files.
Together, processes, virtual address spaces, and files are the key concepts that operating
systems provide, so these chapters are now placed earlier than they previously
had been.
Chapter 1 has been heavily modified and updated in many places. For example,
an introduction to the C programming language and the C run-time model is
given for readers familiar only with Java.
In Chapter 2, the discussion of threads has been revised and expanded reflecting
their new importance. Among other things, there is now a section on IEEE
standard Pthreads.
Chapter 3, on memory management, has been reorganized to emphasize the
idea that one of the key functions of an operating system is to provide the abstraction
of a virtual address space for each process. Older material on memory
management in batch systems has been removed, and the material on the implementation
of paging has been updated to focus on the need to make it handle the
larger address spaces now common and also the need for speed.
Chapters 4-7 have been updated, with older material removed and some new
material added. The sections on current research in these chapters have been
rewritten from scratch. Many new problems and programming exercises have
been added.
Chapter 8 has been updated, including some material on multicore systems.
A whole new section on virtualization technology, hypervisors, and virtual
machines, has been add
1