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