Inside Microsoft Windows 2000, 3/e

David A. Solomon, Mark E. Russinovich, Mark Russinovich

  • 出版商: MicroSoft
  • 出版日期: 2000-09-16
  • 售價: $2,010
  • 貴賓價: 9.5$1,910
  • 語言: 英文
  • 頁數: 600
  • 裝訂: Hardcover
  • ISBN: 0735610215
  • ISBN-13: 9780735610217
  • 已絕版

買這商品的人也買了...

商品描述

Description:

The comprehensive developer's guide to the Windows 2000 kernel

Master the inner workings of Microsoft’s premier operating system with this newly updated guide to the Microsoft® Windows® 2000 core architecture and internals. Written in partnership with the product development team and with full access to the Windows 2000 source code, INSIDE MICROSOFT WINDOWS 2000, THIRD EDITION, provides a detailed look beneath the surface of Windows 2000. It’s packed with the latest concepts and terms, kernel and source code specifics, undocumented interfaces, component and tool descriptions, and architectural perspectives that reveal the inner workings of Windows 2000. In short, it delivers all the minute details that developers need to debug code and to make better design decisions. Administrators also will find this book invaluable for understanding system performance and troubleshooting problems. Taking you deep inside Windows 2000, this book gives you:

• Valuable details on topics such as multiprocessor support, thread scheduling, interrupt handling, memory management, security, I/O processing, file system drivers, and file caching.
• New information about subjects such as the boot and shutdown processes, blue screen crashes, registry internals, Microsoft Win32® service internals, Windows Management Instrumentation (WMI), Address Windowing Extensions (AWE), Plug and Play, power management, the Windows Driver Model (WDM), storage architecture, NTFS enhancements, and networking.
• Hands-on experiments that demonstrate how to use the latest utilities to see the internal behavior of Windows 2000.
• Abundant insights that you can quickly apply for better design, debugging, performance, and troubleshooting
• Tools and documentation on CD-ROM, including LiveKd, a unique tool that allows you to use standard Microsoft kernel debuggers to examine internal information on a live system (that is, without a host computer or a null modem cable); tools and technical articles from Sysinternals (www.sysinternals.com); and a fully searchable electronic version of the book

 

 

Table of Contents:

Historical Perspective xv
Foreword xvii
Acknowledgments xix
Introduction xxv
CHAPTER ONE  Concepts and Tools 1
    Foundation Concepts and Terms 1
        Win32 API 2
        Services, Functions, and Routines 3
        Processes, Threads, and Jobs 4
        Virtual Memory 7
        Kernel Mode vs. User Mode 9
        Objects and Handles 14
        Security 15
        Registry 16
        Unicode 17
    Digging into Windows 2000 Internals 17
        Tools on the Companion CD 19
        Performance Tool 20
        Windows 2000 Support Tools 20
        Windows 2000 Resource Kits 21
        Kernel Debugging Tools 21
        Platform Software Development Kit (SDK) 24
        Device Driver Kit (DDK) 24
        Systems Internals Tools 25
CHAPTER TWO  System Architecture 27
    Requirements and Design Goals 27
    Operating System Model 30
        Portability 32
        Symmetric Multiprocessing 33
        Scalability 35
    Architecture Overview 35
    Windows 2000 Product Packaging 38
        Checked Build 41
        Multiprocessor-Specific System Files 42
    Key System Components 46
        Environment Subsystems and Subsystem DLLs 47
        Ntdll.dll 60
        Executive 60
        Kernel 63
        Hardware Abstraction Layer 66
        Device Drivers 67
        Peering into Undocumented Interfaces 71
        System Processes 74
CHAPTER THREE  System Mechanisms 89
    Trap Dispatching 89
        Interrupt Dispatching 91
        Exception Dispatching 113
        System Service Dispatching 121
    Object Manager 125
        Executive Objects 128
        Object Structure 130
    Synchronization 153
        Kernel Synchronization 154
        Executive Synchronization 158
    System Worker Threads 165
    Windows 2000 Global Flags 168
    Local Procedure Calls (LPCs) 171
CHAPTER FOUR  Startup and Shutdown 177
    Boot Process 177
        Preboot 177
        The Boot Sector and Ntldr 180
        Initializing the Kernel and Executive Subsystems 190
        Smss, Csrss, and Winlogon 194
    Safe Mode 196
        Driver Loading in Safe Mode 197
        Safe-Mode-Aware User Programs 199
        Boot Logging in Safe Mode 200
    Recovery Console 201
    Shutdown 204
    System Crashes 206
        Why Does Windows 2000 Crash? 206
        The Blue Screen 207
        Crash Dump Files 210
CHAPTER FIVE  Management Mechanisms 215
    The Registry 215
        Registry Data Types 216
        Registry Logical Structure 217
        Registry Internals 224
    Services 236
        Service Applications 237
        Service Accounts 244
        The Service Control Manager 247
        Service Startup 251
        Startup Errors 255
        Accepting the Boot and Last Known Good 256
        Service Failures 258
        Service Shutdown 259
        Shared Service Processes 260
        Service Control Programs 264
    Windows Management Instrumentation 265
        WMI Architecture 266
        Providers 268
        The Common Information Model and the Managed Object Format Language 269
        The WMI Namespace 272
        Class Association 273
        WMI Implementation 275
        WMI Security 275
CHAPTER SIX  Processes, Threads, and Jobs 277
    Process Internals 277
        Data Structures 277
        Kernel Variables 293
        Performance Counters 293
        Relevant Functions 294
        Relevant Tools 295
    Flow of CreateProcess 304
        Stage 1: Opening the Image to Be Executed 306
        Stage 2: Creating the Windows 2000 Executive Process Object 309
        Stage 3: Creating the Initial Thread and Its Stack and Context 314
        Stage 4: Notifying the Win32 Subsystem About the New Process 314
        Stage 5: Starting Execution of the Initial Thread 316
        Stage 6: Performing Process Initialization in the Context of the New Process 316
    Thread Internals 317
        Data Structures 317
        Kernel Variables 329
        Performance Counters 329
        Relevant Functions 330
        Relevant Tools 331
    Flow of CreateThread 333
    Thread Scheduling 337
        Overview of Windows 2000 Scheduling 337
        Priority Levels 341
        Win32 Scheduling APIs 343
        Relevant Tools 344
        Real-Time Priorities 346
        Interrupt Levels vs. Priority Levels 347
        Thread States 348
        Quantum 349
        Scheduling Data Structures 353
        Scheduling Scenarios 355
        Context Switching 359
        Idle Thread 359
        Priority Boosts 360
    Job Objects 374
CHAPTER SEVEN  Memory Management 379
    Memory Manager Components 380
        Configuring the Memory Manager 382
        Examining Memory Usage 385
    Services the Memory Manager Provides 389
        Reserving and Committing Pages 390
        Locking Memory 392
        Allocation Granularity 392
        Shared Memory and Mapped Files 393
        Protecting Memory 395
        Copy-on-Write 398
        Heap Functions 400
        Address Windowing Extensions 401
    System Memory Pools 403
        Look-Aside Lists 411
        Driver Verifier 413
    Address Space Layout 417
        User Address Space Layout 420
        System Address Space Layout 424
    Address Translation 429
        Translating a Virtual Address 431
        Page Directories 433
        Process and System Page Tables 435
        Page Table Entries 436
        Byte Within Page 438
        Translation Look-Aside Buffer 439
        Physical Address Extension 442
    Page Fault Handling 443
        Invalid PTEs 445
        Prototype PTEs 446
        In-Paging I/O 448
        Collided Page Faults 449
        Page Files 450
    Virtual Address Descriptors 452
    Working Sets 455
        Paging Policies 455
        Working Set Management 457
        Balance Set Manager and Swapper 462
        System Working Set 463
    Page Frame Number Database 465
        Page List Dynamics 469
        Modified Page Writer 472
        PFN Data Structures 474
    Section Objects 478
CHAPTER EIGHT  Security 487
    Security Ratings 487
    Security System Components 490
    Protecting Objects 494
        Access Checks 494
        Security Identifiers 497
        Tokens 499
        Impersonation 504
        Restricted Tokens 506
        Security Descriptors and Access Control 507
    Security Auditing 515
    Logon 521
        Winlogon Initialization 522
        User Logon Steps 523
CHAPTER NINE  I/O System 527
    Design Goals 527
    I/O System Components 528
        The I/O Manager 531
        Device Drivers 532
        The Plug and Play (PnP) Manager 541
        The Power Manager 546
    I/O Data Structures 553
        File Objects 554
        Driver Objects and Device Objects 556
        I/O Request Packets 562
        I/O Completion Ports 570
    Driver Loading, Initialization, and Installation 573
        The Start Value 574
        Device Enumeration 575
        Devnodes 579
        Devnode Driver Loading 581
        Driver Installation 583
    I/O Processing 586
        Types of I/O 587
        I/O Request to a Single-Layered Driver 590
        I/O Requests to Layered Drivers 597
        I/O Completion Port Operation 602
        Synchronization 604
CHAPTER TEN  Storage Management 607
    The Evolution of Windows 2000 Storage 607
    Partitioning 609
        Basic Partitioning 610
        Dynamic Partitioning 611
    Storage Drivers 617
        Disk Drivers 618
        Device Naming 619
        Basic Disk Management 620
        Dynamic Disk Management 621
        Disk Performance Monitoring 624
    Multipartition Volume Management 624
        Spanned Volumes 625
        Striped Volumes 626
        Mirrored Volumes 627
        RAID-5 Volumes 630
        Volume I/O Operations 632
    The Volume Namespace 634
        The Mount Manager 634
        Mount Points 636
        Volume Mounting 639
CHAPTER ELEVEN  Cache Manager 645
    Key Features of the Windows 2000 Cache Manager 645
        Single, Centralized System Cache 646
        The Memory Manager 646
        Cache Coherency 647
        Virtual Block Caching 649
        Stream-Based Caching 650
        Recoverable File System Support 650
    Cache Structure 651
    Cache Size 654
        Cache Virtual Size 654
        Cache Physical Size 655
    Cache Data Structures 659
        Systemwide Cache Data Structures 660
        Per-File Cache Data Structures 661
    Cache Operation 665
        Write-Back Caching and Lazy Writing 665
        Intelligent Read-Ahead 669
        System Threads 671
        Fast I/O 672
    Cache Support Routines 675
        Copying to and from the Cache 675
        Caching with the Mapping and Pinning Interfaces 677
        Caching with the Direct Memory Access Interfaces 679
        Write Throttling 680
CHAPTER TWELVE  File Systems 683
    Windows 2000 File System Formats 684
        CDFS 685
        UDF 685
        FAT12, FAT16, and FAT32 685
        NTFS 689
    File System Driver Architecture 690
        Local FSDs 690
        Remote FSDs 692
        File System Operation 694
    NTFS Design Goals and Features 700
        High-End File System Requirements 700
        Advanced Features of NTFS 702
    NTFS File System Driver 713
    NTFS On-Disk Structure