《操作系统 精髓与设计原理 Internals and Design Principles》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:William Stallings
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1998
  • ISBN:7302029768
  • 页数:784 页
图书介绍:内容简介 本书力求使读者通晓近代操作系统的设计原理和实现 问题,兼顾操作系统的理论基础和实际技术,主要内容包 括:进程,多线程,多处理系统,微内核结构,存储管理 和进程调度(包括多处理机调度和实时调度),I/O系统和 文件系统,分布式系统,操作系统的安全问题以及面向对象 的设计技术。书中选择的操作系统实例包括Wind0wSNTM, UNIXSVR4,S0laaris2X,反映了操作系统技术的当前水平。 本书内容选择精当,讲述条理清晰,是作为操作系统 课程教材或专业参考书的极好选择。

PART ONE BACKGROUND 1

Chapter 1 Computer System Overview 3

1.1 Basic Elements 3

1.2 Processor Registers 4

1.3 Instruction Execution 7

1.4 Interrupts 10

1.5 The Memory Hierarchy 21

1.6 Cache Memory 24

1.7 I/O Communication Techiques 28

1.8 Recommended Reading 31

1.9 Problems 32

Appendix 1A Performance Characteristics of Two-Level Memory 34

Appendix 1B Procedure Control 41

Chapter 2 Operating System Overview 45

2.1 Operating System Objectives and Functions 45

2.2 The Evolution of Operating Systems 50

2.3 Major Achievements 60

2.4 Characteristics of Modern Operating Systems 71

2.5 Windows NT Overview 74

2.6 Traditional UNIX Systems 85

2.7 Modern UNIX Systems 88

2.8 Outline of the Remainder of the Book 90

2.9 Recommended Reading 94

2.10 Problems 95

PART TWO PROCESSES 99

Chapter 3 Process Description And Control 101

3.1 Process States 102

3.2 Process Description 117

3.3 Process Control 127

3.4 UNIX SVR4 Process Management 135

3.5 Summary 140

3.6 Recommended Reading 141

3.7 Problems 141

Chapter 4 Threads, SMP, and Microkernels 145

4.1 Processes and Threads 145

4.2 Symmetric Multiprocessing(SMP) 160

4.3 Microkernels 163

4.4 Solaris Thread and SMP Management 170

4.5 Windows NT Thread and SMP Management 176

4.6 Summary 182

4.7 Recommended Reading 183

4.8 Problems 183

Chapter 5 Concurrency:Mutual Exclusion and Synchronization 187

5.1 Principles of Concurrency 188

5.2 Mutual Exclusion:Software Approaches 197

5.3 Mutual Exclusion:Hardware Support 204

5.4 Semaphores 208

5.5 Monitors 222

5.6 Message Passing 230

5.7 Readers/Writers Problem 237

5.9 Recommended Reading 242

5.8 Summary 242

5.10 Problems 243

Chapter 6 Concurrency:Deadlock And Starvation 253

6.1 Principles of Deadlock 253

6.2 Deadlock Prevention 260

6.3 Deadlock Avoidance 262

6.4 Deadlock Detection 266

6.5 An Integrated Deadlock Strategy 269

6.6 Dining Philosophers Problem 270

6.7 UNIX Concurrency Mechanisms 271

6.8 Solaris Thread Synchronization Primitives 275

6.9 Windows NT Concurrency Mechanisms 278

6.10 Summary 279

6.11 Recommended Reading 281

6.12 Problems 281

PART THREE MEMORY 287

Chapter 7 Memory Management 289

7.1 Memory Management Requirements 289

7.2 Memory Partitioning 292

7.3 Paging 304

7.4 Segmentation 307

7.5 Summary 309

7.6 Recommended Reading 309

7.7 Problems 310

Appendix 7A Loading and Linking 311

Chapter 8 Virtual Memory 319

8.1 Hardware and Control Structures 320

8.2 Operating System Software 339

8.3 UNIX and Solaris Memory Management 360

8.4 Windows NT Memory Management 365

8.5 Summary 368

8.6 Recommended Reading 369

8.7 Problems 369

Appendix 8A Hash Tables 372

PART FOUR SCHEDULING 377

Chapter 9 Uniprocessor Scheduling 379

9.1 Types of Scheduling 380

9.2 Scheduling Algorithms 384

9.3 Traditional UNIX Scheduling 406

9.4 Summary 408

9.5 Recommended Reading 409

9.6 Problems 409

Appendix 9A Response Time 413

Chapter 10 Multiprocessor and Real-Time Scheduling 417

10.1 Multiprocessor Scheduling 417

10.2 Real-Time Scheduling 429

10.3 UNIX SVR4 Scheduling 442

10.4 Windows NT Scheduling 444

10.5 Summary 446

10.7 Problems 447

10.6 Recommended Reading 447

PART FIVE INPUT/OUTPUT AND FILES 449

Chapter 11 I/O Management and Disk Scheduling 451

11.1 I/O Devices 451

11.2 Organization of the I/O Function 453

11.3 Operating System Design Issues 456

11.4 I/O Buffering 460

11.5 Disk Scheduling 463

11.6 RAID 471

11.7 Disk Cache 479

11.8 UNIX SVR4 I/O 482

11.9 Windows NT I/O 486

11.10 Summary 488

11.11 Recommended Reading 489

11.12 Problems 490

Appendix 11A Disk Storage Devices 492

Chapter 12 File Management 501

12.1 Overview 501

12.2 File Organization 507

12.3 File Directories 512

12.4 File Sharing 515

12.5 Record Blocking 518

12.7 UNIX File Management 527

12.8 Windows NT File System 529

12.10 Recommended Reading 535

12.9 Summary 535

12.11 Problems 539

PART SIX DISTRIBUTED SYSTEMS 539

Chapter 13 Distributed Processing, Client/Server, and Clusters 543

13.1 The Need for a Protocol Architecture 544

13.2 The TCP/IP Protocol Suite 545

13.3 The OSI Protocol Architecture 553

13.4 Client/Server Computing 553

13.5 Distributed Message Passing 565

13.6 Remote Procedure Calls 569

13.7 Clusters 573

13.8 Windows NT Wolfpack 577

13.9 Solaris MC 579

12.6 Secondary Storage Management 579

13.10 Summary 582

13.11 Recommended Reading 583

13.12 Problems 583

Chapter 14 Distributed Process Management 585

14.1 Process Migration 585

14.2 Distributed Global States 592

14.3 Distributed Mutual Exclusion 597

14.4 Distributed Deadlock 607

14.5 Summary 620

14.6 Recommended Reading 620

14.7 Problems 621

PART SEVEN SECURITY 623

Chapter 15 Security 625

15.1 Security Threats 626

15.2 Protection 632

15.3 Intruders 636

15.4 Viruses and Related Threats 650

15.5 Trusted Systems 658

15.6 Network Security 660

15.7 Windows NT Security 668

15.8 Summary 674

15.9 Recommended Reading 675

15.10 Problems 675

Appendix 15A Encryption 677

Appendix A Queuing Analysis 683

A.1 Why Queuing Analysis? 684

A.2 Queuing Models 686

A.3 Single-Server Queues 691

A.4 Multiserver Queues 694

A.5 Networks of Queues 695

A.6 Examples 699

A.7 Other Queuing Models 702

A.8 Recommended Reading 702

Annex A Just Enough Probability and Statistics 703

B.1 Motivation 709

B.2 Object-Oriented Concepts 709

Appendix B Object-Oriented Design 709

B.3 Benefits of Object-Oriented Design 714

B.4 CORBA 715

B.5 Recommended Reading 717

Appendix C Programming and Operating System Projects 719

C.1 Projects for Teaching Operating Systems 719

C.2 NACHOS 720

C.3 Programming Projects 721

C.4 Reading/Report Assignments 722

Appendix D OSP:An Environment for Operating System Projects 723

D.1 Overview 723

D.2 Innovative Aspects of OSP 726

D.3 Comparison with Other Operating System Courseware 728

D.4 The OSP Software Distribution 729

D.5 OSP Mailing List 729

D.6 Future Plans 730

Appendix E BACI:The Ben-Ari Concurrent Programming System 731

E.1 Introduction 731

E.2 BACI 732

E.3 Examples of BACI Programs 735

E.4 BACI Projects 739

E.5 Enhancements to the BACI System 742

Glossary 743

References 753

Index 770