CN17500C/N1750 - Building OS/2 Device Drivers
Jump to navigation
Jump to search
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
- Device header
- 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