For introductory courses on computer operating systems.
Revised to address the latest version of MINIX (MINIX 3), this streamlined, simplified new edition remains the
only operating systems text to first explain relevant principles, then demonstrate their applications using a Unix-like
operating system as a detailed example. It has been especially designed for high reliability, for use in embedded
systems, and for ease of teaching.
Features
Accompanying CD-ROM with the latest version of MINIX and simulators for running MINIX on other systems-A small,
easy-to-understand highly reliable operating system is available for study; unique to this text.
Relevant sections of MINIX code are described in detail in most chapters-Provides problems at the end of each
chapter, with separate solutions manual for the instructor.
Simulators for running MINIX on other systems are available.
MINIX includes networking based in TCP/IP-the full source code of the MINIX TCP/IP implementation is included
on the CD-ROM.
New To This Edition
Simpler presentation than previous editions-Features less than 4,000 lines of code in the kernel.
Updates to nearly every section of the book-Includes significant changes to the sections on CPU scheduling,
deadlocks, file system reliability and security.
Many updated references to the modern literature to replace older citations.
Table of Contents
CHAPTER 1 INTRODUCTION
1.1 WHAT IS AN OPERATING SYSTEM?
1.1.1 The Operating System as an Extended Machine
1.1.2 The Operating System as a Resource Manager
1.2 HISTORY OF OPERATING SYSTEMS
1.3 OPERATING SYSTEM CONCEPTS
1.3.1 Processes
1.3.2 Files
1.3.3 The Shell
1.4 SYSTEM CALLS
1.5 OPERATING SYSTEM STRUCTURE
1.6 OUTLINE OF THE REST OF THIS BOOK
1.7 SUMMARY
CHAPTER 2 PROCESSES
2.1 INTRODUCTION TO PROCESSES
2.2 INTERPROCESS COMMUNICATION
2.3 CLASSICAL IPC PROBLEMS
2.4 SCHEDULING
2.5 OVERVIEW OF PROCESSES IN MINIX
2.6 IMPLEMENTATION OF PROCESSES IN MINIX
2.7 SUMMARY
CHAPTER 3 INPUT/OUTPUT
3.1 PRINCIPLES OF I/O HARDWARE
3.2 PRINCIPLES OF I/O SOFTWARE
3.3 DEADLOCKS
3.4 OVERVIEW OF I/O IN MINIX
3.5 CLOCKS
3.6 BLOCK DEVICES IN
3.7 RAM DISKS
3.8 DISKS
3.9 TERMINALS
3.10 THE SYSTEM TASK IN
3.11 SUMMARY
CHAPTER 4 MEMORY MANAGEMENT
4.1 BASIC MEMORY MANAGEMENT
4.2 SWAPPING
4.3 VIRTUAL MEMORY
4.4 PAGE REPLACEMENT ALGORITHMS
4.5 DESIGN ISSUES FOR PAGING SYSTEMS
4.6 SEGMENTATION
4.7 OVERVIEW OF MEMORY MANAGEMENT IN
CHAPTER 5 FILE SYSTEMS
5.1 FILES
5.2 DIRECTORIES
5.3 FILE SYSTEM IMPLEMENTATION
5.4 SECURITY
5.5 PROTECTION MECHANISMS
5.6 OVERVIEW OF THE MINIX FILE SYSTEM
CHAPTER 6 READING LIST AND BIBLIOGRAPHY
6.1 SUGGESTIONS FOR FURTHER READING
6.2 ALPHABETICAL BIBLIOGRAPHY
APPENDIX A - MINIX CODE
APPENDIX B - HOW TO INSTALL MINIX