Preface vi Part 1 Operating Systems Overview and Background Chapter 1 Getting Started 1.1 Introduction 1.2 What Are Operating Systems All about? 1.3 User veusus System View of an OS 1.4 Some OS Terms. Basic Concepts, and Illustrations 1.5 A Small Historical Diversion 1.6 Summary
Chapter 2 Operating System Concepts, Components and Architectures 2.1 Introduction:What Does the OS DSs 2.2 Resources Managed by the OS and Major OS Modules 2.3 The Process Concept and OS Process Information 2.4 Functional Classes of OSs 2.5 Architectural Approaches to Building an OS 2.6 Some OS Implement Techniques and Issues 2.7 Minimalist versus Maximalist Approaches to OS Functionality and Back ward Compatibility 2.8 Summary Part 2 Building Operating Systems Incrementally:A Breadth-Oriented Spiral Approach
Chapter 3 A Simple,Single-Process Operating System 3.1 Introduction:Monitors and CP 3.2 Characteristics of a Simple PC System 3.3 Input Output Management 3.4 Disk Management and the File System 3.5 Process and Memory Manage me 3.6 Summary
Chapter 4 A Single-User Multitasking Operating System 4.1 Introduction:A Simple Multitasking System 4.2 The Palm OS Environment and System Layout 4.3 Process Scheduling and System Layout 4.6 Basic Input and Output 4.7 Display Management 4.8 Event-Driven Programs 4.9 Summary
Chapter 5 A Single-User Multitasking/Multithreading Operating System 5.1 Introduction 89 5.2 The Origin of the Macintosh Computer 5.3 The Macintosh OS——System 5.4 System2 5.5 System3 5.6 System4 5.7 System5 5.8 System6 5.9 System7 5.10 System8 5.11 System9 5.12 Mac OS X 5.13 Summary
Chapter 6 A Multiple-User Operating System 6.1 Introduction 6.2 The Multiuser OS Envtronment 6.3 Processes and Threads 6.4 Summary
Chapter 7 Parallel and Distributed Computing, Clusters, and Grids 7.1 Introduction 7.2 Key Concepts 7.3 Parallel Distributed Processing 7.4 Distributed System Architectures 7.5 How Operating System Concepts Differ in SMPs, Cluster, and Grids 7.6 Examples 7.7 Summary Part 3 CPU and Memory Management
Chapter 8 Process Management: Concepts, Threads, and Scheduling 8.1 Introduction to Processes 8.2 Process Descriptor-Processes Control Block 8.3 Process States and 8.4 Process Scheduling 8.8 0ne Good Process Deserves Another 8.6 Threads 8.7 Case Studies 8.7 Summary
Chapter 9 Mere Process Management : Interprocess Communication, Synchronization, and Deadlocks 9.1 Why Have Cooperating Processes? 9.2 Interprocess Communication 9.3 Synchronization 9.4 Deadlocks 9.5 Summary
Chapter 10 Basic Memory Management 10.1 Introduction: Why Manage Primary Memory? 10.2 Binding Model: Steps in Development Cycle 10.3 A Single Process 10.4 Multiple Processes with a Fixed Number of Processes 10.5 Multiple Processes with a Variable Number of Processes 10.6 Summary
Chapter 11 Advanced Memory Management 11.1 Why Do We Need Hardware Help? 11.2 Paging 11.3 Segmentation 11.4 Segmentation with Paging 11.5 Demand Paging 11.6 Special Memory Management Topics 11.7 Summary Part 4 A Depth-Oriented Presentation of OS Concepts: Files Systems and Input/Output
Chapter 13 File Systems-Examples and Mom Features 13.1 Introduction 13.2 Case Studies 13.3 Mounting 13.4 Multiple Pile Systems and Redirection 13.5 Memory Mapped Files 13.6 Pile System Utilities 13.7 Log-Based File Systems 13.8 Summary
Chapter 14 Disk Scheduling and input/Output Management 14.1 Introduction 14.2 Device Characteristies 14.3 I/O Technology 14.4 Physical Disk Organization 14.5 Logical Disk Organization 14.6 RAID 309 14.7 Disk Operation Scheduling 14.8 DMA and Disk Hardware Features 14.9 Summary Part 5 Networks, Distributed Systems, and Security
Chapter 15 Introduction to Computer Networks 15.1 Why Do We Want to Network Computers? 15.2 The Basics 15.3 Spplication Layer Protocols 15.4 TCP/IP 15.5 The Data Link Layer 15.6 WANs 15.7 The Physical Layer 15.8 Network Management 15.9 Summary
Chapter 16 16.1 Introduction: Problems and Threats 16.2 OS Protection 16.3 Policies,Mechanisms , and Techniques 16.4 Communication Security 16.8 Security Administration 16.6 Summary
Chapter 17 Distributed Operating Systems 17.1 Introduction 17.2 Distributed Application Models 17.3 Abstractions:Processes, Threads, and Machines 17.4 Naming 17.8 Other Distributed Models 17.6 Synchronization 17.7 Fault Tolerance 17.8 Summary Part 6 Case Studies
Chapter 18 Windows NT through Vista 18.1 Introduction:Windows NT Family History 18.2 The User OS Environment 18.3 Process Scheduling 18.4MemoryManngelaent 18.5 File Support 18.6 Basic Input and Output 18.7 GUI Programming 18.8 Networking 18.9 Symmetric Multiprocessing 18.10 Startup Speed of XP 18.11 Summary
Chapter 19 Linux:A Case Study 19.1 Introduction 19.2 Process Scheduling 19.3 Memory Management 19.4 File Support 19.5 Basic Input and Output 19.6 GUI Programming 19.7 Networking 19.8 Security 19.9 Symmetric Multiprocessing 19.10 Other Linux Variants 19.11 Summary
Chapter 20 Palm OS:A Class Case Study 20.1 Overview 20.2 The Multi-Process OS Environment 20.3 Palm Process Scheduling 20.4 Palm Memory Management 20.5 File Support 20.6 Input/Output Subsystems 20.7 GUI Programming 20.8 Network Programming 20.9 Programming Environment 20.10 Similar Systems and Current Developments 20.11 Summary Appendix Overview of Computer System and Architecture Concepts A.1 Typical Computer System Components A.2 The Processor or Central Processing unit A.3 The Memory Unit and Storage Hierarchies A.4 Input and Output A.5 The Network A.6 A More Detailed Picture A.7 Summary