DRV150 - Windows Internals Essentials for Device Driver Developers

A guided tour of the internal design and implementation of the current Windows operating systems, with particular emphasis on those aspects that are important to driver developers.

Level: Intermediate
Audience:

Windows driver developers; hardware engineers

 

Description:

In this seminar you will learn the "internals" of the most important areas of the Windows operating system as they apply to device driver development. Many aspects of the system, such as IRQLs, spinlocks, and executive resources — described only briefly in our other short-form "Windows Internals" seminars — are covered here in complete detail. On the other hand, some internals topics, such as the complete details of thread scheduling, are left for the attendees' later research. This permits us to give appropriate time to the topics of most interest to driver writers.

Topics:
  • Tools and terminology
  • System architecture overview
  • Program execution environment
  • Kernel mode components
  • Environment subsystems and user-to-kernel call implementation
  • Object manager and security
  • Kernel mode interfaces to object manager
  • Operating system execution contexts and environment
  • IRQLs and spinlocks
  • Other serialization mechanisms
  • Using system threads
  • Scheduling and waiting; multiprocessor issues
  • Virtual memory implementation and physical memory management
  • Basic I/O driver call path
Prerequisites:

Experience using or administering Windows operating systems, and familiarity with device driver concepts.

Operating systems supported: Windows 2000 through Windows 10/Windows Server 2012 R2
Durations and formats: 1 day lecture only
Labs:

This seminar is intended as a "short course" and as such is not offered with labs. We do perform frequent demonstrations that illustrate the principles discussed. Please see INT201, Windows Internals if you are interested in a longer seminar that includes hands-on labs.