 | 书 名: 操作系统(英文版·第3版) 作 者: (美)纳特 出 版 社: 机械工业出版社 ISBN : 711115894 原 价: ¥79 有一家网站低于85折正在热销 | 操作系统(英文版·第3版)-图书目录:
目 录 Chapter1 INTRODUCTION 1 1.1 COMPUTERS AND SOFTWARE 3 General System Software 4 Resource Abstraction 7 Example: An Abstraction of a Disk Drive 9 Resource Sharing 11 Abstract Machines and Transparent Resource Sharing 11 Explicit Resource Sharing 16 1.2 OPERATING SYSTEM STRATEGIES 18 Batch Systems 20 The Users Perspective 20 Batch Processing Technology 22 Example: Batch Files 23 Timesharing Systems 23 The Users Perspective 24 Timesharing Technology 24 Example: The UNIX Timesharing System 26 Personal Computers and Workstations 27 The Users Perspective 28 OS Technology 28 Contributions to Modem OS Technology 29 Example: The Microsoft Windows OS Family 29 Embedded Systems 31 The Users Perspective 31 OS Technology 32 Contributions to Modem OS Technology 33 Example: VxWorks 33 Small, Communicating Computers 34 The Users Persepective 34 OS Technology 34 Example: Windows CE Pocket PC 36 Chapter2 Networks 37 The Genesis of Modern Operating Systems 38 1.3 SUMMARY 38 1.4 EXERCISES 39 USING THE OPERATING SYSTEM 42 2.1 THE PROGRAMMERS ABSTRACT MACHINE 42 Sequential Computation 44 Multithreaded Computation 46 2.2 RESOURCES 47 Using Files 48 Example: POSIX Files 48 Example: Windows Files 50 Using Other Resources 52 2.3 PROCESSES AND THREADS 52 Creating Processes and Threads 55 FORK , JOIN , and QUIT : The Historical Perspective 55 Example: Using Fork , JOIN , and QUIT 56 Classic Process Creation 57 Creating Modem Processes and Threads 58 2.4 WRITING CONCURRENT PROGRAMS 58 Multiple Single-Threaded Processes: The UNIX Model 58 Example: Executing Commands in UNIX 61 Multiple Processes and Multiple Threads Per Process:The Windows Model 65 Example: Launching Windows Processes 68 2.5 OBJECTS 72 2.6 SUMMARY 74 2.7 EXERCISES 74 Lab Exercise 2.1 A SIMPLE SHELL 76 Background 76 Attacking the Problem 81 Lab Exercise 2.2 A MULTITHREADED APPLICATION 83 Background 83 Attacking the Problem 86 Chapter3 OPERATING SYSTEM ORGANIZATION 89 3.1 BASIC FUNCTIONS 9O Device Management 90 Process, Thread, and Resource Management 92 Memory Management 93 File Management 94 3.2 GENERAL IMPLEMENTATION CONSIDERATIONS 94 Performance 95 Exclusive Use of Resources 95 Processor Modes 96 Kernels 98 Requesting Services filom the Operating System 99 Software Modularizafion 101 3.3 CONTEMPORARY OS KERNELS 103 UNIX Kernels 104 Example: Linux 106 The Winmdows NT Executive and Kernel 107 3.4 SUMMARY 110 3.5 EXERCISES 1lO Lab Exercise 3. 1 OBSERVING OS BEHAVIOR 112 Background 113 Attacking the Problem 113 Chapter4 COMPUTER ORGANIZATION 115 4.1 THE VON NEUMANN ARCHITECTURE 115 Evolving to the yon Neumann Architecture 116 The Basic Idea 116 4.2 THE CENTRAL PROCESSING UNIT 119 The Arithinetica!-Logical Unit 119 The ConUol Unit 121 Implementing the Processor 122 4.3 THE PRIMARY EXECUTABLE MEMORY 124 4.4 I/O DEVICES 125 Device Controllers 126 Direct Memory Access 128 Memory-Mapped I/O 129 4.5 INTERRUPTS 131 The Trap Instruction Revisited 135 4.6 CONVENTIONAL CONTEMPORARY COMPUTERS 136 Bootstrapping the Machine 137 4.7 MOBILE COMPUTERS 139 System-on-a-Chip Technology 140 Power Management 141 Example: The Itsy Mobile Computer 142 4.8 MULTIPROCESSORS AND PARALLEL COMPUTERS 143 Parallel Instruction Execution 143 Array Processors 145 Shared Memory Mulfiprocessors 146 Distributed Memory Multiprocessors 146 Network of Workstations 147 4.9 SUMMARY 147 4.10 EXERCISES 148 Chapter5 DEVICE MANAGEMENT 152 5.1 THE I/O SYSTEM 152 Device Manager Abstraction 153 FO-Processor Overlap within an Application 155 I/O-Processor Overlap across Threads 157 5.2 I/O STRATEGIES 158 Direct FO with Polling 159 Interrupt-Driven FO 160 Polling Versus Interrupt-Driven FO Performance 162 5.3 DEVICE MANAGER DESIGN 163 Device-dependent Driver Infrastructure Framework 164 Servicing Interrupts 165 Example: Linux Device I/O 168 5.4 BUFFERING 170 5.5 DEVICE CLASS CHARACTERISTICS 174 Communication Devices 175 Example: Asynchronous Serial Devices 177 Sequentially Accessed Storage Devices 178 Example: Traditional Magnetic Tape 179 Randomly Accessed Storage Devices 179 Example: Magnetic Disk 180 Example: Optimizing Access on Magnetic Disks 182 Example: CD-ROM and DVD 186 5.6 SUMMARY 188 5.7 EXERCISES 188 Lab Exercise 5. 1 A FLOPPY DISK DRIVER 190 Background 191 Attacking the Problem 194 Chapter6 IMPLEMENTING PROCESSES, THREADS, AND RESOURCES 197 6.1 THE TASK AT HAND 197 The Abstract Machine for Classic Processes 199 Supporting Modem Processes and Threads 200 Resources 202 The Process Address Space 203 OS Families 204 Process Manager Responsibilities 205 6.2 THE HARDWARE PROCESS 206 6.3 THE ABSTRACT MACHINE INTERFACE 208 6.4 THE PROCESS ABSTRACTION 211 Example: Linux Process DeScriptor 214 Example: Windows NT/2000/XP Process DeScriptors 215 6.5 THE THREAD ABSTRACTION 216 Example: Linux Thread DeScriptor 217 Example: Windows NT/2000/XP Thread DeScriptors 218 6.6 STATE DIAGRAMS 219 Example: UNIX State Diagram 221 6.7 RESOURCE MANAGERS 222 6.8 GENERALIZING PROCESS MANAGEMENT POLICIES 226 Refining the Process Manager 227 Specializing Resource Allocation Strategies 228 6.9 SUMMARY 228 6.10 EXERCISES 229 Lab Exercise 6. 1 KERNEL TIMERS 232 Background 232 Attacking the Problem 235 Lab Exercise 6.2 MANIPULATING KERNEL OBJECTS 240 Part A 240 Part B 240 Part C 240 Background 240 Passing Handles to Other Processes 245 Attacking the Problem 249 Chapter7 SCHEDULING 251 7.1 OVERVIEW 251 7.2 SCHEDULING MECHANISMS 253 The Process Scheduler Organization 253 Saving the Context 254 Voluntary CPU Sharing 256 Involuntary CPU Sharing 258 Performance 259 7.3 STRATEGY SELECTION 260 Scheduler Characteristics 260 A Model to Study Scheduling 261 Example: Partitioning a Process into Small Processes 263 7.4 NONPREEMPTIVE STRATEGIES 264 First-come-first-served 265 Example: Predicting Wait Tunes for FCFS 267 Shortest Job Next 267 Example: Appmximating System Load 264 Priority Scheduling 268 Deadline Scheduling 270 7.5 PREEMPTIVE STRATEGIES 271 Round Robin 272 Multiple-Level Queues 274 7.6 IMPLEMENTING THE SCHEDULER 275 Example: The Linux Scheduling Mechanism 276 Example: BSD UNIX Scheduling Policy 278 Example: Windows NT/2000/XP Thread Scheduling 279 7.7 SUMMARY 279 7.8 EXERCISES 280 Lab Exercise 7. 1 ANALYZING THE ROUND ROBIN SCHEDULING 283 Background 284 Attacking the Problem 288 chapter8 BASIC SYNCHRONIZATION PRINCIPLES 290 8. 1 COOPERATING PROCESSES 290 Critical Sections 295 Deadlock 300 Resource Sharing 303 8.2 EVOLVING FROM THE CLASSIC SOLUTION 303 8.3 SEMAPHORES: THE BASIS OF MODERN SOLUTIONS 306 Principles of Operation 307 Es, ample: Using Semaphores 309 Practical Considerations 315 8.4 SYNCHRONIZATION IN SHARED MEMORY MULTIPROGESSORS 320 8.5 SUMMARY 321 8.6 EXERCISES 321 Lab Exercise 8. 1 BOUNDED BUFFER PROBLEM 326 Background 326 Attacking the Problem 334 chapter9 HIGH-LEVEL SYNCHRONIZATION AND INTERPROCESS COMMUNICATION 335 9.1 ALTERNATIVE SYNCHRONIZATION PRIMITIVES 335 AND Synchronization 337 Example: Using AND Synchronization to Solve the Dining Philosophers Problem 339 Events 340 Example: Using Generic Events 341 Example: Windows NT/2000/XP Dispatcher Objects 342 9.2 MONITORS 344 Principles of Operation 344 Condition Variables 345 Example: Using Monitors 348 Some Practical Aspects of Using Monitors 352 9.3 I NTERPROCESS COMMUNICATION 352 The Pipe Model 353 Message Passing Mechanisms 354 Mailboxes 354 Message Protocols 355 Using the send and receive Operations 356 Example: Synchronized IPC 358 Deferred Message Copying 358 9.4 SUMMARY 359 9.5 EXERCISES 360 Lab Exercise 9. 1 USING PIPES 363 Background 364 Attacking the Problem 369 Lab Exercise 9.2 REFINING THE SHELL 371 Background 371 Attacking the Problem 373 Chapter10 DEADLOCK 374 1O. 1 BACKGROUND 374 Prevention 378 Avoidance 379 Detection and Recovery 379 Manual Deadlock Management 380 10.2 A SYSTEM DEADLOCK MODEL 380 Example: Single Resource Type 382 10.3 PREVENTION 384 Hold and Wait 385 Circular Wait 386 Allowing Preemption 388 10.4 AVOIDANCE 389 The Bankers Algorithm 392 Example: Using the Bankers Algorithm 393 10.5 DETECTION AND RECOVERY 395 Serially Reusable Resources 396 Faample: Serially Reusable Resource Graphs 401 Consumable Resources 403 General Resource Systems 408 Recovery 408 10.6 SUMMARY 410 10.7 EXERCISES 410 Chapter11 MEMORY MANAGEMENT 414 11.1 THE BASICS 415 11.2 THE ADDRESS SPACE ABSTRACTION 419 Managing the Address Space 419 Example: Static Address Binding 422 Dynamic Memory for Data Structures 427 Modem Memory Binding 427 11.3 MEMORY ALLOCATION 429 Fixed-Partition Memory Strategies 430 Variable-Partition Memory Strategies 431 Example: The Cost of Moving Programs 433 Contemporary Allocation Strategies 436 11.4 DYNAMIC ADDRESS SPACE BINDING 436 Runtime Bound Checking: The Isolation Mechanism 440 11.5 MODERN MEMORY MANAGER STRATEGIES 441 Swapping 442 Virtual Memory 444 Example: Using Cache Memory 446 Shared-Memory Multiprocessors 447 11.6 SUMMARY 450 11.7 EXERCISES 451 Lab Exercise 11. 1 USING SHARED MEMORY 454 Background 454 Attacking the Problem 458 Chapter12 VIRTUAL MEMORY 460 12.1 THE TASK AT HAND 460 12.2 ADDRESS TRANSLATION 462 Address Space Mapping 462 Segmentation and Paging 464 12.3 PAGING 466 Paging Virtual Address Translation 468 Example: Contemporary Page Table Implementations 472 12.4 STATIC PAGING ALGORITHMS 473 The Fetch Policy 474 Demand Paging Algorithms 475 Stack Algorithms 479 Implementing LRU 480 Paging Performance 481 12.5 DYNAMIC PAGING ALGORITHMS 483 The Working Set Algorthm 483 Example: Working Set Algorithm 485 Implementing the Working Set Algorithm 487 Example: Taking Advantage of Paging with IPC 489 Example: Windows NT/2000/XP Virtual Memory 489 Example: Linux Virtual Memory 493 12.6 SEGMENTATION 495 Address Translation 495 Implementation 497 Example: The Multics Segmentation System 500 12.7 MEMORY-MAPPED FILES 502 12.8 SUMMARY 504 12.9 EXERCISES 505 Lab Exercise 12. 1 MEMORY-MAPPED FILES 508 Background 508 Attacking the Problem 511 Chapter13 FILE MANAGEMENT 514 13.1 THE TASK AT HAND 514 13.2 FILES 516 Low-level Files 520 Structured Files 521 Database Management Systems 527 Multimedia Storage 528 13.3 LOW-LEVEL FILE IMPLEMENTATIONS 528 The OPEN and CLOSE Operations 529 Example: UNIX Open and Close 532 Block Managcmcnt 534 Example: UNIX File Structure 537 Example: The DOS FAT File System 539 Reading and Writing the Byte Stream 541 13.4 SUPPORTING HIGH-LEVEL FILE ABSTRACTIONS 544 Structured Sequential Files 545 Indexed Sequential Files 545 Database Management Systems 546 Multimedia Docmnants 546 13.5 DIRECTORIES 546 Directory Structures 547 Example: Some Directory Approaches 549 13.6 IMPLEMENTING DIRECTORIES 551 Directory Entries 551 Opening a File 552 13.7 FILE SYSTEMS 552 Example: The ISO 9660 File System 553 Mounting File Systems 556 Heterogeneous File Systems 557 13.8 SUMMARY 558 13.9 EXERCISES 559 Lab Exercise 13.1 A SIMPLE FILE MANAGER 561 Background 562 Attacking the Problem 564 Chapter14 PROTECTION AND SECURITY 568 14.1 THE PROBLEM 568 The Goal 570 Policy and Mechanism 571 Context for Protection and Security 573 The Cost of Protection Mechanisms 575 14.2 AUTHENTICATION 575 External User Authentication 576 Example: Windows NT/2000/XP User Authentication 579 Internal Thread/Process Authentication 583 Authentication in the Network 583 Software Authentication 586 14.3 AUTHORIZATION 588 Ad Hoc Authorization Mechanisms 590 A General Model for Authorization 592 Implementing Security Policies 595 Implementing General Authorization Mechanisms 597 Protection Domains 598 Implementing the Access Matrix 600 14.4 CRYPTOGRAPHY 604 The Big Picture 605 Private Key Encryption 606 Public Key Encryption 609 Example: PGP Encryption 610 Internet Content Delivery 610 14.5 SUMMARY 612 14.6 EXERCISES 612 Chapter15 NETWORKS 615 15.1 FROM COMPUTER COMMUNICATIONS TO NETWORKS 616 Switched Networks 616 Network Hardware Requirements 618 Network Software Requirements 619 15.2 THE ISO OSI NETWORK ARCHITECTURE MODEL 621 The Evolution of Network Protocols 621 The ISO OSI Model 622 15.3 MEDIA ACCESS CONTROL MAC PROTOCOLS 625 The Physical Layer 626 Example: Fast Physical Layers 628 The Data Link Layer 629 Contemporary Networks 630 15.4 THE NETWORK LAYER 632 Internet Addresses 635 Routing 636 Using the Network Layer 638 Example: Latency in the Intemet 639 15.5 THE TRANSPORT LAYER 640 Cormmunication Ports 640 Data Types 641 Reliable Communication 642 Example: Datagrams and Virtual Circuits 643 1S.6 USING THE TRANSPORT LAYER 644 Naming and Addresses 644 Example: The Domain Name Service 646 The Client-Server Model 646 15.7 NETWORK SECURITY 648 Transport Layer Security: Firewalls 649 Network Layer Security: IPSEC 651 15.8 SUMMARY 651 15.9 EXERCISES 652 Lab Exercise 15. 1 USING TCP/IP 655 Background 655 Example: The WinSoek Package 656 Attacking the Problem 661 Chapter16 REMOTE FILES 662 16.1 SHARING INFORMATION ACROSS THE NETWORK 662 Explicit File Copying Systems 665 A Seamless File System Interface 667 Distributing the Work 669 16.2 REMOTE DISK SYSTEMS 671 Remote Disk Operation 672 Performance Considerations 674 Reliability 675 The Future of Remote Disks 678 16.3 REMOTE FILE SYSTEMS 678 The General Architecture 679 Block Caching 680 Crash Recovery 683 16.4 PILE-LEVEL CACHING 686 The Andrew File System 687 The LOCUS File System 688 16.5 DIRECTORY SYSTEMS AND THEIR IMPLEMENTATIONS 690 Filenames 690 Opening a File 692 16.6 SUMMARY 69:3 16.7 EXERCISES 694 Chapter17 DISTRIBUTED COMPUTING 696 17.1 DISTRIBUTED OS MECHANISMS 696 17.2 DISTRIBUTED PRIMARY MEMORY 699 Remote Memory 703 Example: The Linda Programming Language 704 Distributed Shared Memory 706 17.3 REMOTE PROCEDURE CALL 708 How Does RPC Work 708 Implementing RPC 710 17.4 REMOTE OBJECTS 714 Thc Emerald System 714 CORBA 715 Java Ranote Objects 717 17.5 DISTRIBUTING PROCESS MANAGEMENT 718 General Process Management 718 Process and Thread Creation 719 Scheduling 720 Migration and Load Balancing 720 Distributed Synchronization 721 17.6 SUMMARY 727 17.7 EXERCISES 728 Lab Exercise 17.1 USING REMOTE PROCEDURE CALL 730 Background 730 Attacking the Problem 738 Chapter18 DISTRIBUTED PROGRAMMING RUNTIME SYSTEMS 739 18.1 SUPPORTING DISTRIBUTED SOFTWARE WITH MIDDLEWARE 739 18.2 CLASSIC DISTRIBUTED APPLICATION PROGRAMS 740 18.3 MIDDLEWARE SUPPORT FOR CLASSIC DISTRIBUTED PROGRAMMING 742 PVM 743 The Beowulf Cluster Environment 746 The OSF Distributed Computing Environment 747 18.4 DISTRIBUTED PROGRAMMING ON THE WEB 7SS 18.5 MIDDLEWARE SUPPORT FOR MOBILE CODE 756 Java and the Java Virtual Machine 757 The ECMA-335 Common Language Infrastructure 763 18.6 SUMMARY 770 18.7 EXERCISES 771 Chapter19 DESIGN STRATEGIES 772 19.1 DESIGN CONSIDERATIONS 772 Performance, Performance, Performance 773 Trusted Software 774 Modularization 774 Portability 778 19.2 MONOLITHIC KERNELS 778 Example: The UNIX Kernel 779 Example: MS-DOS 779 19.3 MODULAR ORGANIZATION 781 Example: Choices: An Object-Oriented OS 781 19.4 EXTENSIBLE NUCLEUS, OR MIGROKERNEL, ORGANIZATION 784 Example: The MACH Operating System 785 19.5 LAYERED ORGANIZATIONS 793 19.6 OPERATING SYSTEMS FOR DISTRIBUTED SYSTEMS 795 Network Operating Systems 795 Example: BSD UNIX 796 Distributed Operating Systems 797 Example: The CHORUS Operating System 798 19.7 SUMMARY 802 19.8 EXERCISES 803 Chapter20 THE LINUX KERNEL 804 20.1 THE LINUX KERNEL 804 20.2 KERNEL ORGANIZATION 804 Using Kernel Services 805 Daemons 807 Starting the Kernel 808 Control In the Machine 808 20.3 MODULES AND DEVICE MANAGEMENT 809 Module Organization 809 Module Installation and Removal 810 20.4 PROCESS AND RESOURCE MANAGEMENT 810 Running the Process Manager 812 Creating a New Task 813 IPC and Synchronization 814 The Scheduler 815 20.5 MEMORY MANAGER 817 THe Virtual Address Space 819 The Page Fault Handler 819 20.6 FILE MANAGEMENT 821 20.7 SUMMARY 824 Chapter21 THE WINDOWS NT/2OOO/XP KERNEL 826 21.1 INTRODUGTION 826 21.2 THE NT KERNEL 828 Objects 828 Threads 829 Multiprocess Synchronization 829 Traps, Interrupts, and Exceptions 830 21.3 THE NT EXECUTIVE 831 Object Manager 831 Process and Thread Manager 833 Virtual Memory Manager 834 I/O Manager 835 The Cache Manager 837 21.4 KERNEL LOCAL PROCEDURE CALLS AND IPC 840 The Native APl 841 21.5 SUBSYSTEMS 841 21.6 SUMMARY 843 GLOSSARY 844 BIBLIOGRAPHY 873 INDEX 878
操作系统(英文版·第3版)-图书简介: 本书是目前国际上采用率最高的操作系统教科书之一,因为在介绍现代操作系统的基本原理和使用来自Linux、UNIX和Windows的实例进行实践上取得了极佳的平衡,而广受好评。本书有助于深化读者对现代操作系统的理解和应用。在第3版中,作者对操作系统的原理的介绍覆盖面更广,并让读者有更多的机会来实践现实世界的例子。 第3版中的新内容 · 使用最通用的操作系统作为原理举例及上机环境,包括Linux、UNIX和Windows。 · 包含了更多的实验!比前一版本的例子要多一倍,给了学生很多实际操作Linux、UNIX和Windows的机会。 · 加入或更新了以下信息: 手持和无线系统 安全 线程,包括UNIX和Windows线程 SMP/多处理机 存储媒体,包括DVD和其他ISO 9000设备
操作系统(英文版·第3版)-相关最新图书 ·编译器构造 C语言描述(英文版) ·新编楷书字典 ·方俊院士文集 ·新编行书字典 ·汽车修理工(初、中级)国家职业资格证书取证问答 ·电路原理图与PCB板设计教程PROTEI DXP ·超凡世界:中国寺庙200神 ·郭沫若与二十世纪中国文化 ·艺术之维 ·遗传学实验 ·数学分析 下册 ·光设计室内效果图设计经典 ·地心游记(精装本) ·唐才子传校笺(第五册) ·2005全国二级建造师执业资格考试一本通 房屋建筑工程专业 ·医古文(供中医药类专业用) ·三清堂随笔 ·世界文明的源泉(上)·经典文献(第3版) ·雷诺阿-优雅自然的美 ·年年岁岁一床书(红尘中的科学文化阅读) |