有名的恐龙书,经典之作。本书为第七版的英文原版。
《操作系统概念》讨论了操作系统中的基本概念和算法,并对大量实例(如Linux系统)进行了研究。《操作系统概念》内容共分七部分。第一部分概要解释了操作系统是什么、做什么、是怎样设计与构造的,也解释了操作系统概念是如何发展起来的,操作系统的公共特性是什么。第二部分进程管理描述了作为现代操作系统核心的进程以及并发的概念。第三部分存储管理描述了存储管理的经典结构与算法以及不同的存储管理方案。第四部分I/O系统对I/O进行了深入的讨论,包括I/O系统设计、接口、内部结构与功能等。第五部分分布式系统介绍了分布式系统的一般结构以及连接它们的网络,讨论了分布存取策略、分布式文件系统及分布式系统中同步、通信等机制。第六部分保护与安全介绍了操作系统中对文件、内存、CPU及其他资源进行操作的安全与保护机制。第七部分案例研究,分析与讨论了Linux系统、Windows 2000、WindowsXP、FreeBSD、Mach及Nachos等实例。
Operating System Concepts 7/e, the best-selling introductory text in the market, continues to evolve with emerging course needs and to provide a solid theoretical foundation for understanding operating systems. The seventh edition has been updated to offer coverage of the most current topics and applications, improved conceptual coverage and additional content to bridge the gap between concepts and actual implementations. The new two-color design allows for easier navigation and supports student motivation. New exercises, lab projects and review questions help to further reinforce important concepts. Wiley Plus, including a test bank, self-check exercises, and a student solutions manual, is now part of the comprehensive support package.
New Adaptations
* Increased coverage of user perspective in Chapter 1.
* Increased coverage of OS design throughout.
* A new chapter on real-time and embedded systems (Chapter 19).
* A new chapter on multimedia (Chapter 20).
* Additional coverage of security and protection.
* Additional coverage of distributed programming.
* New exercises at the end of each chapter.
* New programming exercises and projects at the end of each chapter.
* New student-focused pedagogy and a new two-color design to enhance the learning
以下是《操作系统概念》第七版 目录:
PART ONE OVERVIEW
Chapter 1 Introduction
1.1 What Operating Systems Do 3
1.2 Computer-System Organization 6
1.3 Computer-System Architecture 12
1.4 Operating-System Structure 15
1.5 Operating-System Operations 17
1.6 Process Management 20
1.7 Memory Management 21
1.8 Storage Management 22
1.9 Protection and Security 26
1.10 Distributed Systems 28
1.11 Special-Purpose Systems 29
1.12 Computing Environments 31
1.13 Summary 34
Exercises 36
Bibliographical Notes 38
Chapter 2 Operating-System Structures
2.1 Operating-System Services 39
2.2 User Operating-System Interface 41
2.3 System Calls 43
2.4 Types of System Calls 47
2.5 System Programs 55
2.6 Operating-System Design and
Implementation 56
2.7 Operating-System Structure 58
2.8 Virtual Machines 64
2.9 Java 67
2.10 Operating-System Generation 73
2.11 System Boot 74
2.12 Summary 75
Exercises 76
Bibliographical Notes 81
PART TWO PROCESS MANAGEMENT
Chapter 3 Processes
3.1 Process Concept 85
3.2 Process Scheduling 89
3.3 Operations on Processes 94
3.4 Interprocess Communication 101
3.5 Examples of IPC Systems 110
3.6 Communication in Client-
Server Systems 113
3.7 Summary 124
Exercises 125
Bibliographical Notes 130
xvii
xviii Contents
Chapter 4 Threads
4.1 Overview 133
4.2 Multithreading Models 135
4.3 Thread Libraries 137
4.4 Java Threads 140
4.5 Threading Issues 147
4.6 Operating-System Examples 156
4.7 Summary 159
Exercises 159
Bibliographical Notes 165
Chapter 5 CPU Scheduling
5.1 Basic Concepts 167
5.2 Scheduling Criteria 171
5.3 Scheduling Algorithms 172
5.4 Multiple-Processor Scheduling 183
5.5 Thread Scheduling 186
5.6 Operating System Examples 187
5.7 Java Scheduling 195
5.8 Algorithm Evaluation 199
5.9 Summary 203
Exercises 204
Bibliographical Notes 207
Chapter 6 Process Synchronization
6.1 Background 209
6.2 The Critical-Section Problem 211
6.3 Peterson’s Solution 213
6.4 Synchronization Hardware 214
6.5 Semaphores 217
6.6 Classic Problems of
Synchronization 222
6.7 Monitors 231
6.8 Java Synchronization 236
6.9 Synchronization Examples 250
6.10 Atomic Transactions 255
6.11 Summary 263
Exercises 264
Bibliographical Notes 271
Chapter 7 Deadlocks
7.1 System Model 273
7.2 Deadlock Characterization 275
7.3 Methods for Handling Deadlocks 280
7.4 Deadlock Prevention 284
7.5 Deadlock Avoidance 287
7.6 Deadlock Detection 293
7.7 Recovery from Deadlock 296
7.8 Summary 298
Exercises 299
Bibliographical Notes 303
PART THREE MEMORY MANAGEMENT
Chapter 8 Main Memory
8.1 Background 307
8.2 Swapping 314
8.3 Contiguous Memory Allocation 316
8.4 Paging 320
8.5 Structure of the Page Table 329
8.6 Segmentation 334
8.7 Example: The Intel Pentium 337
8.8 Summary 341
Exercises 342
Bibliographical Notes 344
Contents xix
Chapter 9 VirtualMemory
9.1 Background 347
9.2 Demand Paging 351
9.3 Copy-on-Write 357
9.4 Page Replacement 359
9.5 Allocation of Frames 372
9.6 Thrashing 375
9.7 Memory-Mapped Files 379
9.8 Allocating Kernel Memory 384
9.9 Other Considerations 387
9.10 Operating-System Examples 393
9.11 Summary 396
Exercises 397
Bibliographical Notes 401
PART FOUR STORAGE MANAGEMENT
Chapter 10 File-System Interface
10.1 The Concept of a File 405
10.2 Access Methods 413
10.3 Directory Structure 417
10.4 File-System Mounting 427
10.5 File Sharing 429
10.6 Protection 434
10.7 Summary 439
Exercises 440
Bibliographical Notes 441
Chapter 11 File-System Implementation
11.1 File-System Structure 443
11.2 File-System Implementation 445
11.3 Directory Implementation 451
11.4 Allocation Methods 453
11.5 Free-Space Management 461
11.6 Efficiency and Performance 463
11.7 Recovery 467
11.8 Log-Structured File Systems 469
11.9 NFS 470
11.10 Example: The WAFL File System 476
11.11 Summary 478
Exercises 479
Bibliographical Notes 487
Chapter 12 Mass-Storage Structure
12.1 Overview of Mass-Storage
Structure 489
12.2 Disk Structure 492
12.3 Disk Attachment 493
12.4 Disk Scheduling 494
12.5 Disk Management 500
12.6 Swap-Space Management 504
12.7 RAID Structure 506
12.8 Stable-Storage Implementation 515
12.9 Tertiary-Storage Structure 516
12.10 Summary 526
Exercises 527
Bibliographical Notes 533
Chapter 13 I/O Systems
13.1 Overview 535
13.2 I/O Hardware 536
13.3 Application I/O Interface 545
13.4 Kernel I/O Subsystem 551
13.5 Transforming I/O Requests to
Hardware Operations 558
13.6 STREAMS 560
13.7 Performance 562
13.8 Summary 565
Exercises 566
Bibliographical Notes 567
xx Contents
PART FIVE PROTECTION AND SECURITY
Chapter 14 Protection
14.1 Goals of Protection 571
14.2 Principles of Protection 572
14.3 Domain of Protection 573
14.4 Access Matrix 578
14.5 Implementation of Access Matrix 582
14.6 Access Control 585
14.7 Revocation of Access Rights 586
14.8 Capability-Based Systems 587
14.9 Language-Based Protection 590
14.10 Summary 595
Exercises 596
Bibliographical Notes 597
Chapter 15 Security
15.1 The Security Problem 599
15.2 Program Threats 603
15.3 System and Network Threats 611
15.4 Cryptography as a Security Tool 617
15.5 User Authentication 628
15.6 Implementing Security Defenses 632
15.7 Firewalling to Protect Systems and
Networks 639
15.8 Computer-Security
Classifications 641
15.9 An Example: Windows XP 642
15.10 Summary 644
Exercises 645
Bibliographical Notes 646
PART SIX DISTRIBUTED SYSTEMS
Chapter 16 Distributed System Structures
16.1 Motivation 651
16.2 Types of Network- based
Operating Systems 653
16.3 Network Structure 657
16.4 Network Topology 660
16.5 Communication Structure 662
16.6 Communication Protocols 668
16.7 Robustness 671
16.8 Design Issues 673
16.9 An Example: Networking 676
16.10 Summary 677
Exercises 678
Bibliographical Notes 684
Chapter 17 Distributed File Systems
17.1 Background 685
17.2 Naming and Transparency 687
17.3 Remote File Access 690
17.4 Stateful Versus Stateless Service 695
17.5 File Replication 696
17.6 An Example: AFS 698
17.7 Summary 703
Exercises 704
Bibliographical Notes 705
Chapter 18 Distributed Coordination
18.1 Event Ordering 707
18.2 Mutual Exclusion 710
18.3 Atomicity 713
18.4 Concurrency Control 716
18.5 Deadlock Handling 720
18.6 Election Algorithms 727
18.7 Reaching Agreement 730
18.8 Summary 732
Exercises 733
Bibliographical Notes 734
Contents xxi
PART SEVEN SPECIAL -PURPOSE SYSTEMS
Chapter 19 Real-Time Systems
19.1 Overview 739
19.2 System Characteristics 740
19.3 Features of Real-Time Kernels 742
19.4 Implementing Real-Time Operating
Systems 744
19.5 Real-Time CPU Scheduling 748
19.6 VxWorks 5.x 754
19.7 Summary 756
Exercises 757
Bibliographical Notes 757
Chapter 20 Multimedia Systems
20.1 What Is Multimedia? 759
20.2 Compression 762
20.3 Requirements of Multimedia
Kernels 764
20.4 CPU Scheduling 766
20.5 Disk Scheduling 767
20.6 Network Management 769
20.7 An Example: CineBlitz 772
20.8 Summary 774
Exercises 775
Bibliographical Notes 777
PART EIGHT CASE STUDIES
Chapter 21 The Linux System
21.1 Linux History 781
21.2 Design Principles 786
21.3 Kernel Modules 789
21.4 Process Management 792
21.5 Scheduling 795
21.6 Memory Management 800
21.7 File Systems 808
21.8 Input and Output 814
21.9 Interprocess Communication 817
21.10 Network Structure 818
21.11 Security 821
21.12 Summary 823
Exercises 824
Bibliographical Notes 825
Chapter 22 Windows XP
22.1 History 827
22.2 Design Principles 829
22.3 System Components 831
22.4 Environmental Subsystems 855
22.5 File System 858
22.6 Networking 866
22.7 Programmer Interface 873
22.8 Summary 880
Exercises 880
Bibliographical Notes 881
Chapter 23 Influential Operating Systems
23.1 Early Systems 883
23.2 Atlas 889
23.3 XDS-940 890
23.4 THE 891
23.5 RC 4000 892
23.6 CTSS 893
23.7 MULTICS 893
23.8 IBM OS/360 894
23.9 Mach 895
23.10 Other Systems 897
Exercises 897
xxii Contents
PART EIGHT APPENDICES
Appendix A BSD UNIX (contents online)
A.1 UNIX History 899
A.2 Design Principles 904
A.3 Programmer Interface 906
A.4 User Interface 913
A.5 Process Management 916
A.6 Memory Management 920
A.7 File System 922
A.8 I/O System 930
A.9 Interprocess Communication 933
A.10 Summary 938
Exercises 939
Bibliographical Notes 940
Appendix B TheMach System (contents online)
B.1 History of the Mach System 941
B.2 Design Principles 943
B.3 System Components 944
B.4 Process Management 947
B.5 Interprocess Communication 953
B.6 Memory Management 958
B.7 Programmer Interface 963
B.8 Summary 964
Exercises 965
Bibliographical Notes 966
Credits 967
Appendix C Windows 2000 (contents online)
C.1 History 969
C.2 Design Principles 970
C.3 System Components 971
C.4 Environmental Subsystems 987
C.5 File System 989
C.6 Networking 996
C.7 Programmer Interface 1001
C.8 Summary 1008
Exercises 1008
Bibliographical Notes 1009
Appendix D Distributed Communication (contents online)
D.1 Sockets 1011
D.2 UDP Sockets 1018
D.3 Remote Method Invocation 1022
D.4 Other Aspects of Distributed
Communication 1027
D.5 Web Services 1029
D.6 Summary 1033
Exercises 1034
Bibliographical Notes 1035
Appendix E Java Primer (contents online)
E.1 Basics 1037
E.2 Inheritance 1046
E.3 Interfaces and Abstract Classes 1048
E.4 Exception Handling 1052
E.5 Applications and Applets 1053
E.6 Summary 1055
Bibliographical Notes 1055
Bibliography 899
Credits 929
Index 929