|
|||||||||||||||||||||||||||||||||||
|
34 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
56 of 57 people found the following review helpful:
5.0 out of 5 stars
OS concepts, vocabulary, and details for professionals,
By
This review is from: Modern Operating Systems (2nd Edition) (GOAL Series) (Hardcover)
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.
18 of 18 people found the following review helpful:
5.0 out of 5 stars
my favorite Computer Science book,
By
This review is from: Modern Operating Systems (2nd Edition) (GOAL Series) (Hardcover)
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.
17 of 17 people found the following review helpful:
5.0 out of 5 stars
Superb book on Operating Systems,
By Ricardo Diz (Portugal) - See all my reviews
This review is from: Modern Operating Systems (2nd Edition) (GOAL Series) (Hardcover)
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.
30 of 33 people found the following review helpful:
3.0 out of 5 stars
Very informational, but not pragmatic,
By
This review is from: Modern Operating Systems (2nd Edition) (GOAL Series) (Hardcover)
It's a very useful, informative book but I found it more esoteric than it needed to be - I speak from my experience as a computer science student who then went on to write software for a living. Unfortunately, I feel the problems described below plague most popular OS books today, including "Operating System Concepts by Silberschatz, Galvin, Gagne".
I'd like to break up the review rating into two parts: Content and relevance to subject: 4/5 The book covers almost all aspects of what an operating system needs to to do and so is highly informational, from threads to memory management to I/O - the three most essential (and yet elusive) concepts in today's operating systems. The author does a good job of explaining, at each stage, the various design choices that an OS designer must make e.g. virtual memory - use free lists or bitmaps to do book-keeping of used and free physical memory. Most concepts are explained clearly and as such I found this book to be a good reference on OS design principles. Applicability to real world issues: 2/5 Unfortunately a good reference is not always the best way to understand how things work in practice. The book discusses design choices at each step, but I feel what most computer science students need to learn first is how today's operating systems work - how does the threading scheduler in UNIX work? how does UNIX manage memory, so I as a software engineer can best make use of it? It's great to know all these design pricniples an OS has, but my experience was that when you're at your first job wondering why you're running out of physical memory or why your multi-threaded program keeps crashing, it helps immensely to know well exactly how your OS works, than the myriad choices that it can make. And let's face it - there aren't many OS's in the wold today - the UNIX family and Windows, which is modeled largely on UNIX (albeit not welll and with a few differences). I should point out that the book has a chapter each on UNIX and Winwos at the end, but by the time you reach the end of a 900-page book you're usually out of patience. I have studied from the book by Silberschatz et al. as well, and I have the same complaint with each book - as a student I felt there was a huge disconnect between what the books talk about and knowing the guts of your UNIX or Windows system. Put it simply, I found the books were too "bookish". Unfortunately, I am not aware of any other mainstream OS book that does any better. I would love to see a book that discusses this critical subject in a different (and more enlightening) way - that discusses in detail how, say threads work in UNIX, and then elaborates on how else it could be done. So that at the end of it, you atleast know to make best use of the OS you work with (even if you don't fully understand how to design the next one).
12 of 12 people found the following review helpful:
4.0 out of 5 stars
Table of Contents for the 3rd Edition,
This review is from: Modern Operating Systems (3rd Edition) (Hardcover)
Since Amazon doesn't have it, here's the table of contents for the 3rd Edition to the second header level. More detailed table of contents can be found by clicking of the "Description" link at:
[...] 1 INTRODUCTION 1.1 WHAT IS AN OPERATING SYSTEM? 1.2 HISTORY OF OPERATING SYSTEMS 1.3 COMPUTER HARDWARE REVIEW 1.4 THE OPERATING SYSTEM ZOO 1.5 OPERATING SYSTEM CONCEPTS 1.6 SYSTEM CALLS 1.7 OPERATING SYSTEM STRUCTURE 1.8 THE WORLD ACCORDING TO C 1.9 RESEARCH ON OPERATING SYSTEMS 1.10 OUTLINE OF THE REST OF THIS BOOK 1.11 METRIC UNITS 1.12 SUMMARY 2 PROCESSES AND THREADS 2.1 PROCESSES 2.2 THREADS 2.3 INTERPROCESS COMMUNICATION 2.4 SCHEDULING 2.5 CLASSICAL IPC PROBLEMS 2.6 RESEARCH ON PROCESSES AND THREADS 2.7 SUMMARY 3 MEMORY MANAGEMENT 3.1 NO MEMORY ABSTRACTION 3.2 A MEMORY ABSTRACTION: ADDRESS SPACES 3.3 VIRTUAL MEMORY 3.4 PAGE LACEMENT ALGORITHMS 3.5 DESIGN ISSUES FOR PAGING SYSTEMS 3.6 IMPLEMENTATION ISSUES 3.7 SEGMENTATION 3.8 RESEARCH ON MEMORY MANAGEMENT 3.9 SUMMARY 4 FILE SYSTEMS 4.1 FILES 4.2 DIRECTORIES 4.3 FILE SYSTEM IMPLEMENTATION 4.4 FILE SYSTEM MANAGEMENT AND OPTIMIZATION 4.5 EXAMPLE FILE SYSTEMS 4.6 RESEARCH ON FILE SYSTEMS 4.7 SUMMARY 5 INPUT/OUTPUT 5.1 PRINCIPLES OF I/O HARDWARE 5.2 PRINCIPLES OF I/O SOFTWARE 5.3 I/O SOFTWARE LAYERS 5.4 DISKS 5.5 CLOCKS 5.6 USER INTERFACES: KEYBOARD, MOUSE, MONITOR 5.7 THIN CLIENTS 5.8 POWER MANAGEMENT 5.9 RESEARCH ON INPUT/OUTPUT 5.10 SUMMARY 6 DEADLOCKS 6.1 RESOURCES 6.2 INTRODUCTION TO DEADLOCKS 6.3 THE OSTRICH ALGORITHM 6.4 DEADLOCK DETECTION AND RECOVERY 6.5 DEADLOCK AVOIDANCE 6.6 DEADLOCK PREVENTION 6.7 OTHER ISSUES 6.8 RESEARCH ON DEADLOCKS 6.9 SUMMARY 7 MULTIMEDIA OPERATING SYSTEMS 7.1 INTRODUCTION TO MULTIMEDIA 7.2 MULTIMEDIA FILES 7.3 VIDEO COMPRESSION 7.4 AUDIO COMPRESSION 7.5 MULTIMEDIA PROCESS SCHEDULING 7.6 MULTIMEDIA FILE SYSTEM PARADIGMS 7.7 FILE PLACEMENT 7.8 CACHING 7.9 DISK SCHEDULING FOR MULTIMEDIA 7.10 RESEARCH ON MULTIMEDIA 7.11 SUMMARY 8 MULTIPLE PROCESSOR SYSTEMS 8.1 MULTIPROCESSORS 8.2 MULTICOMPUTERS 8.3 VIRTUALIZATION 8.4 DISTRIBUTED SYSTEMS 8.5 RESEARCH ON MULTIPLE PROCESSOR SYSTEMS 8.6 SUMMARY 9 SECURITY 9.1 THE SECURITY ENVIRONMENT 9.2 BASICS OF CRYPTOGRAPHY 9.3 PROTECTION MECHANISMS 9.4 AUTHENTICATION 9.5 INSIDER ATTACKS 9.6 EXPLOITING CODE BUGS 9.7 MALWARE 9.8 DEFENSES 9.9 RESEARCH ON SECURITY 9.10 SUMMARY 10 CASE STUDY 1: LINUX 10.1 HISTORY OF UNIX AND LINUX 10.2 OVERVIEW OF LINUX 10.3 PROCESSES IN LINUX 10.4 MEMORY MANAGEMENT IN LINUX 10.5 INPUT/OUTPUT IN LINUX 10.6 THE LINUX FILE SYSTEM 10.7 SECURITY IN LINUX 10.8 SUMMARY 11 CASE STUDY 2: WINDOWS VISTA 11.1 HISTORY OF WINDOWS VISTA 11.2 PROGRAMMING WINDOWS VISTA 11.3 SYSTEM STRUCTURE 11.4 PROCESSES AND THREADS IN WINDOWS VISTA 11.5 MEMORY MANAGEMENT 11.6 CACHING IN WINDOWS VISTA 11.7 INPUT/OUTPUT IN WINDOWS VISTA 11.8 THE WINDOWS NT FILE SYSTEM 11.9 SECURITY IN WINDOWS VISTA 11.10 SUMMARY 12 CASE STUDY 3: SYMBIAN OS 12.1 THE HISTORY OF SYMBIAN OS 12.2 AN OVERVIEW OF SYMBIAN OS 12.3 PROCESSES AND THREADS IN SYMBIAN OS 12.4 MEMORY MANAGEMENT 12.5 INPUT AND OUTPUT 12.6 STORAGE SYSTEMS 12.7 SECURITY IN SYMBIAN OS 12.8 COMMUNICATION IN SYMBIAN OS 12.9 SUMMARY 13 OPERATING SYSTEMS DESIGN 13.1 THE NATURE OF THE DESIGN PROBLEM 13.2 INTERFACE DESIGN 13.3 IMPLEMENTATION 13.4 PERFORMANCE 13.5 PROJECT MANAGEMENT 13.6 TRENDS IN OPERATING SYSTEM DESIGN 13.7 SUMMARY 14 READING LIST AND BIBLIOGRAPHY 14.1 SUGGESTIONS FOR FURTHER READING 14.2 ALPHABETICAL BIBLIOGRAPHY
12 of 12 people found the following review helpful:
5.0 out of 5 stars
Do not skip PART II on case studies !,
By
This review is from: Modern Operating Systems (Hardcover)
From what i recall (i read this book 3 years ago, when i was a graduate student), this book is good for introduction as well as for advanced concepts in operating systems. I fully aggree with the reviewer from 1997. I don't think this book being sloppy nor difficult for beginners (sorry other reviewers). It certainly requires some time to be read (i recall having read it at a pace of about two or three evenings for one chapter, with about 2-3 hours per evening so i don't think it is that difficult for beginners). In addition, Tanenbaum's style is always good and his sense of humor makes the text full of those subtle remarks that make you dive into the subject with less pain.Probably that the third part of the book about Distributed OS is not a good reading for beginners but just skip it on your first reading and go back to it when you'll be ready. An important thing is that Part II which is about case studies should not be skipped by newcomers ! This is exactly while reading this part of the book that you'll understand all the concepts you learned in the first part, by applying all this theoretical stuff on actual OS implementations. Probably the reviewer that states this book is not for beginners didn't make it to Part II because one cannot understand OS just by learning concepts, like everything else in computer science...
18 of 20 people found the following review helpful:
4.0 out of 5 stars
Comprehensive and Interesting, but Radically Restructured,
By "microtherion" (Sim City, CA (Somewhere in the Bay Area)) - See all my reviews
This review is from: Modern Operating Systems (2nd Edition) (GOAL Series) (Hardcover)
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.
17 of 20 people found the following review helpful:
5.0 out of 5 stars
Excellent Intro to Practical OS Design and Implementation,
By A Customer
This review is from: Modern Operating Systems (Hardcover)
Andrew Tanenbaum ( http://www.cs.vu.nl/~ast/ ) boots your neural network in the right direction in his classic introductory text to Operating Systems and the pre-cursor to his more recent "Distributed Operating Systems" (ISBN: 0132199084). He presents bit-level discussions addressing the core OS issues of processes, memory management, file systems and I/O (among others). He then buffers the information with in-depth, case study comparisons of unix, ms-dos, mach and amoeba (which Tanenbaum co-developed; see: http://www.am.cs.vu.nl/ ). Tanenbaum does not ignore theory altogether, but puts most of his effort into relaying practical concerns and solutions to real OS's.
Tanenbaum's sense of humor never flags or fails to register; a most desirable quality in a technical book one is reading after 8-10 hours in the cubicle world. For instance, regarding the POSIX standard, "The [RFC] 1003.1 document is written in such a way that both operating system implementers and software writers can understand it, [a] novelty in the standards world, although work is already underway to remedy this." The book assumes the reader has basic programming knowledge, though nothing beyond first year C. Tanenbaum has included numerous clear and helpful diagrams, as well as problem sets at the end of each chapter. Thoroughly enjoyed - highly recommended.
5 of 5 people found the following review helpful:
4.0 out of 5 stars
A modern classic,
By wiredweird "wiredweird" (Earth, or somewhere nearby) - See all my reviews (HALL OF FAME REVIEWER) (TOP 500 REVIEWER)
This review is from: Modern Operating Systems (3rd Edition) (Hardcover)
I've taught from another text, but this one seems to provide the most solid foundation of any around. It covers all of the basics of operating system responsibilities in a thorough and orderly way, starting with processes, memory, file systems, and security, including information about malicious attacks. This new edition also addresses multiprocessor systems, which have become prevalent in the form of multi-core processors, and the special needs of media processing systems. Toward the end, it also presents case studies of three contemporary OSs, in enough detail to understand the differences between the different OS philosophies and structures. After a relatively brief chapter summarizing Tanenbaum's beliefs about OS design, this ends with a bibliography that even researchers and advanced practitioners will appreciate.
But, if you haven't already found out the hard way, OSs raise surprisingly strong feelings. In my case, the feeling is that the book ignores about 99% of all processors - the ones in your cell phone, car systems, appliances, and everything else that doesn't look like a computer, i.e. the embedded processors. These systems impose critical constraints on timing, memory, and performance, and impose different kinds of constraints according to their usage. It also skims lightly over the server farms that prevail in banking, industry, and commerce, and over the massive demands addressed by things like the Google file system. Still, this book presents all of the basics. Even when programming an embedded system too small to support an OS, the principles taught here will still be useful. And, when the reader graduates to more specialized topics, like massively parallel supercomputers, high reliability systems, or multi-tierd enterprise systems, this provides a solid foundation on which to build the more unusual structures. There's only so much you can pack into a one-term introduction to operating systems, and this book does a great job of it. - wiredweird
5 of 5 people found the following review helpful:
5.0 out of 5 stars
Interesting, accessible, humorous,
By LN (San Francisco, CA USA) - See all my reviews
This review is from: Modern Operating Systems (3rd Edition) (Hardcover)
This book was assigned for my Operating Systems course in college this semester. It is truly a great textbook, and this is coming from a student who has read (and avoided) a lot of textbooks. It makes the subject matter very easy to understand in a variety of ways that help illustrate the concepts for various types of learners. Among these are clear diagrams, very succinct snippets of well-documented code, and real-life examples and illustrative analogies that help you both understand and recall the material. Unlike many textbooks there is a healthy dose of humor in the book. I've actually laughed out loud a number of times at the witty remarks and silly examples Tanenbaum includes in the book (the illustration on the cover should have been the first clue that the author knows how to lighten things up). Bottom line, it's a great book if you want to learn about Operating Systems, be amused while doing it, and have the knowledge actually "stick".
|
|
Most Helpful First | Newest First
|
|
Modern Operating Systems by Andrew S. Tanenbaum (Hardcover - February 4, 1992)
Used & New from: $0.09
| ||