これが
アメリカの大学で OS の入門コースで一番使われている教科書の様です。
今ざっと読んでます。終わってから、じっくりと演習問題も含めて読んでみたいです。
Table of Contents
Cover Page
Title Page
Copyright
Dedication
Preface
Content of This Book
The Ninth Edition
Programming Environments
Notes to Instructors
Notes to Students
Contacting Us
Acknowledgments
Contents
PART ONE: OVERVIEW
Chapter 1 Introduction
1.1 What Operating Systems Do
1.2 Computer-System Organization
1.3 Computer-System Architecture
1.4 Operating-System Structure
1.5 Operating-System Operations
1.6 Process Management
1.7 Memory Management
1.8 Storage Management
1.9 Protection and Security
1.10 Kernel Data Structures
1.11 Computing Environments
1.12 Open-Source Operating Systems
1.13 Summary
Exercises
Bibliographical Notes
Chapter 2 Operating-System Structures
2.1 Operating-System Services
2.2 User and Operating-System Interface
2.3 System Calls
2.4 Types of System Calls
2.5 System Programs
2.6 Operating-System Design and Implementation
2.7 Operating-System Structure
2.8 Operating-System Debugging
2.9 Operating-System Generation
2.10 System Boot
2.11 Summary
Exercises
Bibliographical Notes
PART TWO: PROCESS MANAGEMENT
Chapter 3 Processes
3.1 Process Concept
3.2 Process Scheduling
3.3 Operations on Processes
3.4 Interprocess Communication
3.5 Examples of IPC Systems
3.6 Communication in Client–Server Systems
3.7 Summary
Exercises
Bibliographical Notes
Chapter 4 Threads
4.1 Overview
4.2 Multicore Programming
4.3 Multithreading Models
4.4 Thread Libraries
4.5 Implicit Threading
4.6 Threading Issues
4.7 Operating-System Examples
4.8 Summary
Exercises
Bibliographical Notes
Chapter 5 Process Synchronization
5.1 Background
5.2 The Critical-Section Problem
5.3 Peterson's Solution
5.4 Synchronization Hardware
5.5 Mutex Locks
5.6 Semaphores
5.7 Classic Problems of Synchronization
5.8 Monitors
5.9 Synchronization Examples
5.11 Summary
Exercises
Bibliographical Notes
Chapter 6 CPU Scheduling
6.1 Basic Concepts
6.2 Scheduling Criteria
6.3 Scheduling Algorithms
6.4 Thread Scheduling
6.6 Real-Time CPU Scheduling
6.7 Operating-System Examples
6.8 Algorithm Evaluation
6.9 Summary
Exercises
Bibliographical Notes
Chapter 7 Deadlocks
7.1 System Model
7.2 Deadlock Characterization
7.3 Methods for Handling Deadlocks
7.4 Deadlock Prevention
7.5 Deadlock Avoidance
7.6 Deadlock Detection
7.7 Recovery from Deadlock
7.8 Summary
Exercises
Bibliographical Notes
PART THREE: MEMORY MANAGEMENT
Chapter 8 Main Memory
8.1 Background
8.2 Swapping
8.3 Contiguous Memory Allocation
8.4 Segmentation
8.5 Paging
8.6 Structure of the Page Table
8.7 Example:
Intel 32 and 64-bit Architectures
8.8 Example: ARM Architecture
8.9 Summary
Exercises
Bibliographical Notes
Chapter 9 Virtual Memory
9.1 Background
9.2 Demand Paging
9.3 Copy-on-Write
9.4 Page Replacement
9.5 Allocation of Frames
9.6 Thrashing
9.7 Memory-Mapped Files
9.8 Allocating Kernel Memory
9.9 Other Considerations
9.10 Operating-System Examples
9.11 Summary
Exercises
Bibliographical Notes
PART FOUR: STORAGE MANAGEMENT
Chapter 10 Mass-Storage Structure
10.1 Overview of Mass-Storage Structure
10.2 Disk Structure
10.3 Disk Attachment
10.4 Disk Scheduling
10.5 Disk Management
10.6 Swap-Space Management
10.8 Stable-Storage Implementation
10.9 Summary
Exercises
Bibliographical Notes
Chapter 11 File-System Interface
11.1 File Concept
11.3 Directory and Disk Structure
11.4 File-System Mounting
11.5 File Sharing
11.6 Protection
11.7 Summary
Exercises
Bibliographical Notes
Chapter 12 File-System Implementation
12.1 File-System Structure
12.2 File-System Implementation
12.3 Directory Implementation
12.4 Allocation Methods
12.5 Free-Space Management
12.6 Efficiency and Performance
12.7 Recovery
12.9 Example: The WAFL File System
12.10 Summary
Exercises
Bibliographical Notes
Chapter 13 I/O Systems
13.1 Overview
13.2 I/O Hardware
13.3 Application I/O Interface
13.4 Kernel I/O Subsystem
13.5 Transforming I/O Requests to Hardware Operations
13.6 STREAMS
13.7 Performance
13.8 Summary
Exercises
Bibliographical Notes
PART FIVE: PROTECTION AND SECURITY
Chapter 14 Protection
14.1 Goals of Protection
14.2 Principles of Protection
14.3 Domain of Protection
14.5 Implementation of the
Access Matrix
14.7 Revocation of
Access Rights
14.8 Capability-Based Systems
14.9 Language-Based Protection
14.10 Summary
Exercises
Bibliographical Notes
Chapter 15 Security
15.1 The Security Problem
15.2 Program Threats
15.3 System and Network Threats
15.4 Cryptography as a Security Tool
15.5 User Authentication
15.6 Implementing Security Defenses
15.7 Firewalling to Protect Systems and Networks
15.8 Computer-Security Classifications
15.10 Summary
Exercises
Bibliographical Notes
PART SIX: ADVANCED TOPICS
Chapter 16 Virtual Machines
16.1 Overview
16.3 Benefits and Features
16.4 Building Blocks
16.5 Types of Virtual Machines and Their Implementations
16.6 Virtualization and Operating-System Components
16.7 Examples
16.8 Summary
Exercises
Bibliographical Notes
Chapter 17 Distributed Systems
17.1 Advantages of Distributed Systems
17.2 Types of Network-based Operating Systems
17.3 Network Structure
17.4 Communication Structure
17.5 Communication Protocols
17.7 Robustness
17.8 Design Issues
17.9 Distributed File Systems
17.10 Summary
Exercises
Bibliographical Notes
PART SEVEN: CASE STUDIES
Chapter 18 The
Linux System
18.2 Design Principles
18.3 Kernel Modules
18.4 Process Management
18.5 Scheduling
18.6 Memory Management
18.7 File Systems
18.8 Input and Output
18.9 Interprocess Communication
18.10 Network Structure
18.11 Security
18.12 Summary
Exercises
Bibliographical Notes
19.2 Design Principles
19.3 System Components
19.4 Terminal Services and Fast User Switching
19.5 File System
19.6 Networking
19.7 Programmer Interface
19.8 Summary
Exercises
Bibliographical Notes
Chapter 20 Influential Operating Systems
20.1 Feature Migration
20.2 Early Systems
20.3 Atlas
20.4 XDS-940
20.5 THE
20.6 RC 4000
20.7 CTSS
20.10 TOPS-20
20.14 Other Systems
Exercises
Bibliographical Notes
Credits
Index