Principles of Operating Systems
Principles of Operating Systems is unique among current texts on operating systems in its balanced treatment of principles and their application. It is comprehensive and offers richly detailed algorithms at every stage using the familiar Pascal-like notation; it covers basic computer mechanisms, and provides a variety of thoughtful and challenging exercises. This introductory text by a leading French computer scientist unfolds the organization of operating systems in the field of shared memory systems (or "centralized" systems) for which design principles are now reasonably stable. Its analysis of these principles is the most rigorous and complete available: basic concepts such as programs execution mechanisms, modular and hierarchical decomposition, interfaces, parallel processes, synchronization principles, information management, resources and memory allocation, and multiprogramming are covered in detail, and recent developments in the field of distributed systems are considered as well. Krakowiak illustrates the application of these principles in simplified examples from real systems - including CP/M for an overview of a microcomputer system, the Multics system for its addressing and linking scheme, the Plessey 250 for capabilities, Unix for its file system and process management - that will make it easier for readers to study a full-blown system by providing guidelines for analyzing and identifying its essential features. Some of the chapter exercises cover direct applications of the concepts discussed, others require design work and can form the basis of a project, while still others are intended to encourage investigation into aspects not covered in the book and provide annotated references.
Contents Introduction • Execution and Communication Mechanisms • Organization of a Simple Operating System • Management of Parallel Activities • Implementation of Synchronization Mechanisms • Naming, Storing, and Linking Objects • File Systems • Resource Allocation • Memory Management • Structure of a Multiprogrammed System • Introduction to Distributed Systems