Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

Writing a Windows Device Driver

 

 

Description: 

This hands on training course provides the knowledge and practice necessary to begin writing Windows device drivers for Windows XP, Windows 2000.

This course provides a thorough grounding for Windows device driver development. Through lecture, class discussions and hands on lab work,

the student will develop an immediately useful knowledge of how to write a device driver that will interface hardware to the system and to application programs.

 

Overview Of Topics Covered

 

Basics:

·        Operating System Fundamentals

·        X86 Architecture and Windows

·        Kernel Mode Vs User Mode

·        Windows Architecture Overview

 

Windows Architecture

·        Operating System Architecture

·        Kernel,HAL and executive

·        Object Manager

·        Objects and handles

·        Memory manager

·        I/O manager

·        Introduction to Windows Driver Model

·        Layered Drivers

 

First Program:

·        Writing a hello world driver

·        Debug support routines

·        User mode debugger and Kernel mode debugger

·        Using Kernel Debugger to view debug messages

·        Service Control Manager

 

Driver Data Structures

·        Device/ Driver Object, IRP etc.

·        Device Objects and Device Stack

·        Device Extensions

·        Life Cycle of an IRP

 

 

Driver Basics - I

·        IRQ Levels 

·        Driver Threads

·        Multiprocessing, preemptive multithreading, interrupts, and their requirements for synchronization;

·        Primitives for accomplishing synchronization

·        Communication with Device Driver

·        Handling Application Requests

·        Input/Output Request Packets (IRP)

·        Completing IRPs 

Synchronization Techniques

·        Mutex

·        Spin locks

·        Semaphores

·        Timers & Events

 

Driver Basics - II

·        Driver Dispatch Routines

·        DeviceIoControl Interface

·        Handling Read requests

·        Handling Write requests

·        Application to driver data transfer mechanisms: Buffered, Direct & Neither I/O

·        Layered model of drivers

·        IRP stack locations

 

Interrupts and DPCs

·        Interrupt Fundamentals

·        Interrupt Object

·        Registering / Writing ISR

·        DPCs

·        Synchronization

           

           

Debugging

·        Driver Testing

·        System Crashes

·        Reasons for System Crash

·        The Blue Screen of Death

·        Reading Crash Screens

·        Crash Dump Files, Analyzing a Crash Dump,

·        Using Driver Verifier Tool

·        Using Kernel Debugger to debug drivers

 

Driver Programming Techniques

Driver Design Assignments

 

Mini-Project

 

Prerequisites: 

·        Knowledge of C programming

·        Understanding of Operating Systems Fundamentals is plus.