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.
Webinar: 8 Signs You’re Beyond Cron
On Demand NOW
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.View Now!
|Dr Hjkl on the Command Line||May 21, 2015|
|Initializing and Managing Services in Linux: Past, Present and Future||May 20, 2015|
|Goodbye, Pi. Hello, C.H.I.P.||May 18, 2015|
|Enter to Win Archive DVD + Free Backup Solution||May 18, 2015|
|Using Hiera with Puppet||May 14, 2015|
|Urgent Kernel Patch for Ubuntu||May 12, 2015|
- Initializing and Managing Services in Linux: Past, Present and Future
- Dr Hjkl on the Command Line
- Goodbye, Pi. Hello, C.H.I.P.
- Using Hiera with Puppet
- Enter to Win Archive DVD + Free Backup Solution
- Gartner Dubs DivvyCloud Cool Cloud Management Vendor
- Mumblehard--Let's End Its Five-Year Reign
- Infinite BusyBox with systemd
- It's Easier to Ask Forgiveness...
- Urgent Kernel Patch for Ubuntu