Operating Systems: Internals and Design Principles / Edition 8

Hardcover (Print)
Buy New
Buy New from BN.com
Used and New from Other Sellers
Used and New from Other Sellers
from $141.84
Usually ships in 1-2 business days
(Save 20%)
Other sellers (Hardcover)
  • All (18) from $141.84   
  • New (9) from $153.85   
  • Used (9) from $141.84   


Operating Systems: Internals and Design Principles is intended for use in a one- or two-semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors. It also serves as a useful reference for programmers, systems engineers, network designers and others involved in the design of computer products, information system and computer system personnel.

Operating Systems provides a comprehensive and unified introduction to operating systems topics. Stallings emphasizes both design issues and fundamental principles in contemporary systems and gives readers a solid understanding of the key structures and mechanisms of operating systems. He discusses design trade-offs and the practical decisions affecting design, performance and security. The book illustrates and reinforces design concepts and ties them to real-world design choices through the use of case studies in Linux, UNIX, Android, and Windows 8.

Teaching and Learning Experience

This program presents a better teaching and learning experience–for you and your students. It will help:

  • Illustrate Concepts with Running Case Studies: To illustrate the concepts and to tie them to real-world design choices that must be made, four operating systems serve as running examples.
  • Easily Integrate Projects in your Course: This book provides an unparalleled degree of support for including a projects component in the course.
  • Keep Your Course Current with Updated Technical Content: This edition covers the latest trends and developments in operating systems.
  • Provide Extensive Support Material to Instructors and Students: Student and instructor resources are available to expand on the topics presented in the text.

Comprehensive introduction to the nature and characteristics of modern operating systems. Teaches design principles and implementation using Windows NT, Unix and MVS as examples. Introduces object-orientation, expands network and distributed operating system coverage via the client/server architecture paradigm. Focuses on recent developments in security, process migration, threads, multiprocessor scheduling, real-time systems, concurrency, memory, I/O, and file management. Covers all topics in the OS course recommended in Computing Curricula 1991 report of the ACM/IEEE-CS Joint Curriculum Task Force.

Read More Show Less

Editorial Reviews

An operating systems text blending a theoretical foundation of operating systems design with real-world applications. Explains key mechanisms of modern operating systems, types of design tradeoffs and decisions involved in system design, and the context within which the operating system functions. Running examples of Windows NT, UNIX SVR4, and Solaris 2.x illustrate concepts and tie them to real-world design choices. Includes chapter problems. Useful as a text for a one- semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors. This third edition incorporates changes in the field in the past three years, with expanded material on multithreading, microkernals, clusters, and object-oriented design. This edition also provides information on three software packages that can serve as frameworks for student projects. Annotation c. by Book News, Inc., Portland, Or.
New edition of a text on the concepts, structure, and mechanisms of contemporary operating systems, with coverage of design principles and implementation issues. Intended for both an academic and a professional audience. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780133805918
  • Publisher: Prentice Hall
  • Publication date: 2/6/2014
  • Edition description: New Edition
  • Edition number: 8
  • Pages: 800
  • Sales rank: 519,492
  • Product dimensions: 7.10 (w) x 9.20 (h) x 1.20 (d)

Meet the Author

William Stallings has made a unique contribution to understanding the broad sweep of technical developments in computer networking and computer architecture. He has authored 17 titles, and counting revised editions, a total of 41 books on various aspects of these subjects. In over 20 years in the field, he has been a technical contributor, technical manager, and an executive with several high-technology firms. Currently he is an independent consultant whose clients have included computer and networking manufacturers and customers, software development firms, and leading-edge government research institutions.

He has received the award for the best Computer Science textbook of the year ¿seven times from the Text and Academic Authors Association.

Bill has designed and implemented both TCP/IP-based and OSI-based protocol suites on a variety of computers and operating systems, ranging from microcomputers to mainframes. As a consultant, he has advised government agencies, computer and software vendors, and major users on the design, selection, and use of networking software and products.

As evidence of his commitment to providing a broad range of support to students, Bill created and maintains the Computer Science Student Resource Site at WilliamStallings.com/StudentSupport.html. This site provides documents and links on a variety of subjects of general interest to computer science students (and professionals).

He is a member of the editorial board of Cryptologia, a scholarly journal devoted to all aspects of cryptology. He is a frequent lecturer and author of numerous technical papers. His books include Data and Computer Communications, Ninth Edition (Prentice Hall, 2011), which has become the standard in the field.

Dr. Stallings holds a PhD from M.I.T. in Computer Science and a B.S. from Notre Dame in electrical engineering.

Read More Show Less

Table of Contents

Chapter 0 Guide for Readers and Instructors

0.1 Outline of the Book

0.2 A Roadmap for Readers and Instructors

0.3 Internet and Web Resources


Chapter 1 Computer System Overview

1.1 Basic Elements

1.2 Evolution of the Microprocessor

1.3 Instruction Execution

1.4 Interrupts

1.5 The Memory Hierarchy

1.6 Cache Memory

1.7 Direct Memory Access

1.8 Multiprocessor and Multicore Organization

1.9 Recommended Reading and Web Sites

1.10 Key Terms, Review Questions, and Problems

Appendix 1A Performance Characteristics of Two-Level Memory

Chapter 2 Operating System Overview

2.1 Operating System Objectives and Functions

2.2 The Evolution of Operating Systems

2.3 Major Achievements

2.4 Developments Leading to Modern Operating Systems

2.5 Virtual Machines

2.6 OS Design Considerations for Multiprocessor and Multicore

2.7 Microsoft Windows Overview

2.8 Traditional UNIX Systems

2.9 Modern UNIX Systems

2.10 Linux

2.11 Android

2.12 Recommended Reading and Web Sites

2.13 Key Terms, Review Questions, and Problems


Chapter 3 Process Description and Control

3.1 What Is a Process?

3.2 Process States

3.3 Process Description

3.4 Process Control

3.5 Execution of the Operating System

3.6 UNIX SVR4 Process Management

3.7 Summary

3.8 Recommended Reading and Animations

3.9 Key Terms, Review Questions, and Problems

Chapter 4 Threads

4.1 Processes and Threads

4.2 Types of Threads

4.3 Multicore and Multithreading

4.4 Windows 8 Process and Thread Management

4.5 Solaris Thread and SMP Management

4.6 Linux Process and Thread Management

4.7 Android Process and Thread Management

4.8 Mac OS X Grand Central Dispatch

4.9 Summary

4.10 Recommended Reading

4.11 Key Terms, Review Questions, and Problems

Chapter 5 Concurrency: Mutual Exclusion and Synchronization

5.1 Principles of Concurrency

5.2 Mutual Exclusion: Hardware Support

5.3 Semaphores

5.4 Monitors

5.5 Message Passing

5.6 Readers/Writers Problem

5.7 Summary

5.8 Recommended Reading and Animations

5.9 Key Terms, Review Questions, and Problems

Chapter 6 Concurrency: Deadlock and Starvation

6.1 Principles of Deadlock

6.2 Deadlock Prevention

6.3 Deadlock Avoidance

6.4 Deadlock Detection

6.5 An Integrated Deadlock Strategy

6.6 Dining Philosophers Problem

6.7 UNIX Concurrency Mechanisms

6.8 Linux Kernel Concurrency Mechanisms

6.9 Solaris Thread Synchronization Primitives

6.10 Windows Concurrency Mechanisms

6.11 Android Interprocess Communications

6.12 Summary

6.13 Recommended Reading

6.14 Key Terms, Review Questions, and Problems


Chapter 7 Memory Management

7.1 Memory Management Requirements

7.2 Memory Partitioning

7.3 Paging

7.4 Segmentation

7.5 Summary

7.6 Recommended Reading and Animations

7.8 Key Terms, Review Questions, and Problems

Appendix 7A Loading and Linking

Chapter 8 Virtual Memory

8.1 Hardware and Control Structures

8.2 Operating System Software

8.3 UNIX and Solaris Memory Management

8.4 Linux Memory Management

8.5 Windows Memory Management

8.6 Android Memory Management

8.7 Summary

8.8 Recommended Reading and Web Sites

8.9 Key Terms, Review Questions, and Problems


Chapter 9 Uniprocessor Scheduling

9.1 Types of Scheduling

9.2 Scheduling Algorithms

9.3 Traditional UNIX Scheduling

9.4 Summary

9.5 Recommended Reading and Animations

9.6 Key Terms, Review Questions, and Problems

Chapter 10 Multiprocessor and Real-Time Scheduling

10.1 Multiprocessor and Multicore Scheduling

10.2 Real-Time Scheduling

10.3 Linux Scheduling

10.4 UNIX SVR4 Scheduling

10.5 UNIX FreeBSD Scheduling

10.6 Windows Scheduling

10.7 Summary

10.8 Recommended Reading

10.9 Key Terms, Review Questions, and Problems


Chapter 11 I/O Management and Disk Scheduling

11.1 I/O Devices

11.2 Organization of the I/O Function

11.3 Operating System Design Issues

11.4 I/O Buffering

11.5 Disk Scheduling

11.6 RAID

11.7 Disk Cache

11.8 UNIX I/O

11.9 Linux I/O

11.10 Windows I/O

11.11 Summary

11.12 Recommended Reading

11.13 Key Terms, Review Questions, and Problems

Chapter 12 File Management

12.1 Overview

12.2 File Organization and Access

12.3 B-Trees

12.4 File Directories

12.5 File Sharing

12.6 Record Blocking

12.7 Secondary Storage Management

12.8 UNIX File Management

12.9 Linux Virtual File System

12.10 Windows File System

12.11 Android File Management

12.12 Summary

12.13 Recommended Reading

12.14 Key Terms, Review Questions, and Problems


Chapter 13 Embedded Operating Systems

13.1 Embedded Systems

13.2 Characteristics of Embedded Operating Systems

13.3 Embedded Linux

13.4 TinyOS

13.5 Embedded Linux

13.5 Recommended Reading

13.6 Key Terms, Review Questions, and Problems

Chapter 14 Virtual Machines

14.1 Approaches to Virtualization

14.2 Processor Issues

14.3 Memory Management

14.4 I/O Management

14.5 VMware ESXi

14.6 Microsoft Hyper-V and Xen Variants

14.7 Java VM

14.8 Linux VServer Virtual Machine Architecture

14.9 Android Virtual Machine

14.10 Recommended Reading

14.11 Key Terms, Review Questions, and Problems

Chapter 15 Operating System Security

15.1 Intruders and Malicious Software

15.2 Buffer Overflow

15.3 Access Control

15.4 UNIX Access Control

15.5 Operating Systems Hardening

15.6 Security Maintenance

15.7 Windows Security

15.8 Recommended Reading

15.9 Key Terms, Review Questions, and Problems

Chapter 16 Distributed Processing, Client/Server, and Clusters

16.1 Client/Server Computing

16.2 Distributed Message Passing

16.3 Remote Procedure Calls

16.4 Clusters

16.5 Windows Cluster Server

16.6 Beowulf and Linux Clusters

16.7 Summary

16.8 Recommended Reading

16.9 Key Terms, Review Questions, and Problems


Appendix A Topics in Concurrency

Appendix B Programming and Operating System Projects References




Chapter 17 Network Protocols

17.1 The Need for a Protocol Architecture

17.2 The TCP/IP Protocol Architecture

17.3 Sockets

17.4 Linux Networking

17.5 Summary

17.6 Recommended Reading and Web Sites

17.7 Key Terms, Review Questions, and Problems

Appendix 17A The Trivial File Transfer Protocol

Chapter 18 Distributed Process Management

18.1 Process Migration

18.2 Distributed Global States

18.3 Distributed Mutual Exclusion

18.4 Distributed Deadlock

18.5 Summary

18.6 Recommended Reading

18.7 Key Terms, Review Questions, and Problems

Chapter 19 Overview of Probability and Stochastic Processes

19.1 Probability

19.2 Random Variables

19.3 Elementary Concepts of Stochastic Processes

19.4 Recommended Reading and Web Sites

19.5 Key Terms, Review Questions, and Problems

Chapter 20 Queueing Analysis

20.1 How Queues Behave—A Simple Example

20.2 Why Queuing Analysis?

20.3 Queueing Models

20.4 Single-Server Queues

20.5 Multiserver Queues

20.6 Examples

20.7 Queues with Priorities

20.8 Networks of Queues

20.9 Other Queueing Models

20.10 Estimating Model Parameters

20.11 Recommended Reading and Web Sites

20.12 Key Terms, Review Questions, and Problems

Programming Project One Developing a Shell
Programming Project Two The HOST Dispatcher Shell

Appendix C Topics in Computer Organization
Appendix D Object-Oriented Design

Appendix E Amdahl's Law

Appendix F Hash Tables
Appendix G Response Time
Appendix H Queueing System Concepts
Appendix I The Complexity of Algorithms

Appendix J Disk Storage Devices
Appendix K Cryptographic Algorithms

Appendix L Standards Organizations

Appendix M Sockets: A Programmer's Introduction
Appendix N The International Reference Alphabet

Appendix O BACI: The Ben-Ari Concurrent Programming System

Appendix P Procedure Control

Appendix Q eCOS

[1] Online chapters, appendices, and other documents are Premium Content, available via the access card at the front of the book.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)