CN17500C/N1750 - Building OS/2 Device Drivers

You'll learn to develop, compile, install, and test device driver programs for the OS/2 1.3 and 2.X platforms.

How you will benefit
You'll be able to:
 * Develop, compile, install, and test device driver programs
 * Understand programming and operational characteristics common to both character and block device drivers
 * Grasp the structure and operation of OS/2 device drivers
 * Design and implement an OS/2 device driver for a peripheral
 * Understand bimodal operation (real and protected-model), ROM BIOS compatibility support, interrupt handling, serialization, and the use of device helper services

Topics

 * Device Driver Introduction
 * dd def PMD's, BDD's, PDD's, VDD's (char v. block)
 * Real versus protected
 * 16-bit segmented model - enhanced for OS/2 2.0


 * Operation
 * task time (init)
 * interrupt time (timer, IRQ's)


 * Structure
 * Device header
 * Device attribute
 * Strategy entry point
 * Initialization, command 0 (special case)
 * Ring 3
 * Application context
 * IOPL OK
 * Some API's available
 * Some development helpers
 * Sample code fragments


 * OS/2 Strategy Commands


 * Tools
 * MASM
 * ASDT - demo
 * ASDTSYM
 * IBM C/2
 * LINK 16-bit
 * Kernel debugger/ASDT


 * OS/2 Device Helpers


 * Using External Interrupts


 * Designing Block Device Drivers


 * Drivers That Use ABIOS
 * Device ID
 * Logical ID


 * OS/2 32-bit Enhancements
 * Using 32-bit code
 * Using 32-bit device helpers


 * Design Tips
 * Performance
 * 3 MS rule
 * Interrupt rules
 * Testing


 * Device Helper Reference


 * Demo Device Driver


 * Demo Device Driver Using C


 * Application/System Debug Tool - ASDT Reference


 * Lab Exercises
 * Character driver with initialization context only
 * Character driver with strategy commands, open, and write
 * Write under interrupt
 * Handling multiple overlapping requests
 * ABIOS with hardware interrupts

Prerequisites
You should have experience programming in Assembler or C language. You should also have completed "OS/2 2.X for Software Developers" (N1740) or have equivalent programming experience.

Download
N/A