图书介绍

Modern Operating Systems Second EditionPDF|Epub|txt|kindle电子书版本网盘下载

Modern Operating Systems Second Edition
  • 出版社: Inc
  • ISBN:0130313580
  • 出版时间:2001
  • 标注页数:952页
  • 文件大小:253MB
  • 文件页数:977页
  • 主题词:

PDF下载


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

下载说明

Modern Operating Systems Second EditionPDF格式电子书版下载

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

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

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

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

图书目录

1 INTRODUCTION1

1.1. WHAT IS AN OPERATING SYSTEM?3

1.1.1. The Operating System as an Extended Machine3

1.1.2. The Operating System as a Resource Manager5

1.2. HISTORY OF OPERATING SYSTEMS6

1.2.1. The First Generation (1945-55)6

1.2.2. The Second Generation (1955-65)7

1.2.3. The Third Generation (1965-1980)9

1.2.4. The Fourth Generation (1980-Present)13

1.2.5. Ontogeny Recapitulates Phylogeny16

1.3. THE OPERATING SYSTEM ZOO18

1.3.1. Mainframe Operating Systems18

1.3.2. Server Operating Systems19

1.3.3. Multiprocessor Operating Systems19

1.3.4. Personal Computer Operating Systems19

1.3.5. Real-Time Operating Systems19

1.3.6. Embedded Operating Systems20

1.3.7. Smart Card Operating Systems20

1.4. COMPUTER HARDWARE REVIEW20

1.4.1. Processors21

1.4.2. Memory23

1.4.3. I/O Devices28

1.4.4. Buses31

1.5. OPERATING SYSTEM CONCEPTS34

1.5.1. Processes34

1.5.2. Deadlocks36

1.5.3. Memory Management37

1.5.4. Input/Output38

1.5.5. Files38

1.5.6. Security41

1.5.7. The Shell41

1.5.8. Recycling of Concepts43

1.6. SYSTEM CALLS44

1.6.1. System Calls for Process Management48

1.6.2. System Calls for File Management50

1.6.3. System Calls for Directory Management51

1.6.4. Miscellaneous System Calls53

1.6.5. The Windows Win32 API53

1.7. OPERATING SYSTEM STRUCTURE56

1.7.1. Monolithic Systems56

1.7.2. Layered Systems57

1.7.3. Virtual Machines59

1.7.4. Exokernels61

1.7.5. Client-Server Model61

1.8. RESEARCH ON OPERATING SYSTEMS63

1.9. OUTLINE OF THE REST OF THIS BOOK65

1.10. METRIC UNITS66

1.11. SUMMARY67

2 PROCESSES AND THREADS71

2.1. PROCESSES71

2.1.1. The Process Model72

2.1.2. Process Creation73

2.1.3. Process Termination75

2.1.4. Process Hierarchies76

2.1.5. Process States77

2.1.6. Implementation of Processes79

2.2. THREADS81

2.2.1. The Thread Model81

2.2.2. Thread Usage85

2.2.3. Implementing Threads in User Space90

2.2.4. Implementing Threads in the Kernel93

2.2.5. Hybrid Implementations94

2.2.6. Scheduler Activations94

2.2.7. Pop-Up Threads96

2.2.8. Making Single-Threaded Code Multithreaded97

2.3. INTERPROCESS COMMUNICATION100

2.3.1. Race Conditions100

2.3.2. Critical Regions102

2.3.3. Mutual Exclusion with Busy Waiting103

2.3.4. Sleep and Wakeup108

2.3.5. Semaphores110

2.3.6. Mutexes113

2.3.7. Monitors115

2.3.8. Message Passing119

2.3.9. Barriers123

2.4. CLASSICAL IPC PROBLEMS124

2.4.1. The Dining Philosophers Problem125

2.4.2. The Readers and Writers Problem128

2.4.3. The Sleeping Barber Problem129

2.5. SCHEDULING132

2.5.1. Introduction to Scheduling132

2.5.2. Scheduling in Batch Systems138

2.5.3. Scheduling in Interactive Systems142

2.5.4. Scheduling in Real-Time Systems148

2.5.5. Policy versus Mechanism149

2.5.6. Thread Scheduling150

2.6. RESEARCH ON PROCESSES AND THREADS151

2.7. SUMMARY152

3 DEADLOCKS159

3.1. RESOURCES160

3.1.1. Preemptable and Nonpreemptable Resources160

3.1.2. Resource Acquisition161

3.2. INTRODUCTION TO DEADLOCKS163

3.2.1. Conditions for Deadlock164

3.2.2. Deadlock Modeling164

3.3. THE OSTRICH ALGORITHM167

3.4. DEADLOCK DETECTION AND RECOVERY168

3.4.1. Deadlock Detection with One Resource of Each Type168

3.4.2. Deadlock Detection with Multiple Resource of Each Type171

3.4.3. Recovery from Deadlock173

3.5. DEADLOCK AVOIDANCE175

3.5.1. Resource Trajectories175

3.5.2. Safe and Unsafe States176

3.5.3. The Banker's Algorithm for a Single Resource178

3.5.4. The Banker's Algorithm for Multiple Resources179

3.6. DEADLOCK PREVENTION180

3.6.1. Attacking the Mutual Exclusion Condition180

3.6.2. Attacking the Hold and Wait Condition181

3.6.3. Attacking the No Preemption Condition182

3.6.4. Attacking the Circular Wait Condition182

3.7. OTHER ISSUES183

3.7.1. Two-Phase Locking183

3.7.2. Nonresource Deadlocks184

3.7.3. Starvation184

3.8. RESEARCH ON DEADLOCKS185

3.9. SUMMARY185

4 MEMORY MANAGEMENT189

4.1. BASIC MEMORY MANAGEMENT190

4.1.1. Monoprogramming without Swapping or Paging190

4.1.2. Multiprogramming with Fixed Partitions191

4.1.3. Modeling Multiprogramming192

4.1.4. Analysis of Multiprogramming System Performance194

4.1.5. Relocation and Protection194

4.2. SWAPPING196

4.2.1. Memory Management with Bitmaps199

4.2.2. Memory Management with Linked Lists200

4.3. VIRTUAL MEMORY202

4.3.1. Paging202

4.3.2. Page Tables205

4.3.3. TLBs-Translation Lookaside Buffers211

4.3.4. Inverted Page Tables213

4.4. PAGE REPLACEMENT ALGORITHMS214

4.4.1. The Optimal Page Replacement Algorithm215

4.4.2. The Not Recently Used Page Replacement Algorithm216

4.4.3. The First-In, First-Out217

4.4.4. The Second Chance Page Replacement Algorithm217

4.4.5. The Clock Page Replacement Algorithm218

4.4.6. The Least Recently Used218

4.4.7. Simulating LRU in Software220

4.4.8. The Working Set Page Replacement Algorithm222

4.4.9. The WSClock Page Replacement Algorithm225

4.4.10. Summary of Page Replacement Algorithms227

4.5. MODELING PAGE REPLACEMENT ALGORITHMS228

4.5.1. Belady's Anomaly229

4.5.2. Stack Algorithms229

4.5.3. The Distance String232

4.5.4. Predicting Page Fault Rates233

4.6. DESIGN ISSUES FOR PAGING SYSTEMS234

4.6.1. Local versus Global Allocation Policies234

4.6.2. Load Control236

4.6.3. Page Size237

4.6.4. Separate Instruction and Data Spaces239

4.6.5. Shared Pages239

4.6.6. Cleaning Policy241

4.6.7. Virtual Memory Interface241

4.7. IMPLEMENTATION ISSUES242

4.7.1. Operating System Involvement with Paging242

4.7.2. Page Fault Handling243

4.7.3. Instruction Backup244

4.7.4. Locking Pages in Memory246

4.7.5. Backing Store246

4.7.6. Separation of Policy and Mechanism247

4.8. SEGMENTATION249

4.8.1. Implementation of Pure Segmentation253

4.8.2. Segmentation with Paging: MULTICS254

4.8.3. Segmentation with Paging: The Intel Pentium257

4.9. RESEARCH ON MEMORY MANAGEMENT262

4.10. SUMMARY262

5 INPUT/OUTPUT269

5.1. PRINCIPLES OF I/O HARDWARE269

5.1.1. I/O Devices270

5.1.2. Device Controllers271

5.1.3. Memory-Mapped I/O272

5.1.4. Direct Memory Access276

5.1.5. Interrupts Revisited279

5.2. PRINCIPLES OF I/O SOFTWARE282

5.2.1. Goals of the I/O Software283

5.2.2. Programmed I/O284

5.2.3. Interrupt-Driven I/O286

5.2.4. I/O Using DMA287

5.3. I/O SOFTWARE LAYERS287

5.3.1. Interrupt Handlers287

5.3.2. Device Drivers289

5.3.3. Device-Independent I/O Software292

5.3.4. User-Space I/O Software298

5.4. DISKS300

5.4.1. Disk Hardware300

5.4.2. Disk Formatting315

5.4.3. Disk Arm Scheduling Algorithms318

5.4.4. Error Handling322

5.4.5. Stable Storage324

5.5. CLOCKS327

5.5.1. Clock Hardware328

5.5.2. Clock Software329

5.5.3. Soft Timers332

5.6. CHARACTER-ORIENTED TERMINALS333

5.6.1. RS-232 Terminal Hardware334

5.6.2. Input Software336

5.6.3. Output Software341

5.7. GRAPHICAL USER INTERFACES342

5.7.1. Personal Computer Keyboard, Mouse, and Display Hardware343

5.7.2. Input Software347

5.7.3. Output Software for Windows347

5.8. NETWORK TERMINALS355

5.8.1. The X Window System356

5.8.2. The SLIM Network Terminal360

5.9. POWER MANAGEMENT363

5.9.1. Hardware Issues364

5.9.2. Operating System Issues365

5.9.3. Degraded Operation370

5.10. RESEARCH ON INPUT/OUTPUT371

5.11. SUMMARY372

6 FILE SYSTEMS379

6.1. FILES380

6.1.1. File Naming380

6.1.2. File Structure382

6.1.3. File Types383

6.1.4. File Access385

6.1.5. File Attributes386

6.1.6. File Operations387

6.1.7. An Example Program Using File System Calls389

6.1.8. Memory-Mapped Files391

6.2. DIRECTORIES393

6.2.1. Single-Level Directory Systems393

6.2.2. Two-level Directory Systems394

6.2.3. Hierarchical Directory Systems395

6.2.4. Path Names395

6.2.5. Directory Operations398

6.3. FILE SYSTEM IMPLEMENTATION399

6.3.1. File System Layout399

6.3.2. Implementing Files400

6.3.3. Implementing Directories405

6.3.4. Shared Files408

6.3.5. Disk Space Management410

6.3.6. File System Reliability416

6.3.7. File System Performance424

6.3.8. Log-Structured File Systems428

6.4. EXAMPLE FILE SYSTEMS430

6.4.1. CD-ROM File Systems430

6.4.2. The CP/M File System435

6.4.3. The MS-DOS File System438

6.4.4. The Windows 98 File System442

6.4.5. The UNIX V7 File System445

6.5. RESEARCH ON FILE SYSTEMS448

6.6. SUMMARY448

7 MULTIMEDIA OPERATING SYSTEMS453

7.1. INTRODUCTION TO MULTIMEDIA454

7.2. MULTIMEDIA FILES458

7.2.1. Audio Encoding459

7.2.2. Video Encoding461

7.3. VIDEO COMPRESSION463

7.3.1. The JPEG Standard464

7.3.2. The MPEG Standard467

7.4. MULTIMEDIA PROCESS SCHEDULING469

7.4.1. Scheduling Homogeneous Processes469

7.4.2. General Real-Time Scheduling470

7.4.3. Rate Monotonic Scheduling472

7.4.4. Earliest Deadline First Scheduling473

7.5. MULTIMEDIA FILE SYSTEM PARADIGMS475

7.5.1. VCR Control Functions476

7.5.2. Near Video on Demand478

7.5.3. Near Video on Demand with VCR Functions479

7.6. FILE PLACEMENT481

7.6.1. Placing a File on a Single Disk481

7.6.2. Two Alternative File Organization Strategies482

7.6.3. Placing Files for Near Video on Demand486

7.6.4. Placing Multiple Files on a Single Disk487

7.6.5. Placing Files on Multiple Disks490

7.7. CACHING492

7.7.1. Block Caching492

7.7.2. File Caching494

7.8. DISK SCHEDULING FOR MULTIMEDIA494

7.8.1. Static Disk Scheduling495

7.8.2. Dynamic Disk Scheduling496

7.9. RESEARCH ON MULTIMEDIA498

7.10. SUMMARY499

8 MULTIPLE PROCESSOR SYSTEMS503

8.1. MULTIPROCESSORS506

8.1.1. Multiprocessor Hardware506

8.1.2. Multiprocessor Operating System Types513

8.1.3. Multiprocessor Synchronization516

8.1.4. Multiprocessor Scheduling521

8.2. MULTICOMPUTERS526

8.2.1. Multicomputer Hardware527

8.2.2. Low-Level Communication Software531

8.2.3. User-Level Communication Software534

8.2.4. Remote Procedure Call537

8.2.5. Distributed Shared Memory540

8.2.6. Multicomputer Scheduling544

8.2.7. Load Balancing545

8.3. DISTRIBUTED SYSTEMS549

8.3.1. Network Hardware551

8.3.2. Network Services and Protocols553

8.3.3. Document-Based Middleware558

8.3.4. File System-Based Middleware559

8.3.5. Shared Object-Based Middleware565

8.3.6. Coordination-Based Middleware572

8.4. RESEARCH ON MULTIPLE PROCESSOR SYSTEMS577

8.5. SUMMARY577

9 SECURITY583

9.1. THE SECURITY ENVIRONMENT584

9.1.1. Threats584

9.1.2. Intruders585

9.1.3. Accidental Data Loss586

9.2. BASICS OF CRYPTOGRAPHY587

9.2.1. Secret-Key Cryptography588

9.2.2. Public-Key Cryptography588

热门推荐