Rating:  Summary: Riddled with mistakes Review: I taught an operating systems course at a top-30 north american university using "Operating Systems Concepts", 5th edition. At the same time, i looked at Tanenbaum's book "Modern Operating Systems" to get ideas for problems. Instead of just copying his homework assignments, i actually read the book and created homeworks from scratch using the figures and examples in this book.I got burned twice. IMHO, the book is loaded with logic errors. Not only were the programming examples wrong, but the logical concepts (e.g. examples of what constitutes deadlock) were also wrong. If i found this many errors by looking at just two chapters, you know there are hundreds more buried elsewhere in the book. Don't screw up your students' minds with this book. Hardly worth the paper its printed upon.
Rating:  Summary: Riddled with mistakes Review: I taught an operating systems course at a top-30 north american university using "Operating Systems Concepts", 5th edition. At the same time, i looked at Tanenbaum's book "Modern Operating Systems" to get ideas for problems. Instead of just copying his homework assignments, i actually read the book and created homeworks from scratch using the figures and examples in this book. I got burned twice. IMHO, the book is loaded with logic errors. Not only were the programming examples wrong, but the logical concepts (e.g. examples of what constitutes deadlock) were also wrong. If i found this many errors by looking at just two chapters, you know there are hundreds more buried elsewhere in the book. Don't screw up your students' minds with this book. Hardly worth the paper its printed upon.
Rating:  Summary: Superb book on Operating Systems Review: I think this book is a great book on OS. It's easy to read (don't forget Tanenbaum humor :)), it explains difficult issues using simple analogies and is certainly an up-to-date book on the field. It has one chapter covering Unix (and Linux) and another one for Windows 2000, two of the more important Operating Systems well explained here. The Chapter on processes and threads is great. It really clarifies the difference between processes and threads. Although I found the book as easy to read as it can get, I must admit that I had litle bit of a hard time reading that Memory Chapter. I'd prefer it didn't had so many algoritms. I shorter chapter would probably be better, at least for me ;). It also has a chapter on security, a must have nowdays. If you are a first-time learner on Operating Systems I think this is the one.
Rating:  Summary: my favorite Computer Science book Review: Just finished my bachelor's degree in Computer Science and looking back this is hands down the best, most readable textbook I had in college. It has a proud place on my book shelf. I can't claim to have read the *entire* book (though I was supposed to), but I read quite a lot of it and it was fascinating.
Tanenbaum covers the material in depth, but he has a relaxed, entertaining writing style that is engaging and amazingly easy to follow considering the weighty material. There are undoubtedly occasional mistakes, but unlike other books with more obtuse, "I am smarter than you" writing styles, you're actually awake enough to spot the mistakes when they show up. I don't ever remember being baffled by any mistakes. After reading the reviews by this book's few detractors, all I can do is shrug my shoulders and say that I loved it and that every classmate I talked to (including two roommates) wholeheartedly agreed.
By the way, I concur with an earlier reviewer in highly encouraging readers to read the case studies of Unix/Linux and Windows 2000 in chapters 10 & 11... fascinating stuff.
Rating:  Summary: A reference for an Operating System course Review: Mr. Tanenbaum is very known for his incursions over Operating System and Distributed systems. And this book is a fine reference to computer scientists who wish to understand OS principles and practices. Its chapters on the most recent (2002) operating systems give you an insight of how things work in real life. He is humorous and a lot of times it is a real pleasure to read this book. He has removed the source code for Minix and added some new comments since the previous one entitled "Operating System". I've read it for a Computer Science couse and I recommend it.
Rating:  Summary: An ok book but sloppy in places Review: Tanenbaum's book has several errors that really give the impression he is not a clear thinker. For example, in the edition I read (1993), the monitors implementation in C was completely wrong, and he thinks that you can deadlock if a printer manager errantly loses a lock (indeed no, under precise definitions, there is no circular wait). In my brief encounter with this book I ran across two conceptual errors. I wonder how many total errors are in this book?
Rating:  Summary: OS concepts, vocabulary, and details for professionals Review: Tanenbaum's book is a thorough yet accessible introduction to the design and implementation of modern operating systems. This second edition explains the trade-offs developers must make and shows readers how OS' have matured since the 1960s. Knowledge of programming in C is helpful, especially if the reader wishes to complete the exercises following each chapter. I gave the book five stars for its content, delivery, and humor, all of which helped me learn a difficult subject in an enjoyable manner. "Modern Operating Systems, 2nd Ed" (MOS:2E) is very well-written, which may surprise those who suffer while reading other hardcover college texts. The book introduces problems facing developers, then helps the reader understand both simple and complex ways to address these issues. Tanenbaum's style is lively and informative, like the cover of his books. He appears knowledgeable and opinionated -- especially concerning problems with the Windows OS -- but he can back up his assertions. The best features of MOS:2E are found in chapters ten and eleven. Here Tanenbaum illuminates UNIX and Microsoft Windows 2000, respectively, building upon the material found in the previous nine chapters. He gives real reasons why Windows suffers security problems, such as internal complexity, code bloat, and design choices. UNIX is also critically evaluated, but stands up better to Tanenbaum's scrutiny. I don't recommend computer novices read MOS:2E. One needs a certain amount of interest and motivation to digest this material, and Tanenbaum's explanations of some concepts did not seem sufficient. However, after having finished this 900 page tome, I feel more comfortable reading about design issues for the Linux kernel or the FreeBSD scheduler. If you're looking to learn the how and why of operating system design and implementation, I strongly recommend MOS:2E.
Rating:  Summary: OS concepts, vocabulary, and details for professionals Review: Tanenbaum's book is a thorough yet accessible introduction to the design and implementation of modern operating systems. This second edition explains the trade-offs developers must make and shows readers how OS' have matured since the 1960s. Knowledge of programming in C is helpful, especially if the reader wishes to complete the exercises following each chapter. I gave the book five stars for its content, delivery, and humor, all of which helped me learn a difficult subject in an enjoyable manner. "Modern Operating Systems, 2nd Ed" (MOS:2E) is very well-written, which may surprise those who suffer while reading other hardcover college texts. The book introduces problems facing developers, then helps the reader understand both simple and complex ways to address these issues. Tanenbaum's style is lively and informative, like the cover of his books. He appears knowledgeable and opinionated -- especially concerning problems with the Windows OS -- but he can back up his assertions. The best features of MOS:2E are found in chapters ten and eleven. Here Tanenbaum illuminates UNIX and Microsoft Windows 2000, respectively, building upon the material found in the previous nine chapters. He gives real reasons why Windows suffers security problems, such as internal complexity, code bloat, and design choices. UNIX is also critically evaluated, but stands up better to Tanenbaum's scrutiny. I don't recommend computer novices read MOS:2E. One needs a certain amount of interest and motivation to digest this material, and Tanenbaum's explanations of some concepts did not seem sufficient. However, after having finished this 900 page tome, I feel more comfortable reading about design issues for the Linux kernel or the FreeBSD scheduler. If you're looking to learn the how and why of operating system design and implementation, I strongly recommend MOS:2E.
Rating:  Summary: Comprehensive and Interesting, but Radically Restructured Review: The 2nd edition of this book is nearly as interesting and as much fun as the first edition, but it's a very different book. I liked the first edition for its case studies of edgy systems like Mach and Amoeba and was quite surprised to see them gone in this edition. Apparently, due to the expanding size of the overall material, Tanenbaum is only covering these in his Distributed Systems books anymore, and the case studies left in this book are UNIX and Windows 2000, OSes that I would classify as "contemporary" rather than "modern". Also, I was very disappointed not to find a single mention of MacOS X in the book. Still, this is a superb book. It covers a wide range of material, and ties textbook material to the latest research papers in an area (for its literature survey value alone, this is a great starting point for any in-depth study of an OS topic). Tanenbaum also suffuses all of the material with humorous anecdotes and sly asides which make the book a delight to read cover to cover.
Rating:  Summary: aggravating to read Review: The book is generally good and the author has a nice sense of humor but it's clear that english is not his native language because it is full of statements that just don't seem to quite make sense. For example, in the synchronization section dealing with SLEEP and WAKEUP calls he states:
"The WAKEUP call has one parameter, the process to be awakened. Alternatively, both SLEEP and WAKEUP each have one parameter, a memory address used to match up SLEEPs with WAKEUPs." (p.108)
Huh??? Can someone tell me whether WAKEUP has one parameter or two? And what does he mean by "alternatively"? He doesn't appear to be presenting contrasting alternatives. This is not an isolated example; the book is full of statements that, to put it charitably, don't translate quite right and are less than perfectly clear. This book could be great if it were only reviewed by a native english-speaking editor. For now though it's a very frustrating read.
|