This book is designed for a second course in operating systems, in which a hands-on laboratory is available for experimentation with operating system design. It examines the XINU (:0UXINU :0UIs :0UNot :0UUNIX) system (developed by the author) as a case study to demonstrate the use of a layered design for structuring an operating system. The layers include memory manager, process manager, processor coordination, interprocess communication, realtime clock, device management, network communication, and file system. The book progresses through these levels, bottom up, presenting and explaining the C programs that implement each level.
Ideally, a course using this book as a text will have a running XINU system available for experimentation and for doing the exercises at the end of each chapter. The publisher provides a tape of the software, at nominal cost, for a configuration of a VAX running UNIX to cross-compile the XINU system and download the programs into LSI-11 microcomputers.
The major weakness of the book is that the author does not discuss the alternatives that were available in the design process and his reasons for his particular design. An instructor planning to use this book as a course text should supplement the text with lectures and readings to help the students appreciate the decisions and compromises involved in arriving at this particular design. The book’s bibliography cites most of the major books and papers on operating system design.