3.0 out of 5 stars
If you can't find anything better, April 12 2003
By A Customer
If you have no experience with operating systems concepts this book can either be a decent friend or a nightmare, depending on which chapters you read.
On top of vagueness and ambiguity, the illustrations are poorly placed, sometimes pages after the accompanying text. Many chapters are confusing to the point of frustration, especially those concerning synchronization and paging. Some algorithms are oversimplified, while others are given in so much detail the basic concept is lost.
The book does however have its good points, hence my rating of 3. It's not so horrible that you can't learn from it. Some chapters are represented quite well. At the end of each chapter, the basis of that chapter's implementation in modern operating systems is given (Windows NT, Unix, Solaris etc.).
All in all, the book is faithful to its title but not worth the price. A good second choice if the book you want is out of stock.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
4.0 out of 5 stars
Excellent Attempt at Presenting Difficult Subject, Feb 22 2003
This popular book was written as an introductory course to operating systems but systematically provides an extensive description of operating system concepts. The 1st half of the book is typically used for undergraduate computer science classes although the book as a whole is often required for graduate level classes.
It is assumed that readers will have some knowledge of high-level languages and general computer organization. The book does not spotlight any one particular operating system but rather presents concepts and algorithms that are common to many of the Oss that are commonly used today, including MS-DOS, Windows 2000 & NT, Linux, Sun Microsystems' Solaris 2, IBM OS/2, Apple Macintosh, and DEC VMS.
The book has 7 major parts:
1) Overview: What Operating Systems are, what they do, how they are designed, and where they came from. General history and explanations. Some discussion on hardware.
2) Process Management: How information is processed. Methods for process scheduling, interprocess communication, process synchronization, deadlock handling, and threads.
3) Storage Management: How main memory functions and executes. The mechanisms for storage of and access to data is covered. The classic internal algorithms and structures of storage management is discussed and the advantages and disadvantages of each.
4) I/0 Systems: The types of devices that attach to a computer. How the devices are accessed and controlled. Performance issues and examined thoroughly.
5) Distributed systems: The collection of processors that do not share a clock or memory. How distributed file systems are shared, synchronized, communicate, and deal with deadlocks.
6) Protection and Security: How mechanisms ensure that only certain processes that have obtained proper authorization can use certain files, memory segments, CPU, etc.
7) Case Studies: This is where individual real operating systems are discussed in depth. These systems are Linux, Windows 2000, FreeBSD, Mach, and Nachos.
Of course this is a very general list and omits many other aspects of Operating Systems that are included in the book. This 887 page book does not include formal proofs but it does contain (though it would be better to have more) figures, diagrams, examples, and notes to help explain concepts.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
3.0 out of 5 stars
General overview, not necessarily always "correct", Jan 30 2003
First, I should say that this book is definitely predisposed toward Unix operating systems. They actually make PCs sound bad and evil because they are not shared (sounds communist to me). Secondly, the book does not prove the statements they make. I am from primarily Electrical Engineering with an emphasis on Computer Engr, and we usually provide proof of our theoretical results.
The book actually says that a PC pays little attention to performance. Ahem, this depends one's *definition* of performance, and according to most computer books, this is the number of instructions per second executed, which PCs are better at (assuming non-distributed computer model)! The book is clearly biased, and leaves me wondering if these people are simply academics sitting around writing books who have little engineering experience. Even their definition of a hand-held operating system is completely flawed.
Despite these and many other complaints I have, the book does get the main point across, and it *does* make one think. I have thought a lot about the book's weaknesses, but I definitely would have never had thought at all if it weren't for this book. Therefore, I still give it three stars. However, I simply hope there are much better books out there on the subject of operating systems that are accessible yet still rigorous and complete.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No