Operating Systems, Second Edition
Authors: Andrew S. Tanenbaum and Albert S. Woodhull
Publisher: Prentice Hall
Price: $66 US
Reviewer: Boytcho Peytchev
Operating Systems: Design and Implementation is an introductory book designed for people who have already dealt with the basics of programming. When reading this book, a knowledge of both C and assembly language is helpful but not required. In particular, not knowing assembly will not prevent you from understanding the book, but it may slow you down.
The first chapter of the book is an overall introduction to the topic of operating systems. It starts with an explanation of what an OS is and a short historical summary on the evolution of operating systems. Then, the basic concepts of operating systems are explained and the different possible structures for an OS are introduced. The introduction ends with an overview of the remaining chapters of the book.
The style of the authors is very straightforward, making the information easy to follow and understand. The text doesn't get side-tracked into irrelevant topics, a problem found in many text books.
Another strong point of this book is that it is not only a theoretical introduction to operating systems programming but a practical one as well. The included CD-ROM contains MINIX 2.0 complete with source code and several simulators for non-Intel machines. The code is meant to be backward compatible with processors as old as the 8088, so if there's an old machine gathering dust in the basement, it can still be put to use for experimenting with the concepts covered in the book. The theoretical and practical parts of the book are well-balanced and easy to separate, so that one may use the book only for the theoretical parts or only for the practical parts.
Installing MINIX from the CD-ROM is not too hard, but if you have done installations before, the experience will help. The installation instructions have some minor inaccuracies, but a log file from an installation done by Andrew Tanenbaum is also provided, which clarifies the situation.
The chapters following the introduction each deal with a specific concept of OS programming. Chapter 2 is dedicated to processes, Chapter 3 to I/O, Chapter 4 to memory management and Chapter 5 to file systems. Each of these chapters starts with a description of the concept and the theory behind it. The chapter then continues to detail how the concept is realized in MINIX. This part of the chapter follows the source code line-by-line explaining what is being done by the corresponding piece of code.
Another practical side of the book is that all the code explained is contained in Appendix A, which means that there is no need for piles of printouts or a screen when one is trying to follow the description in the book.
Every chapter is followed by exercises that provide for good, practical implementation of the topics discussed.
The book ends with a suggested reading list ordered according to the concepts described in the book.
- Readers' Choice Awards 2013
- Mars Needs Women
- RSS Feeds
- Sublime Text: One Editor to Rule Them All?
- December 2013 Issue of Linux Journal: Readers' Choice
- Raspberry Pi: the Perfect Home Server
- IBM Will Minimize Impact of Future Disasters
- Linux Systems Administrator
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- So girls had it better ?
33 min 45 sec ago
- Reply to comment | Linux Journal
53 min 52 sec ago
- why is GNOME 3 in the fifth position at 14.1 %?
6 hours 26 min ago
- Sublime Is Brilliant!
11 hours 28 min ago
11 hours 48 min ago
- Rapid[Disk,Cache] better than native ram caching?
12 hours 13 min ago
- Nothing is perfect
12 hours 26 min ago
- Mixtapes Community
18 hours 5 min ago
- KDE is one true DE
18 hours 39 min ago
- Command Line Shells (Bash, Zsh, etc.) are 2nd place
19 hours 8 min ago