Operating Systems: Design and Implementation (Second Edition)

Author: Andrew S. Tanenbaum, Albert S. Woodhull
List Price: $96.00
Our Price: Click to see the latest and low price
ISBN: 0136386776
Publisher: Prentice Hall (15 January, 1997)
Edition: Hardcover
Sales Rank: 27,558
Average Customer Rating: 4.04 out of 5

Buy now directly from Amazon.com - Purchase this book, safely and securely from the largest book dealer on the Internet, Amazon.com

Customer Reviews

Rating: 4 out of 5
An excellent text book, well written and informative
This was the text for an OS course that I took for my Masters. We had to implement 11 significant OS features for Minix (e.g. floppy disk cache, VGA driver, interprocess communication server,...) -- bugs were unacceptable (i.e. fail), as OSs must work. This class was 4 times more work that an other class I took for my Masters but I learned so much. I was already a very experienced Unix programmer when I took this, so I found it facinating to finally see what was under the hood (Minix/Unix is surprisingly small an compact -- very elegant). Tanenbaum is a real authority on the subject of operating systems and has a very engaging style. Probably the best computer science text book that I have read (I read this cover to cover, not just scanning but really reading). There is room for improvement though: the format could benefit from being updated, I had to use a lot of high-lighter. Clearer separation and indexing of key theories and sections would help. The OS basics are still relevant today (and could perhaps benefit from some expansion/clarification). I believe Tanenbaum has brought out new books since that go into some more contemporary / more advance areas.


Rating: 2 out of 5
Overrated
The authors of this text assume too much. This pretty much sums up the entirety of the work, which is too technical to make a good introductory text and too simple to make a good advanced discussion of operating systems.

First off, you need a very strong understanding of the C programming language to get anything out of this book. The length of the text is deceiving- almost half of it is actually printed source code of the MINIX operating system. What the other half of the book does is, essentially, wade through said source code. If you don't know C well, you're not going anywhere with this. I suggest buying 'The C Programming Language' (Prentice Hall: Kernighan, Ritchie) and 'Advanced Programming in the UNIX Environment' (Addison Wesley: Stevens) if you don't already own them.

While the authors do go into some discussion about how the various parts of an operating system work, they don't go into any of the actual details. Why? Because MINIX simply doesn't DO a lot of these things (e.g. deadlock prevention, swapping or paging, advanced scheduling). If you're actually thinking of writing your own OS, you'll only get a general idea of what needs to be done, nothing more. The theory is covered quite well, but if you're looking for what this book advertises on the cover ('Design and Implementation') you will probably be disappointed.

There are some advantages to this text. I would have given it a higher rating, but I think the current one is deceptive. For one, if you're familiar with UNIX or Linux, MINIX is very similar. It's also a lot simpler and shorter code-wise, so it doesn't take a guru to modify the source. Also, like Linux, it isn't copyrighted. The system itself works well and is very educational. The book's resources are also well done, with an included CD that has all the source and comprehensive instructions on how to install it (be sure you backup first!). MINIX is also very well commented and, if you know C, is quite easy to understand.

Further, non-material problems with the text include a discussion that seems to jump from one place to another and doesn't make good use of diagrams. You'll often find a very useful diagram in the book... except that it's about three chapters ahead of where it really would have been enlightening. Key terms are in bold, but aren't summarized anywhere else in the book, oftentimes including the index! This can make it annoying to look up something you can't remember. Additionally, the numerous references to the MINIX source code simply refer to line numbers. Some might not mind this, but I personally found it frustrating to have to keep flipping back and forth between one half of the book and the other. It would have helped if the authors had just put the relevant source where it's discussed and left out the entire listing in the back. It's available on the CD and online anyway, if you need to look at all of it.

In summary, Operating Systems 2nd Ed. is very average in quality as a textbook, both for beginners and gurus. The MINIX operating system is well planned and designed, but the book itself offsets this quality with its flaws.


Rating: 5 out of 5
Great Book and Source Code Complete Introduction to OS
This is another of Tannenbaums great books. It is delightful to read his books. It deepens your understanding and gives you a feeling of happiness at the same time.
Specifically this book contains the entire source code of an OS (Minix THE predecessor of LINUX). It is complete and thoroughly explained. The source code is in C and sometimes in Assembler. Especially the Assembler parts are hard to grasp. The C code is sometimes very lucid sometimes I simply got lost. So I just stuck to the main text.

Similar Products

· MicroC OS II: The Real Time Kernel (With CD-ROM)
· Operating System Concepts
· C Programming Language (2nd Edition)
· Computer Networks, Fourth Edition
· Modern Operating Systems (2nd Edition)

Return To Main Computer Book IndexSearch Our Entire Computer Book Catalog