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
- Linux Kernel News - November 2013
- Advanced Hard Drive Caching Techniques
- December 2013 Issue of Linux Journal: Readers' Choice
- Mars Needs Women
- Sublime Text: One Editor to Rule Them All?
- Raspberry Pi: the Perfect Home Server
- RSS Feeds
- Web Administration Scripts
- Linux Systems Administrator
- thanks for share, great
16 hours 46 min ago
- There are factors which are
21 hours 46 min ago
- Gnome 3 ?
22 hours 31 min ago
- Reply to comment | Linux Journal
1 day 2 hours ago
- "Redis RethinkDB 4.5%" on Best NoSQL Databases
1 day 12 hours ago
- on the ground
1 day 19 hours ago
- I was able to read the whole
1 day 20 hours ago
- since i have read the title i
1 day 23 hours ago
- Belanja Online Cari Voucher Diskon
2 days 1 min ago
- The kernel doesn't really
2 days 12 hours ago