Développement-Windows XP-Vista-7
Transcription
Développement-Windows XP-Vista-7
Développement-Windows XP-Vista-7 Win Internals for programmers 5 Jours [35 Heures] MS50154EN Plan de cours disponible à l’adresse http://www.adhara.fr/MS50154EN.aspx Objectif This five-day instructor-led course provides students with the knowledge and skills to develop, debug and troubleshoot low-level Windows applications. The course provides a detailed view of the Windows operating system architecture, its key components, undocumented interfaces and core interactions through the use of debugging utilities, inspection tools and exercises. Participant This course is intended for systems programmers, device driver developers and other Win32 developers with at least 1 year of experience programming native applications for Windows. Prérequis Before attending this course, students must have: •Thorough understanding of Win32 programming (this is not a Win32 programming course). •Working knowledge of the C programming language. •Familiarity with the Windows operating system on a power-user level. •Familiarity with operating systems concepts (multiprocessing, thread scheduling, virtual memory) is preferable but not a must. •Familiarity with object-oriented programming paradigms is preferable but not a must. Remarque Le support de cours est en anglais. Programme 1. Windows History and Characteristics The Evolution of Windows: Windows 1.0 through Windows Vista Back to 1989: Windows NT Design Goals Windows Versions and Editions Windows Programming Interfaces: Win32, COM, .NET 2. Tools Sysinternals Tools – Process Explorer, Process Monitor Resource Kit and Support Kit Tools Debugging Tools for Windows Understanding Debugging Symbols Kernel Debuggers 3. System Architecture Kernel-Mode vs. User-Mode Execution Primary System Components Types of User-Mode Processes Hard-Wired System Processes 4. Startup and Shutdown Windows Startup – from Setup to Shell Windows Shutdown – Applications, Services and Drivers adhara Formation Catalogue Informatique Page 1 sur 3 Développement-Windows XP-Vista-7 Win Internals for programmers 5 Jours [35 Heures] MS50154EN Plan de cours disponible à l’adresse http://www.adhara.fr/MS50154EN.aspx 5. System Mechanisms Trap and Interrupt Dispatching Interrupt Request Levels (IRQL) Exception Handling in User-Mode and Kernel-Mode Deferred Procedure Calls (DPC) Asynchronous Procedure Calls (APC) in User-Mode and Kernel-Mode The LPC Facility System Worker Threads 6. The Object Manager Resource Management in the Operating System Handles and Handle Tables Creating, Naming, Sharing, and Duplicating Kernel Objects Executive Object Types 7. Process and Thread Internals Process Data Structures: Kernel, Executive, Environment Subsystem Process Creation Flow Thread Data Structures: Kernel, Executive, Environment Subsystem Thread Creation Flow 8. Thread Scheduling Thread Scheduling in a Preemptive Multitasking Operating System Thread Execution States and Transitions Dispatcher Database Quantum Length, Tuning, and Boosts Thread Priority and Priority Boosts Thread Scheduling on a Multi-Processor System Thread CPU Affinity and Non-Uniform Memory Access (NUMA) 9. Synchronization Mechanisms Concurrency and the Need for Synchronization Kernel Synchronization: IRQL, Spinlocks and Queued Spinlocks Executive Synchronization: Dispatcher Objects and Wait Blocks Waiting for and Signaling Dispatcher Objects Tracing Dispatcher Objects and Wait Chain Traversal 10. The Memory Manager Virtual Memory and Paging Allocating Memory: Reserve, Commit, Heap Address Space Layout: User-Mode and Kernel-Mode, 32-bit and 64-bit Virtual Address Translation, Translation Look-Aside Buffer (TLB) Protecting Memory Locking Pages into Memory, Address Windowing Extensions (AWE) System Memory Pools and Look-Aside Lists adhara Formation Catalogue Informatique Page 2 sur 3 Développement-Windows XP-Vista-7 Win Internals for programmers 5 Jours [35 Heures] MS50154EN Plan de cours disponible à l’adresse http://www.adhara.fr/MS50154EN.aspx Working Set Management: Fetch, Placement and Replacement Policies Page Frame Number (PFN) Database 11. The I/O System The I/O Manager, Power Manager, and Plug-and-Play Manager Device Driver Structure I/O Data Structures: File Objects, Driver Object, Device Object I/O Flow: I/O Request Packets A Glimpse Towards Windows Driver Foundation (WDF) 12. The Cache Manager Operating System File Caching vs. CPU Caching Cache Structure: Cache Control Blocks, Private Control Blocks Cache Operation: Read and Write, Fast I/O Controlling the Cache Manager: Hints to CreateFile 13. User-Mode Debugging Understanding the Role of Debugging Symbols Generating Dump Files: Crash and Hang Scenarios Debugging Application Crashes Debugging Application Hangs and Deadlocks 14. Kernel-Mode Debugging Blue Screen of Death: When Does the Operating System Crash? Manually Obtaining a Dump of the System Debugging Crashes Using Driver Verifier to Pinpoint Faulting Drivers 15. What's New in Windows Vista? Application Restart and Recovery, Restart Manager Kernel Transaction Manager: Transactional File System and Registry I/O and Memory Management Improvements Overview of Networking Changes 16. What's Different in 64-Bit Windows? 64-Bit Processor Architecture (AMD64) Windows on Windows 64 (WOW64) Architecture File System and Registry Redirection and Virtualization Performance Improvements on 64-Bit Windows adhara Formation Catalogue Informatique Page 3 sur 3