《操作系统概念 Java实现 第7版》PDF下载

  • 购买积分:25 如何计算积分?
  • 作  者:(美)西尔伯查茨(Silberschatz,A.),(美)高尔文(Galvin,P.B.),(美)加根(Gagne,G.)著
  • 出 版 社:高等教育出版社
  • 出版年份:2007
  • ISBN:9787040215090
  • 页数:966 页
图书介绍:本书是国外计算机操作系统课程的经典教材,被众多高校广泛采用。书中讨论了操作系统中的基本概念与算法,还提供了大量与特定流行的著名操作系统相关的例子,如SunMicrosystems的Solaris2、Linux,Mach,Microsoft的MS-DOS、WindowsNT、Windows2000和WindowsXP,DECVMS和TOPS-20,IBMOS/2,以及AppleMacOSX操作系统。本书历经二十几年不断改编、完善,为读者牢固掌握操作系统的基础理论打下了良好基础,其第七版在操作系统概念及其实现之间架设了一道桥梁。本书介绍了最新的技术和应用,帮助读者克服概念与应用间的鸿沟,全书贯穿客户—服务器的模型,一步一步地阐述整个设计的主要步骤。本教材的教辅资源丰富,包括各章教学课件、源代码电子文档、示范教学大纲等等。该书作者AbrahamSilberschatz是美国耶鲁大学计算机科学系教授,曾于1997年荣获ACM学会SIGMOD贡献奖,1998年荣获ACM学会KarlV.Karlstrom杰出教育家奖。本书是一本操作系统的入门教材,适用于大学三、四年级和研究生一年级学生,同时也适合

PART ONE OVERVIEW 3

Chapter 1 Introduction 3

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 39

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 85

Chapter 3 Processes 85

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

Chapter 4 Threads 133

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 167

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 209

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 273

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 307

Chapter 8 Main Memory 307

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

Chapter 9 Virtual Memory 347

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 405

Chapter 10 File-System Interface 405

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 443

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 489

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 535

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

PART FIVE PROTECTION AND SECURITY 571

Chapter 14 Protection 571

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 599

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 651

Chapter 16 Distributed System Structures 651

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 685

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 707

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

PART SEVEN SPECIAL PURPOSE SYSTEMS 739

Chapter 19 Real-Time Systems 739

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 759

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 781

Chapter 21 The Linux System 781

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 827

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 883

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

PART EIGHT APPENDICES 899

Appendix A BSD UNIX(contents online) 899

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 The Mach System(contents online) 941

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) 969

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) 1011

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) 1037

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 931