Operating Systems Design and ImplementationInternational Edition
Operating Systems Design and Implementation, 3e, is ideal for introductory courses on computer operating systems. Written by the creator of Minux, professional programmers will now have the most up-to-date tutorial and reference available today.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.
Table of Contents CHAPTER 1 INTRODUCTION
1.1 WHAT IS AN OPERATING SYSTEM?
1.2 HISTORY OF OPERATING SYSTEMS
1.3 OPERATING SYSTEM CONCEPTS
1.4 SYSTEM CALLS
1.5 OPERATING SYSTEM STRUCTURE
1.6 OUTLINE OF THE REST OF THIS BOOK
1.7 SUMMARYCHAPTER 2 PROCESSES
2.1 INTRODUCTION TO PROCESSES
2.2 INTERPROCESS COMMUNICATION
2.3 CLASSICAL IPC PROBLEMS
2.5 OVERVIEW OF PROCESSES IN MINIX 3
2.6 IMPLEMENTATION OF PROCESSES IN MINIX 3
2.7 THE SYSTEM TASK IN MINIX 3
2.8 THE CLOCK TASK IN MINIX 3
2.9 SUMMARYCHAPTER 3 INPUT/OUTPUT
3.1 PRINCIPLES OF I/O HARDWARE
3.2 PRINCIPLES OF I/O SOFTWARE
3.4 OVERVIEW OF I/O IN MINIX 3
3.5 BLOCK DEVICES IN MINIX 3
3.6 RAM DISKS
3.9 SUMMARYCHAPTER 4 MEMORY MANAGEMENT
4.1 BASIC MEMORY MANAGEMENT
4.3 VIRTUAL MEMORY
4.4 PAGE REPLACEMENT ALGORITHMS
4.5 DESIGN ISSUES FOR PAGING SYSTEMS
4.7 OVERVIEW OF THE MINIX 3 PROCESS MANAGER
4.8 IMPLEMENTATION OF THE MINIX 3 PROCESS MANAGER
4.9 SUMMARYCHAPTER 5 FILE SYSTEMS
5.3 FILE SYSTEM IMPLEMENTATION
5.5 PROTECTION MECHANISMS
5.6 OVERVIEW OF THE MINIX 3 FILE SYSTEM
5.7 IMPLEMENTATION OF THE MINIX 3 FILE SYSTEM
5.8 SUMMARYCHAPTER 6 READING LIST AND BIBLIOGRAPHY
6.1 SUGGESTIONS FOR FURTHER READING
6.2 ALPHABETICAL BIBLIOGRAPHYAPPENDIX A - INSTALLING MINIX 3 APPENDIX B - MINIX 3 SOURCE CODE LISTING APPENDIX C - INDEX TO FILES INDEX
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.
Andrew S. Tanenbaum has a B.S. Degree from M.I.T. and a Ph.D. from the University of California at Berkeley. He is currently a Professor of Computer Science at the Vrije Universiteit in Amsterdam, The Netherlands, where he heads the Computer Systems Group. He is also Dean of the Advanced School for Computing and Imaging, an interuniversity graduate school doing research on advanced parallel, distributed, and imaging systems. Nevertheless, he is trying very hard to avoid turning into a bureaucrat.
In the past, he has done research on compilers, operating systems, networking, and local-area distributed systems. His current research focuses primarily on the design of wide-area distributed systems that scale to a billion users. These research projects have led to five books and over 85 referred papers in journals and conference proceedings.
Prof. Tanenbaum has also produced a considerable volume of software. He was the principal architect of the Amsterdam Compiler Kit, a widely-used toolkit for writing portable compilers, as well as of MINIX, a small UNIX clone intended for use in student programming labs. Together with his Ph.D. students and programmers, he helped design the Amoeba distributed operating system, a high-performance microkernel-based distributed operating system. The MINIX and Amoeba systems are now available for free via the Internet..
Prof. Tanenbaum is a Fellow of the ACM, a Fellow of the IEEE, a member of the Royal Netherlands Academy of Arts and Sciences, winner of the 1994 ACM Karl V. Karlstrom Outstanding Educator Award, and winner of the 1997 ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education. He is also listed in Whos Who in the World.
Albert S. Woodhull was a faculty member in the School of Natural Science, Hampshire College, Amherst, MA for many years. He has taught at the University of Massachusetts and Smith College in the US, and he has been a visiting faculty member on multiple occasions at universities in Nicaragua, supported on two of these visits by Fulbright grants. He also served as a computer and network system administrator at the University of Massachusetts. He holds an B.S. degree from M.I.T. and a Ph.D. from the University of Washington. His home page on the web is at http://minix1.woodhull.com/asw/.