ISBN0131429388

Search:
For:   
Operating Systems Design and Implementation (3rd Edition) (Prentice Hall Software Series)

Operating Systems Design and Implementation (3rd Edition) (Prentice Hall Software Series) 3.50 of 5 stars

  • Author(s)  Andrew S Tanenbaum,  Albert S Woodhull,  
  • Binding  Hardcover
  • ISBN  0131429388
  • ISBN-13  9780131429383
  • Publisher  Prentice Hall
  • Release Date  1/14/2006
What's this?

User Opinions

An excellent text book, well written and informative
2/10/20034.00 of 5 stars
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.
Not the best basis for Operating System design
2/27/20063.00 of 5 stars
While this book is good explaining theory and demonstrating it in the author's operating system, MINIX, MINIX is an insanely small OS. Now there's nothing wrong with that by default, just keep in mind that any OS you were to write in industry, etc would be way more complex.

Also, beware, of the 1000+ pages, at least a quarter of that is a print out, line by line, of the MINIX 3 source code. (Approximately 30,000 lines...)

Bottom line: Good for basic theory and understanding, but you would need to know much more to write a friendly OS.
A great introduction to operating systems
3/30/20064.00 of 5 stars
This book is written by Tanenbaum, the main guy behind Minix, which is what Linux was based on. It provides good overviews for basic OS concepts like memory management, file systems, processes, etc. The concepts in this book book are intimately tied to examples of the Minix OS, which is a good thing.

To those who would rather see examples from Linux: Minix is a compact and modular OS, which is why it's a good choice for examples. The book contains the entire source code at the back for easy reference. Yes, the OS is that small. That's a good thing when you're trying to figure out how virtual memory works or what have you. You'd be lost trying to learn this stuff from Linux. Above everything else, the code is ***well-commented*** compared to Linux, a major plus. You won't find any "/* major hack */" comments, either. ;) Minix leaves out all the crap that Microsoft and Linux throw into the kernel that make it unstable in the first place. Learn about the bells and whistles later when you can do the basics.

I encountered two instances where the book wasn't updated to reflect changes in the OS, which were annoying to deal with. Also, I found a spelling or punctuation error about every ten pages, which was annoying for such a pricey book. Overall, however, the book is extremely usable and understandable. It's easy to pick up concepts from this text.
a road not taken
8/29/20064.00 of 5 stars
There is a whiff of "what-might-have-been" about this book, using the benefit of hindsight. Minix is thoroughly described as a small and impressively documented operating system. It is small enough that if you took the time, you could understand every nook and cranny. From a pedagogic standpoint, it is of great help in nailing down abstract design concepts. Amazingly, the kernel spans only 4000 lines. Nothing at all, compared to linux or other operating systems.

Tanenbaum criticises those, for a lack of modularity. With millions of lines of code put into one monolithic build running in kernel mode. But you might seriously wonder about this, especially where linux is concerned. In general, it is stable. Yes, with bugs that are inevitable with large code bases. But bugs that are severe enough to crash the OS are rare. Certainly rarer than Microsoft Windows. Anyhow, the book demonstrates the use of a microkernel. While linux uses a monolithic kernel.

But the "what-might-have-been" arises from how linux was inspired by minix. The marketplace has overwhelmingly preferred linux to minix. Industry giants like IBM and HP have now standardised on linux. No major company has done this for minix. It suggests a major design flaw in minix. Not a flaw in terms of not working. But a flaw at a higher level. Perhaps in extensibility or licensing. Tanenbaum must surely wonder that had he taken a different route with minix, it would have become what is linux today. Linus Torvalds is now far better known than him, and there is an entire industry of startups built using linux. Minix is something obscure, even amongst many computer programmers.
I like Minix3, not the book
6/2/20083.00 of 5 stars
I like the microkernel approach to implement a UNIX-like OS. It is simple and elegant although it does sacrifice a little performance. However, the book is not particularly well-written. It lacked clarity in its explanation of both theory and implementation.