Operating Systems: Internals and Design Principles, 9th edition

  • William Stallings

Choose the option that's right for you

$9.99 / mo

4-month term, pay monthly or pay $39.96

Enjoy these features

  • Up to 2 devices
  • Discounted tutor access
  • Exclusive offers

$14.99 / mo

4-month term, pay monthly or pay $59.96

Enjoy these features

  • Up to 2 devices
  • Discounted tutor access
  • Exclusive offers

Learn more, spend less

  • Study smarter, not harder

    Save time with study tools in your eTextbook

  • Listen on the go

    Learn how you like with full eTextbook audio

  • Learn anytime, anywhere

    Get the app to access your eTextbook whenever you need it

  • Make it your own

    Your notes. Your highlights. Your eTextbook

  • Find it fast

    Quickly navigate your eTextbook with search

Overview

Operating Systems introduces operating systems topics for readers studying computer science, computer engineering, and electrical engineering. It illustrates and reinforces design concepts while discussing design trade-offs and the practical decisions affecting design, performance and security.

Published by Pearson (July 14th 2021) - Copyright © 2018

ISBN-13: 9780137516742

Subject: Industrial Engineering

Category: Operating Systems

Table of contents

Table of Contents

  • Online Chapters and Appendices
  • VideoNotes
  • Preface
  • About the Author

I. Background

  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. Key Terms, Review Questions, and Problems
    • 1A. Performance Characteristics of Two-Level Memories
  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. Fault Tolerance
    • 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. Key Terms, Review Questions, and Problems

II. Processes

  1. 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. Key Terms, Review Questions, and Problems
  2. Threads
    • 4.1. Processes and Threads
    • 4.2. Types of Threads
    • 4.3. Multicore and Multithreading
    • 4.4. Windows 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. Key Terms, Review Questions, and Problems
  3. Concurrency: Mutual Exclusion and Synchronization
    • 5.1. Mutual Exclusion: Software Approaches
    • 5.2. Principles of Concurrency
    • 5.3. Mutual Exclusion: Hardware Support
    • 5.4. Semaphores
    • 5.5. Monitors
    • 5.6. Message Passing
    • 5.7. Readers/Writers Problem
    • 5.8. Summary
    • 5.9. Key Terms, Review Questions, and Problems
  4. 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 Communication
    • 6.12. Summary
    • 6.13. Key Terms, Review Questions, and Problems

III. Memory

  1. Memory Management
    • 7.1. Memory Management Requirements
    • 7.2. Memory Partitioning
    • 7.3. Paging
    • 7.4. Segmentation
    • 7.5. Summary
    • 7.6. Key Terms, Review Questions, and Problems
    • 7A. Loading and Linking
  2. 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. Key Terms, Review Questions, and Problems

IV. Scheduling

  1. Uniprocessor Scheduling
    • 9.1. Types of Processor Scheduling
    • 9.2. Scheduling Algorithms
    • 9.3. Traditional Unix Scheduling
    • 9.4. Summary
    • 9.5. Key Terms, Review Questions, and Problems
  2. Multiprocessor, Multicore, 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. Key Terms, Review Questions, and Problems

V. Input/Output and Files

  1. 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 Svr4 I/O
    • 11.9. Linux I/O
    • 11.10. Windows I/O
    • 11.11. Summary
    • 11.12. Key Terms, Review Questions, and Problems
  2. 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. Key Terms, Review Questions, and Problems

VI. Embedded Systems

  1. Embedded Operating Systems
    • 13.1. Embedded Systems
    • 13.2. Characteristics of Embedded Operating Systems
    • 13.3. Embedded Linux
    • 13.4. Tinyos
    • 13.5. Key Terms, Review Questions, and Problems
  2. Virtual Machines
    • 14.1. Virtual Machine Concepts
    • 14.2. Hypervisors
    • 14.3. Container Virtualization
    • 14.4. Processor Issues
    • 14.5. Memory Management
    • 14.6. I/O Management
    • 14.7. Vmware Esxi
    • 14.8. Microsoft Hyper-V and Xen Variants
    • 14.9. Java Vm
    • 14.10. Linux Vserver Virtual Machine Architecture
    • 14.11. Summary
    • 14.12. Key Terms, Review Questions, and Problems
  3. 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. Summary
    • 15.9. Key Terms, Review Questions, and Problems
  4. Cloud and IoT Operating Systems
    • 16.1. Cloud Computing
    • 16.2. Cloud Operating Systems
    • 16.3. The Internet of Things
    • 16.4. IoT Operating Systems
    • 16.5. Key Terms and Review Questions

Appendix A. Topics in Concurrency

Appendix B. Programming and Operating System Projects

References

Credits

Index

Your questions answered

Introducing Pearson+. Reimagined learning, designed for you. Choose from one eTextbook or over 1,500 eTextbooks and study tools, all in one place, for one low monthly subscription. A new way to buy books that fits your budget. Make the most of your study time with offline access, enhanced search, notes and flashcards — to get organized, get the work done quicker and get results. Plus, with the app, put textbooks in your pocket and learn wherever. It's time to upgrade the textbook and simplify learning, so you can have time to live too.

Pearson eTextbook is an easy-to-use digital textbook available from Pearson+. Make it your own by adding notes and highlights. Download the Pearson+ mobile app to learn on the go, even offline. Listen on the go with our new audiobook feature, available for most titles.

When you choose a plan, you're signing up for a 4-month 'term'. You can opt to make a one-time payment for the initial 4-month term or pay monthly. If you opt for monthly payments, we will charge your payment method each month until your 4-month term has ended. You can turn on auto-renew in My account at any time to continue your subscription before your 4-month term has ended.

When you purchase a Pearson+ subscription, it will last 4 months. Before your initial 4-month term ends, you can extend your subscription by turning auto-renew on in My account.

If you turn auto-renew on, we’ll automatically renew your subscription and charge you every month until you turn off auto-renew. If you made a one-time payment for your initial 4-month term, you’ll now pay monthly.

To avoid the next payment charge, make sure you turn auto renewal off 1 day before the auto renewal date. You can subscribe again after auto-renew has been turned off by purchasing another Pearson+ subscription. We use your credit card to renew your subscription automatically. To make sure your learning is uninterrupted, please check your card details before your first monthly payment.

With a Multi Pearson+ subscription plan, you can download up to 10 titles on the Pearson+ app from My list on each of your authorized devices every month.

When you're using your Multi Pearson+ subscription plan in a browser, you can select and read from as many titles as you like.