图书介绍

操作系统:现代观点 英文版PDF|Epub|txt|kindle电子书版本网盘下载

操作系统:现代观点 英文版
  • (美)Gary Nutt著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115103445
  • 出版时间:2002
  • 标注页数:679页
  • 文件大小:11MB
  • 文件页数:701页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

操作系统:现代观点 英文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Chapter 1 Introduction1

1.1 Computers and Software2

1.1.1 General System Software2

1.1.2 Resource Abstraction4

IN THE HANGAR:A Disk Device Abstraction5

1.1.3 Resource Sharing6

1.1.4 Computers Without System Software7

1.2 Operating System Strategies8

PERFORMANCE TUNING:Multiprogramming Systems10

1.2.1 Batch Systems10

IN THE HANGAR:Batch Files13

1.2.2 Timesharing Systems14

1.2.3 Personal Computers and Workstations16

1.2.4 Process Control and Real-time Systems18

1.2.5 Networks19

1.2.6 The Genesis of Modern Operating Systems20

IN THE HANGAR:The Evolution of Linux21

IN THE HANGAR:The Microsoft Windows Family of Operating Systems23

1.3 Summary25

1.4 Exercises26

Chapter 2 Using the Operating System29

2.1 The Abstract Model of Computing30

2.2 Resources30

2.2.1 Files30

IN THE HANGAR:POSIX Files31

IN THE HANGAR:Windows Files33

2.2.2 Other Resources36

2.3 Processes37

2.3.1 Creating Processes39

IN THE HANGAR:Using FORK,JOIN,and QUIT40

IN THE HANGAR:Creating Processes in UNIX41

IN THE HANGAR:Creating Processes in Windows44

2.4 Threads46

IN THE HANGAR:C Threads48

2.5 Objects49

2.6 Summary50

2.7 Exercises50

LABORATORY EXERCISE:A Shell Program53

Background53

Attacking the Problem58

LABORATORY EXERCISE:A Multithreaded Windows Console Application61

Background61

Attacking the Problem65

Chapter 3 Operating System Organization71

3.1 Factorsin OS Design72

3.1.1 Performance72

3.1.2 Protection and Security73

3.1.3 Correctness74

3.1.4 Maintainability74

3.1.5 Commercial Influence on Operating Systems74

3.1.6 Standards and Open Systems75

3.2 Basic Functions76

3.2.2 Process and Resource Management77

3.2.1 Device Management77

3.2.3 Memory Management78

3.2.4 File Management78

3.2.5 Functional Organization79

3.3 Basic Implementation Considerations80

3.3.1 Processor Modes80

3.3.2 Kernels81

3.3.3 Requesting Services from the Operating Systems82

3.4 Summary83

3.5 Exercises84

Chapter 4 Computer Organization85

4.1 The von Neumann Architecture86

4.2.1 The Arithmetical-Logical Unit88

4.2 The Central Processing Unit88

4.2.2 The Control Unit89

4.3 Memory91

PERFORMANCE TUNING:Speeding up the Machine92

PERFORMANCE TUNING:Parallel Processors94

4.4 Devices95

4.4.1 General Device Characteristics96

4.4.2 Device Controllers97

IN THE HANGAR:Asynchronous Serial Devices98

4.4.3 Device Drivers99

4.5 Interrupts100

4.6 The Mode Bit Revisited:The Trap Instruction103

4.7 Summary104

4.8 Exercises105

LABORATORY EXERCISE:Kernel Timers109

Background109

Attacking the Problem113

Chapter 5 Device Management119

5.1 Device Management Approaches120

5.1.1 I/O System Organization120

5.1.2 Direct I/O with Polling121

5.1.3 Interrupt-driven I/O123

PERFORMANCE TUNING:Interrupts Versus Polling126

5.1.4 Memory-mapped I/O127

5.1.5 Direct Memory Access128

PERFORMANCE TUNING:I/O-Processor Overlap129

5.2 Buffering130

5.3 Device Drivers134

5.3.1 The Device Driver Interface134

5.3.2 CPU-device Interactions137

5.3.3 I/O Optimization138

5.4 Some Device Management Scenarios138

5.4.1 Serial Communications138

IN THE HANGAR:UNIX Device Drivers139

5.4.2 Sequentially Accessed Storage Devices141

5.4.3 Randomly Accessed Devices142

PERFORMANCE TUNING:Optimizing Access on Rotating Devices144

5.5 Summary149

5.6 Exercises150

LABORATORY EXERCISE:A Floppy Disk Driver153

Background154

Attacking the Problem158

Chapter 6 Process Management161

6.1 The System View of Processes and Resources162

6.1.1 Implementing the Process Model163

6.1.2 Implementing the Resource Model164

6.2 Initializing the Operating System165

6.3 Process Address Spaces166

6.3.1 Creating the Address Space167

6.3.2 Loading the Program168

6.3.3 Maintaining Consistency in the Address Space168

6.4.1 Process Descriptors170

6.4 The Process Abstraction170

6.4.2 Process State Diagram172

6.5 The Resource Abstraction173

6.6 Process Hierarchy174

6.6.1 Refining the Process Manager176

6.6.2 Specializing Resource Allocation Strategies177

6.7 Summary178

6.8 Exercises179

LABORATORY EXERCISE:Observing OS Behavior181

Background182

Attacking the Problem187

Chapter 7 Scheduling189

7.1.1 The Process Scheduler Organization190

7.1 Scheduling Mechanisms190

7.1.2 Saving the Process Context192

7.1.3 Voluntary CPU Sharing192

7.1.4 Involuntary CPU Sharing194

7.1.5 Performance195

7.2 Strategy Selection196

7.2.1 Partitioning a Process into Small Processes199

7.3 Nonpreemptive Strategies200

7.3.1 First-Come-First-Served200

PERFORMANCE TUNING:Approximating System Load201

7.3.2 Shortest Job Next202

PERFORMANCE TUNING:Predicting Wait Times for FCFS203

7.3.3 Priority Scheduling204

7.3.4 Deadline Scheduling206

7.4 Preemptive Strategies207

7.4.1 Round Robin207

7.4.2 Multiple-level Queues210

7.5 Summary212

7.6 Exercises213

Chapter 8 Basic Synchronization Principles217

8.1 Interacting Processes218

IN THE HANGAR:Solving a System of Linear Equations219

8.1.1 Critical Sections220

8.1.2 Deadlock224

8.2 Coordinating Processes226

8.3 Semaphores228

8.3.1 Principles of Operation229

IN THE HANGAR:Examples Using Semaphore231

8.3.2 Practical Considerations237

8.4 Shared Memory Multiprocessors241

8.5 Summary242

8.6 Exercises242

LABORATORY EXERCISE:Bounded Buffer Problem249

Background249

Attacking the Problem255

Chapter 9 High-lever Synchronization257

9.1 Alternative Synchronization Primitiyes258

9.1.1 AND Synchronization258

9.1.2 Events259

IN THE HANGAR:Using Events260

IN THE HANGAR:UNIX Signals261

IN THE HANGAR:Windows 2000 Dispatcher Objects263

9.2 Monitors264

9.2.1 Principles of Operation264

9.2.2 Condition Variables266

IN THE HANGAR:Examples Using Monitors269

9.2.3 Some Practical Aspects of Using Monitors273

9.3 Interprocess Communication273

9.3.1 Mailboxes274

9.3.2 Message Protocols276

9.3.3 Using the send and receive Operations276

IN THE HANGAR:Synchronized IPC278

9.3.4 Deferred Message Copying278

9.4 Explicitly Ordering Event Execution279

9.6 Exercises281

9.5 Summary281

LABORATORY EXERCISE:Refining the Shell285

Background285

Attacking the Problem290

Chapter 10 Deadlock291

10.1 Background292

10.1.1 Prevention294

10.1.2 Avoidance295

10.1.3 Detection and Recovery295

10.1.4 Manual Deadlock Management295

10.2 A System Deadlock Model296

IN THE HANGAR:Single Resource Type297

10.3.1 Hold and Wait299

10.3 Prevention299

10.3.2 Circular Wait301

10.3.3 Allowing Preemption303

10.4 Avoidance304

10.4.1 The Banker's Algorithm306

IN THE HANGAR:Using the Banker's Algorithm307

10.5 Detection and Recovery309

10.5.1 Serially Reusable Resources310

10.5.2 Consumable Resources316

10.5.3 General Resource Systems320

10.5.4 Recovery321

10.6 Summary321

10.7 Exercises322

Chapter 11 Memory Management325

11.1 The Basics326

11.1.1 Requirements on Primary Memory326

11.1.2 Mapping the Address Space to Primary Memory327

PERFORMANCE TUNING:Using Memory Hierarchies to Reduce Access Time328

IN THE HANGAR:The Address Binding Procedure330

11.1.3 Dynamic Memory for Data Structures333

11.2 Memory Allocation335

11.2.1 Fixed-partition Memory Strategies336

11.2.2 Variable-partition Memory Strategies337

11.2.3 Contemporary Allocation Strategies340

PERFORMANCE TUNING:The Cost of Moving Programs341

11.3 Dynamic Address Relocation342

11.3.1 Runtime Bound Checking346

IN THE HANGAR:Expanding Small Address Spaces347

11.4 Memory Manager Strategies348

11.4.1 Swapping348

11.4.2 Virtual Memory352

11.4.3 Shared-memory Multiprocessors352

PERFORMANCE TUNING:Using Cache Memory353

11.5 Summary357

11.6 Exercises357

Chapter 12 Virtual Memory361

12.1 Address Translation362

12.1.1 Address Space Mapping362

12.1.2 Segmentation and Paging364

12.2 Paging365

12.2.1 Virtual Address Translation367

PERFORMANCE TUNING:Page Table Implementations370

12.3 Static Paging Algorithms371

12.3.1 The Fetch Policy372

12.3.2 Demand Paging Algorithms372

12.3.3 Stack Algorithms376

12.3.4 Implementing LRU378

PERFORMANCE TUNING:Paging Performance379

12.4 Dynamic Paging Algorithms381

12.4.1 The Working Set Algorithm381

IN THE HANGAR:Working Set Algorithm Example383

12.4.2 Implementing the Working Set Algorithm385

PERFORMANCE TUNING:Taking Advantage of Pages with IPC387

IN THE HANGAR:Windows 2000 Virtual Memory388

IN THE HANGAR:Linux Virtual Memory392

12.5 Segmentation393

12.5.1 Address Translation394

12.5.2 Implementation396

IN THE HANGAR:The Multics Segmentation System399

12.6 Summary401

12.7 Exercises402

Chapter 13 File Management405

13.1 Files406

13.1.1 Low-level Files408

13.1.2 Structured Files412

13.1.4 Multimedia Storage418

13.1.3 Database Management Systems418

13.2 Low-level File Implementations419

13.2.1 open and close Operations420

IN THE HANGAR:UNIX open and close420

13.2.2 Block Management422

IN THE HANGAR:UNIX File Structure425

13.2.3 Reading and Writing the Byte Stream430

13.3 Supporting Other Storage Abstractions431

13.3.1 Structured Sequential Files431

13.3.2 Indexed Sequential Files431

13.3.3 Database Management Systems432

13.3.4 Multimedia Documents432

13.4 Memory-mapped Files433

IN THE HANGAR:Memory-mapped Files in Windows 2000434

13.5 Directories435

13.5.1 Directory Structures436

IN THE HANGAR:Some Directory Examples437

13.6 Directory Implementation439

13.6.1 Device Directories439

13.6.2 File Directory440

13.6.3 Opening a File in a Hierarchical Directory440

13.6.4 Mounting Removable File Systems441

13.7 Summary442

13.8 Exercises442

LABORATORY EXERCISE:A Simple File Manager445

Background446

Attacking the Problem449

Chapter 14 Protection and Security453

14.1 Fundamentals454

14.1.1 Policy and Mechanism454

14.1.2 Implementing Policy and Mechanism456

14.1.3 Authentication Mechanisms456

14.1.4 Authorization Mechanisms457

14.1.5 Encryption458

14.2 Authentication458

14.2.1 User Authentication459

14.2.2 Authentication in Networks459

IN THE HANGAR:Kerberos Network Authentication461

14.3 Internal Access Authorization463

14.3.1 A Model for Resource Protection464

14.3.2 Changing the Protection State466

14.3.3 The Cost of Protection Mechanisms468

14.4 Implementing Internal Authorization469

14.4.1 Protection Domains469

14.4.2 Implementing the Access Matrix471

14.5 Cryptography476

14.6 Summary477

14.7 Exercises478

Chapter 15 Networks481

15.1 From Computer Communications to Networks482

15.1.1 Communication Subnetworks483

15.1.2 Network Communication Protocols484

15.2 The ISO OSI Network Architecture Model485

15.2.1 The Evolution of Network Protocols485

15.2.2 The ISO OSI Model487

15.3 Low-level Protocols490

15.3.1 The Physical Layer491

PERFORMANCE TUNING:Fast Physical Layers492

15.3.2 The Data Link Layer493

15.3.3 Contemporary Networks494

15.4 The Network Layer496

15.4.1 Addressing498

15.4.2 Routing499

15.4.3 Using the Network Layer501

15.5 The Transport Layer502

15.5.1 Communication Ports502

15.5.2 Data Types503

15.5.3 Reliable Communication504

PERFORMANCE TUNING:Datagrams and Virtual Circuits505

15.6 Using the Transport Layer506

15.6.1 Naming506

IN THE HANGAR:The Domain Name System508

15.6.2 The Client-server Model509

15.7 Summary511

15.8 Exercises512

LABORATORY EXERCISE:Using TCP/IP515

Background515

Attacking the Problem523

Chapter 16 Remote Files525

16.1 Sharing Information Across the Network526

16.1.1 Explicit File Copying Systems527

16.1.2 Implicit File Sharing528

16.1.3 The Remote Storage Interface530

16.1.4 Distributing the Work531

16.2 Remote Disk Systems533

16.2.1 The Remote Disk Operation534

16.2.2 Performance Considerations535

16.2.3 Reliability536

16.2.4 The Future of Remote Disks539

16.3 Remote File Systems539

16.3.1 The General Architecture540

16.3.2 Block Caching542

16.3.3 Crash Recovery544

IN THE HANGAR:The Andrew File System548

16.4 File-level Caching548

IN THE HANGAR:The LOCUS File System549

16.5 Directory Systems and Their Implementations551

16.5.1 Filenames552

16.5.2 Opening a File554

16.6 Summary555

16.7 Exercises556

Chapter 17 Distributed Computing559

17.1 Distributing Process Management560

17.1.1 Partitioning the Work560

17.1.2 Supporting Partitioned Computation562

17.1.3 General Process Management563

17.1.4 Scheduling563

PERFORMANCE TUNING:Process Migration and Load Balancing564

17.1.5 Coordinating Processes565

17.2 Message Passing568

17.2.1 Message-passing Interfaces570

17.2.2 Computing Paradigms572

17.3 Remote Procedure Call573

17.3.1 How Does RPC Work?573

17.3.2 Implementing RPC575

17.4 Distributed-memory Management579

17.4.1 Remote Memory583

IN THE HANGAR:Examples of Distributed Memory583

17.4.2 Distributed Virtual Memory586

17.4.3 Distributed Objects588

17.6 Exercises589

17.5 Summary589

Chapter 18 Strategies and Examples591

18.1 OS Components and Relationships592

18.2 General Organizational Issues593

18.2.1 Software Organization594

18.2.2 Managing Distributed Hardware599

18.3 The Traditional UNIX Kernel601

18.3.1 The Kernel602

18.3.2 The Monolithic Organization603

18.3.3 Conclusion604

18.4 The Linux Kernel604

18.4.1 Kernel Organization604

18.4.2 Process and Resource Management609

18.4.3 Memory Manager615

18.4.4 File Management616

18.5 Choices:An Object-oriented OS618

18.5.1 Frameworks618

18.5.2 Using a Framework for the Memory Manager618

18.5.3 Conclusion620

18.6 Microsoft Windows NT621

18.6.1 General Architecture621

18.6.2 The Hardware Abstraction Layer(HAL)624

18.6.3 The NT Kernel624

18.6.4 The NT Executive626

18.6.5 NT Subsystems631

18.7 The Mach Operating System632

18.7.1 Process Management633

18.7.2 Message Passing635

18.7.3 Memory Management638

18.7.4 Conclusion640

18.8 The CHORUS Operating System640

18.8.1 Process Management642

18.8.2 Interprocess Communication643

18.8.3 Memory Management643

18.8.4 Conclusion644

18.9 Summary644

18.10 Exercises644

Glossary647

Bibliography659

Index663

热门推荐