

Topics such as remote procedure calls, distributed virtual memory, and distributed file systems are touched upon. Part 3 covers several advanced topics, including issues associated with multiprocessor operating systems and distributed operating systems. The code for KMOS is also on a diskette that is supplied with the book. Next, chapters 10 and 11 are a detailed discussion on how to implement an operating system kernel (KMOS). The author starts with a brief discussion of the input/output subsystem, in which he discusses hardware interfaces and programmed and interrupt-driven I/O. The second part of the book is on various implementation aspects.

The first part of the book concludes with chapter 8, which describes authentication, access controls, cryptography, and formal security models. A chapter on computer security and policy follows. Chapter 7 covers disks and file systems, including file management issues such as directory structure, disk space allocation, and caching. From memory, the book moves on to secondary storag e. Concepts of address translation, page replacement policies, and so on are discussed. The next two chapters address memory management and virtual memory. As part of this discussion, deadlock detection and avoidance algorithms are surveyed. Two chapters on synchronization of interprocess communications follow.


As part of this discussion, various scheduling algorithms and their performance implications are addressed. Chapter 2 talks about process management and scheduling. This distinction is used throughout the book. Chapter 1 gives a history of operating systems and presents the views that command-line users and system-call users have of the system. The first half of this book covers the fundamental concepts in operating system design.
