Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Contents PART ONE Chapter 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 OVERVIEW Introduction What Operating Systems Do 3 Computer-System Organization 6 Computer-System Architecture 12 Operating-System Structure 18 Operating-System Operations 20 Process Management 23 Memory Management 24 Storage Management 25 Chapter 2 Operating-System Services 47 User Operating-System Interface 50 System Calls 53 Types of System Calls 56 System Programs 64 Operating-System Design and Implementation 66 2.7 Operating-System Structure 68 PART TWO 3.1 3.2 3.3 3.4 3.5 Protection and Security 29 Distributed Systems 30 Special-Purpose Systems 31 Computing Environments 34 Open-Source Operating Systems Summary 40 Exercises 42 Bibliographical Notes 45 37 Operating-System Structures 2.1 2.2 2.3 2.4 2.5 2.6 Chapter 3 1.9 1.10 1.11 1.12 1.13 1.14 2.8 2.9 2.10 2.11 2.12 Virtual Machines 74 Operating-System Debugging 82 Operating-System Generation 86 System Boot 87 Summary 88 Exercises 89 Bibliographical Notes 95 PROCESS MANAGEMENT Processes Process Concept 99 Process Scheduling 103 Operations on Processes 108 Interprocess Communication 114 Examples of IPC Systems 121 3.6 Communication in Client – Server Systems 126 3.7 Summary 132 Exercises 133 Bibliographical Notes 143 xvii xviii Contents Chapter 4 4.1 4.2 4.3 4.4 Overview 145 Multithreading Models Thread Libraries 151 Threading Issues 157 Chapter 5 5.1 5.2 5.3 5.4 5.5 149 8.1 8.2 8.3 8.4 8.5 8.6 8.7 5.6 Operating System Examples 5.7 Algorithm Evaluation 205 5.8 Summary 210 Exercises 211 Bibliographical Notes 215 198 6.7 6.8 6.9 6.10 Monitors 236 Synchronization Examples 245 Deadlocks 249 Summary 258 Exercises 259 Bibliographical Notes 273 MEMORY MANAGEMENT Main Memory Background 277 Swapping 284 Contiguous Memory Allocation 286 Paging 290 Structure of the Page Table 299 Chapter 8 163 Process Synchronization PART THREE 7.1 7.2 7.3 7.4 7.5 194 Background 217 The Critical-Section Problem 219 Peterson’s Solution 221 Synchronization Hardware 223 Semaphores 226 Classic Problems of Synchronization 232 Chapter 7 4.5 Operating-System Examples 4.6 Summary 166 Exercises 166 Bibliographical Notes 173 CPU Scheduling Basic Concepts 175 Scheduling Criteria 179 Scheduling Algorithms 180 Thread Scheduling 191 Multiple-Processor Scheduling Chapter 6 6.1 6.2 6.3 6.4 6.5 6.6 Threads 7.6 Segmentation 304 7.7 Example: The Intel Pentium 307 7.8 Summary 311 Exercises 312 Bibliographical Notes 316 Virtual Memory Background 319 Demand Paging 323 Copy-on-Write 329 Page Replacement 331 Allocation of Frames 344 Thrashing 348 Memory-Mapped Files 352 8.8 8.9 8.10 8.11 Allocating Kernel Memory 358 Other Considerations 361 Operating-System Examples 367 Summary 370 Exercises 371 Bibliographical Notes 379 Contents PART FOUR Chapter 9 9.1 9.2 9.3 9.4 9.5 STORAGE MANAGEMENT File-System Interface File Concept 383 Access Methods 392 Directory and Disk Structure File-System Mounting 406 File Sharing 408 9.6 Protection 413 9.7 Summary 418 Exercises 419 Bibliographical Notes 421 395 Chapter 10 File-System Implementation 10.1 10.2 10.3 10.4 10.5 10.6 Efficiency and Performance 444 10.7 Recovery 448 10.8 Summary 452 Exercises 453 Bibliographical Notes 455 File-System Structure 423 File-System Implementation 426 Directory Implementation 432 Allocation Methods 433 Free-Space Management 441 Chapter 11 Mass-Storage Structure 11.6 Swap-Space Management 472 11.7 RAID Structure 474 11.8 Summary 483 Exercises 485 Bibliographical Notes 491 11.1 Overview of Mass-Storage Structure 457 11.2 Disk Structure 460 11.3 Disk Attachment 461 11.4 Disk Scheduling 462 11.5 Disk Management 468 Chapter 12 I/O Systems 12.1 12.2 12.3 12.4 12.5 12.6 STREAMS 518 12.7 Performance 520 12.8 Summary 523 Exercises 524 Bibliographical Notes 526 Overview 493 I/O Hardware 494 Application I/O Interface 503 Kernel I/O Subsystem 509 Transforming I/O Requests to Hardware Operations 516 PART FIVE PROTECTION AND SECURITY Chapter 13 Protection 13.1 13.2 13.3 13.4 13.5 13.6 Goals of Protection 529 Principles of Protection 530 Domain of Protection 531 Access Matrix 536 Implementation of Access Matrix Access Control 543 540 13.7 Revocation of Access Rights 544 13.8 Capability-Based Systems 545 13.9 Summary 548 Exercises 549 Bibliographical Notes 551 xix xx Contents Chapter 14 14.1 14.2 14.3 14.4 14.5 Security The Security Problem 553 Program Threats 557 System and Network Threats 565 Cryptography as a Security Tool 570 User Authentication 581 PART SIX Chapter 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 16.1 16.2 16.3 16.4 CASE STUDIES The Linux System Linux History 595 Design Principles 600 Kernel Modules 603 Process Management 606 Scheduling 609 Memory Management 614 File Systems 623 Chapter 16 PART SEVEN A.1 A.2 A.3 A.4 A.5 A.6 15.8 15.9 15.10 15.11 15.12 Input and Output 629 Interprocess Communication Network Structure 633 Security 635 Summary 637 Exercises 638 Bibliographical Notes 639 16.5 16.6 16.7 16.8 File System 675 Networking 681 Programmer Interface 686 Summary 695 Exercises 696 APPENDICES The FreeBSD System (contents online) UNIX History A1 Design Principles A6 Programmer Interface A8 User Interface A15 Process Management A18 Memory Management A22 A.7 A.8 A.9 A.10 File System A24 I/O System A32 Interprocess Communication A35 Summary A40 Exercises A41 Bibliographical Notes A42 Appendix B The Mach System (contents online) B.1 B.2 B.3 B.4 B.5 631 Windows 7 History 641 Design Principles 643 System Components 650 Terminal Services and Fast User Switching 674 Appendix A 14.6 An Example: Windows 586 14.7 Summary 587 Exercises 588 Bibliographical Notes 589 History of the Mach System B1 Design Principles B3 System Components B4 Process Management B7 Interprocess Communication B13 B.6 Memory Management B18 B.7 Programmer Interface B23 B.8 Summary B24 Exercises B25 Bibliographical Notes B26 Contents Appendix C Windows 2000 (contents online) C.1 C.2 C.3 C.4 C.5 C.6 History C1 Design Principles C2 System Components C3 Environmental Subsystems File System C21 Networking C28 C19 C.7 Programmer Interface C33 C.8 Summary C40 Exercises C40 Exercises C40 Bibliographical Notes C41 Bibliographical Notes 697 Bibliography (contents online) 699 Credits 723 Index 725 xxi