Unix Device Driver Development |
Duration: 3 days |
|
|
This hands-on course is intended for system programmers who will be writing Unix® device drivers |
|
- Programming experience with C is essential with C++ knowledge preferred
- Some knowledge of device driver development on other platforms is helpful but not required
|
|
|
Description |
This course gives developers the knowledge to design, write, and debug Unix® device drivers. |
|
Objectives |
- Explain the responsibilities and structure of a Unix device
- Understand the development and operating environment for a Unix device driver
- Write drivers for character devices (e.g., serial port)
- Write drivers for block devices (e.g., disk)
- Write driver for stream devices
- Understand how network drivers are written for Unix
- Debug and deploy Unix device drivers
|
|
Course Outline |
Device Driver Overview
- Unix OS Architecture
- Unix I/O System
- Types of Device Drivers
- Device Driver Models
Hardware Basics
- Terminology
- Device Registers
- Interrupts
- DMA
- Buses
Structure of a Driver
- Device Driver Entry Points
- Loading and Unloading a Driver
|
|
Character Drivers
- Hardware Resources
- Allocating I/O Addresses
- Interrupts
- interrupt routine
- Timeouts
Block Drivers
- Block Driver Overview
- Entry Points - strategy
- DMA
- Buffer Cache
Streams Drivers
- Streams Overview
- Streams Drivers Structures
- Entry Points
- Multiplexing Streams Drivers
Debugging Kernel Code | |