內容簡介
本書是一本關於作業系統的概念、結構和機制的教材,其目的是儘可能清楚和全面地展示現代作業系統的本質和特點;同時,本書也是講解作業系統的經典教材,不僅系統地講述了作業系統的基本概念、原理和方法,而且以當代最流行的作業系統——Windows 7、UNIX和Linux為例,全面清楚地展現了當代作業系統的本質和特點。與本書配套的專用網站,為幫助教師和學生理解書中內容,提供了及時、生動的材料。
圖書目錄
Chapter 1 Operating System Overview
1.1 Operating System Objectives and Functions
1.2 The Evolution of Operating Systems
1.3 Major Achievements
1.4 Developments Leading to Modern Operating Systems
1.5 Virtual Machines
1.6 OS Design Considerations for Multiprocessor and Multicore
1.7 Microsoft Windows Overview
1.8 Traditional UNIX Systems
1.9 Modern UNIX Systems
1.10 Linux
1.11 Linux VServer Virtual Machine Architecture
1.12 Recommended Reading and Web Sites
1.13 Key Terms, Review Questions, and Problems
Chapter 2 Process Description and Control
2.1 What Is a Process?
2.2 Process States
2.3 Process Description
2.4 Process Control
2.5 Execution of the Operating System
2.6 Security Issues
2.7 UNIX SVR4 Process Management
2.8 Summary
2.9 Recommended Reading
2.10 Key Terms, Review Questions, and Problems
Chapter 3 Threads
3.1 Processes and Threads
3.2 Types of Threads
3.3 Multicore and Multithreading
3.4 Windows 7 Thread and SMP Management
3.5 Solaris Thread and SMP Management
3.6 Linux Process and Thread Management
3.7 Mac OS X Grand Central Dispatch
3.8 Summary
3.9 Recommended Reading
3.10 Key Terms, Review Questions, and Problems
Chapter 4 Concurrency: Mutual Exclu- sion and Synchronization
4.1 Principles of Concurrency
4.2 Mutual Exclusion: Hardware Support
4.3 Semaphores
4.4 Monitors
4.5 Message Passing
4.6 Readers/Writers Problem
4.7 Summary
4.8 Recommended Reading
4.9 Key Terms, Review Questions, and Problems
Chapter 5 Concurrency: Deadlock and Starvation
5.1 Principles of Deadlock
5.2 Deadlock Prevention
5.3 Deadlock Avoidance
5.4 Deadlock Detection
5.5 An Integrated Deadlock Strategy
5.6 Dining Philosophers Problem
5.7 UNIX Concurrency Mechanisms
5.8 Linux Kernel Concurrency Mechanisms
5.9 Solaris Thread Synchronization Primitives
5.10 Windows 7 Concurrency Mechanisms
5.11 Summary
5.12 Recommended Reading
5.13 Key Terms, Review Questions, and Problems
Chapter 6 Memory Management
6.1 Memory Management Requirements
6.2 Memory Partitioning
6.3 Paging
6.4 Segmentation
6.5 Security Issues
6.6 Summary
6.7 Recommended Reading
6.8 Key Terms, Review Questions, and Problems
6A Loading and Linking
Chapter 7 Virtual Memory
7.1 Hardware and Control Structures
7.2 Operating System Software
7.3 UNIX and Solaris Memory Management
7.4 Linux Memory Management
7.5 Windows Memory Management
7.6 Summary
7.7 Recommended Reading and Web Sites
7.8 Key Terms, Review Questions, and Problems
Chapter 8 Uniprocessor Scheduling
8.1 Types of Processor Scheduling
8.2 Scheduling Algorithms
8.3 Traditional UNIX Scheduling
8.4 Summary
8.5 Recommended Reading
8.6 Key Terms, Review Questions, and Problems
Chapter 9 Multiprocessor and Real-Time Scheduling
9.1 Multiprocessor Scheduling
9.2 Real-Time Scheduling
9.3 Linux Scheduling
9.4 UNIX SVR4 Scheduling
9.5 UNIX FreeBSD Scheduling
9.6 Windows Scheduling
9.7 Linux Virtual Machine Process Scheduling
9.8 Summary
9.9 Recommended Reading
9.10 Key Terms, Review Questions, and Problems
Chapter 10 I/O Management and Disk Scheduling
10.1 I/O Devices
10.2 Organization of the I/O Function
10.3 Operating System Design Issues
10.4 I/O Buffering
10.5 Disk Scheduling
10.6 RAID
10.7 Disk Cache
10.8 UNIX SVR4 I/O
10.9 Linux I/O
10.10 Windows I/O
10.11 Summary
10.12 Recommended Reading
10.13 Key Terms, Review Questions, and Problems
Chapter 11 File Management
11.1 Overview
11.2 File Organization and Access
11.3 B-Trees
11.4 File Directories
11.5 File Sharing
11.6 Record Blocking
11.7 Secondary Storage Management
11.8 File System Security
11.9 UNIX File Management
11.10 Linux Virtual File System
11.11 Windows File System
11.12 Summary
11.13 Recommended Reading
11.14 Key Terms, Review Questions, and Problems
References