| Subcategories |
|
Computers & Internet |
|
|
|
|
|
|
| |
|
|
|
|
|
Modern Operating Systems (3rd Edition) (GOAL Series) written by Andrew S. Tanenbaum Studio : Prentice Hall by Prentice Hall Publisher : Prentice Hall Released : 2007-12-21 Availability : Usually ships in 1-2 business days Number of Items : 1 EAN : 9780136006633 Avg. Customer Rating: (based on 28 reviews)
List Price : $132.00 Our Price : $92.01
|
|
| |
|
Product Description |
|
The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems technologies. The Third Edition includes up-to-date materials on relevant operating systems such as Linux, Windows, and embedded real-time and multimedia systems. Includes new and updated coverage of multimedia operating systems, multiprocessors, virtual machines, and antivirus software. Covers internal workings of Windows Vista (Ch. 11); unique even for current publications. Provides information on current research based Tanenbaum’s experiences as an operating systems researcher. A useful reference for programmers. |
| |
|
Americancivilwar.com Review |
|
For software development professionals and computer science students, Modern Operating Systems gives a solid conceptual overview of operating system design, including detailed case studies of Unix/Linux and Windows 2000. What makes an operating system modern? According to author Andrew Tanenbaum, it is the awareness of high-demand computer applications--primarily in the areas of multimedia, parallel and distributed computing, and security. The development of faster and more advanced hardware has driven progress in software, including enhancements to the operating system. It is one thing to run an old operating system on current hardware, and another to effectively leverage current hardware to best serve modern software applications. If you don't believe it, install Windows 3.0 on a modern PC and try surfing the Internet or burning a CD. Readers familiar with Tanenbaum's previous text, Operating Systems, know the author is a great proponent of simple design and hands-on experimentation. His earlier book came bundled with the source code for an operating system called Minux, a simple variant of Unix and the platform used by Linus Torvalds to develop Linux. Although this book does not come with any source code, he illustrates many of his points with code fragments (C, usually with Unix system calls). The first half of Modern Operating Systems focuses on traditional operating systems concepts: processes, deadlocks, memory management, I/O, and file systems. There is nothing groundbreaking in these early chapters, but all topics are well covered, each including sections on current research and a set of student problems. It is enlightening to read Tanenbaum's explanations of the design decisions made by past operating systems gurus, including his view that additional research on the problem of deadlocks is impractical except for "keeping otherwise unemployed graph theorists off the streets." It is the second half of the book that differentiates itself from older operating systems texts. Here, each chapter describes an element of what constitutes a modern operating system--awareness of multimedia applications, multiple processors, computer networks, and a high level of security. The chapter on multimedia functionality focuses on such features as handling massive files and providing video-on-demand. Included in the discussion on multiprocessor platforms are clustered computers and distributed computing. Finally, the importance of security is discussed--a lively enumeration of the scores of ways operating systems can be vulnerable to attack, from password security to computer viruses and Internet worms. Included at the end of the book are case studies of two popular operating systems: Unix/Linux and Windows 2000. There is a bias toward the Unix/Linux approach, not surprising given the author's experience and academic bent, but this bias does not detract from Tanenbaum's analysis. Both operating systems are dissected, describing how each implements processes, file systems, memory management, and other operating system fundamentals. Tanenbaum's mantra is simple, accessible operating system design. Given that modern operating systems have extensive features, he is forced to reconcile physical size with simplicity. Toward this end, he makes frequent references to the Frederick Brooks classic The Mythical Man-Month for wisdom on managing large, complex software development projects. He finds both Windows 2000 and Unix/Linux guilty of being too complicated--with a particular skewering of Windows 2000 and its "mammoth Win32 API." A primary culprit is the attempt to make operating systems more "user-friendly," which Tanenbaum views as an excuse for bloated code. The solution is to have smart people, the smallest possible team, and well-defined interactions between various operating systems components. Future operating system design will benefit if the advice in this book is taken to heart. --Pete Ostenson |
| |
|
| |
|
Interesting, accessible, humorous |
|
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". |
| |
|
Great Book |
This is a great book for anyone interested in how operating systems
really work and might be thinking about writing their own OS. I found it to be a thrilling read.
John |
| |
|
Very informational, but not pragmatic |
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). |
| |
|
OS Textbook |
|
I found the book complicated but I am not a programmer. The book covers alot of concepts which I found hard to grasp. Overall the book is not bad but if you are looking for something that will teach you programming I would not recommend this book. |
| |
|
Totally Sucked |
|
I'm taking a college course and this book really bites. Reading it just leaves me in a daze. He goes on and on about how this method won't work and that method won't work which completely covers up what we need to learn. I'm getting 98.18% in the class on term 8 of 10, but it's not due to this book. Unfortuneatley I'm stuck with the book because it's what the school uses. Find another one. |
| |
|
|
|