Operating Systems: Internals and Design Principles, Global Edition

Operating Systems: Internals and Design Principles, Global Edition

3.65 (343 ratings by Goodreads)
By (author) 

List price: US$79.99

Currently unavailable

We can notify you when this item is back in stock

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks

Description

Intended for use in a one- or two-semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors



Operating Systems: Internals and Design Principles 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.
show more

Product details

  • Mixed media product | 800 pages
  • 178 x 230 x 28mm | 999.98g
  • Harlow, United Kingdom
  • English
  • 8th edition
  • w. figs. and tables
  • 1292061359
  • 9781292061351
  • 569,177

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



PART ONE BACKGROUND

Chapter 1 Computer System Overview1.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 Overview2.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



PART TWO PROCESSES

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 Threads4.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 Synchronization5.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 Starvation6.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



PART THREE MEMORY

Chapter 7 Memory Management7.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 Memory8.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



PART FOUR SCHEDULING

Chapter 9 Uniprocessor Scheduling9.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 Scheduling10.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



PART FIVE INPUT/OUTPUT AND FILES

Chapter 11 I/O Management and Disk Scheduling11.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 Management12.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



PART SIX ADVANCED TOPICS

Chapter 13 Embedded Operating Systems13.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 Machines14.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 Security15.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 Clusters16.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



APPENDICESAppendix A Topics in Concurrency


Appendix B Programming and Operating System Projects ReferencesIndex

Acronyms



ONLINE CHAPTERS AND APPENDICES[1]

Chapter 17 Network Protocols17.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 Processes19.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 Analysis20.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 AlgorithmsAppendix 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 Glossary
show more

Rating details

343 ratings
3.65 out of 5 stars
5 27% (91)
4 32% (110)
3 27% (93)
2 9% (30)
1 6% (19)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X