Modern Operating Systems gives a conceptual overview of operating system design, including detailed case studies of Unix/Linux and Windows 2000. Tanenbaum is a proponent of simple design and hands-on experimentation.
The first half of Modern Operating Systems focuses on traditional operating systems concepts: processes, deadlocks, memory management, I/O, and file systems. Each chapter includes sections on current research and a set of student problems. It is the second half of the book that differentiates itself from older operating systems texts. Here, chapters 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. The importance of security is discussed together with ways operating systems can be vulnerable to attack, from password security to computer viruses and Internet worms.
At the end of the book, there are case studies of Unix/Linux and Windows 2000, with an emphasis on the Unix/Linux approach, due to the author's experience. Both operating systems are dissected, describing how each implements processes, file systems, memory management, and other operating system fundamentals.
Tanenbaum prefers accessible operating system design. Given that modern operating systems have extensive features, he reconciles physical size with simplicity. He finds both Windows 2000 and Unix/Linux guilty of being too complicated: he says Windows 2000 has a "mammoth Win32 API". One 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.