: Windows Internals Essentials for Application Developers

A brief but comprehensive guided tour of the internal design and implementation of Windows operating systems, with focus on topics of interest to application developers.

Level

Basic to Intermediate

Audience

Windows applications developers

Description

In this seminar you will learn the “internals” of the most important areas of the Windows operating system, with emphasis on topics relevant to application development. We describe details of thread scheduling and the "wait" architecture, including the internal implementation of thread priorities, of CPU affinity, and of the preferred/previous CPU mechanism. We also show how the memory management component of the system works, both in terms of virtual and physical resources.

This information is vital for application developers, who need to know the impact on the system of various design approaches and of specific APIs. You will also learn how the operation and performance of each system mechanism we describe is reflected in the various system monitoring tools. 

Topics

  • Tools and terminology

  • System architecture overview

  • Program execution environment

  • Key kernel mode components

  • Environment subsystems and user-to-kernel call implementation

  • Objects, handles, and security

  • Operating system execution contexts and environment

  • Scheduling and waiting; multiprocessor issues

  • User-mode heaps

  • Virtual memory implementation and features

  • Physical memory management

  • I/O calls and the file system cache

Prerequisites

Experience developing applications under Windows or other operating systems.

Windows versions

Windows 7, Server 2008, Windows Vista, Windows Server 2003, Windows XP, Windows 2000

Duration 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.

 

Copyright © 2010 by Azius Developer Training