Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Modern Operating Systems

Buy
Modern Operating Systems, 9780135881873 (0135881870), Prentice Hall, 1992
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

(HTML tags aren't allowed.)

Networked Control Systems: Theory and Applications
Networked Control Systems: Theory and Applications
Networked control systems (NCS) consist of sensors, actuators and controllers the operations of which may be distributed over geographically disparate locations and co-ordinated by the exchange of information passed over a communication network. The communication network may be physically wired or not. The widespread applications of the Internet...
Advanced Network Programming – Principles and Techniques: Network Application Programming with Java (Computer Communications and Networks)
Advanced Network Programming – Principles and Techniques: Network Application Programming with Java (Computer Communications and Networks)

Answering the need for an accessible overview of the field, this text/reference presents a manageable introduction to both the theoretical and practical aspects of computer networks and network programming. Clearly structured and easy to follow, the book describes cutting-edge developments in network architectures, communication protocols,...

Beginning iOS Programming: Building and Deploying iOS Applications
Beginning iOS Programming: Building and Deploying iOS Applications

iOS 7 changed everything—get up to speed!

iOS 7 is a major shift in the look and feel of apps—the first major sea change since the iPhone was first introduced. For apps to blend in with the new UI, each needs a complete redesign. Beginning iOS Programming: Building and Deploying iOS Applications starts at...


Manage Partitions with GParted How-to
Manage Partitions with GParted How-to

Modern disk drives can store vast amounts of information. To effectively use all of this space, you can partition disk drives into separate storage areas. These separate storage areas enable you to organize your data, improve system performance, and install and use many operating systems

"Manage Partitions with GParted"...

JavaScript: JavaScript For Beginners - Learn JavaScript with ease in HALF THE TIME - Everything about the Language, Coding, Programming and Web Pages that you need to know!
JavaScript: JavaScript For Beginners - Learn JavaScript with ease in HALF THE TIME - Everything about the Language, Coding, Programming and Web Pages that you need to know!

Java Script Learn all about one of the most widely used programming languages and get this great book now! Would you be interested in learning Java Script, the one of the most commonly used languages in programming which can help you create interactive websites? Then learning about Java Script would be perfect for you. Without...

Breakthrough Discoveries in Information Technology Research: Advancing Trends
Breakthrough Discoveries in Information Technology Research: Advancing Trends

This collection, entitled Breakthrough Discoveries in Information Technology Research: Advancing Trends , aims to inform researchers and practitioners of novel and emerging research in information science and technology, allowing for the discussion and dissemination of critical concepts that will promote further study and innovation....

©2020 LearnIT (support@pdfchm.net) - Privacy Policy