Modern Operating System, Second Edition


Publisher: Prentice Hall
Author: Andrew Tanenbaum
ISBN: 0130313580
Release Date: 28 February 2001

eBook Description
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.

Amazon.com

Modern Operating System, Second Edition

Related posts:

  1. Modern Operating Systems Publisher: Prentice HallAuthor: Andrew S. TanenbaumISBN: 0135881870Release Date: 04 February...
  2. Operating Systems: Design and Implementation, Second Edition Publisher: Prentice HallAuthor: Andrew S. Tanenbaum, Albert S. WoodhullISBN: 0136386776Release...
  3. Operating Systems Design and Implementation (3rd Edition) (Prentice Hall Software Series) Publisher: Prentice HallAuthor: Albert S WoodhullISBN: 0131429388Release Date: 04 January...
  4. Smartphone Operating System Concepts with Symbian OS: A Tutorial Guide (Symbian Press) Publisher: John Wiley and SonsAuthor: Michael J. JippingISBN: 0470034491Release Date:...
  5. Modern Industrial Automation Software Design Publisher: WileyAuthor: Kay CHen TanISBN: 0471683736Release Date: 10 February 2006...
  6. Sams Teach Yourself Red Hat Linux Fedora in 24 Hours (Sams Teach Yourself) Publisher: SamsAuthor: Aron HsiaoISBN: 0672326302Release Date: 16 December 2003 eBook...
  7. Big Book of Windows Hacks Publisher: O'ReillyAuthor: Preston GrallaISBN: 0596528353Release Date: 23 October 2007 eBook...
  8. Linux Appliance Design: A Hands-On Guide to Building Linux Appliances Publisher: No Starch PressAuthor: Bill PierceISBN: 1593271409Release Date: 31 March...
  9. Pluggable Authentication Modules: The Definitive Guide to PAM for Linux SysAdmins and C Developers Publisher: Packt PublishingAuthor: K, GeisshirtISBN: 1904811329Release Date: 04 January 2007...
  10. Solaris Operating Environment Boot Camp Publisher: Prentice HallAuthor: Dominic ButlerISBN: 0130342874Release Date: 11 September 2002...