Linux 2.6 Device Drivers
This 3 day course teaches the students how the Linux 2.6 kernel is structured,
how to develop and debug a device driver, and how to implement device drivers
in a performance and stability centric manner. In this class, each student will
implement, compile, load, debug, and unload a Linux 2.6 device driver.
This class has a maximum size of
only 7 students!
Course Outline
-
Day 1:
- Linux 2.6 Kernel Overview
- Memory Management
- Memory IO Schedulers
- Process Management
- Process & Thread Abstraction
- Kernel Tables
- File System Management
- System Call Subsystem
- IO Management, Direct IO, Memory Mapping
- Network Management
- Install and Configure a Linux 2.6 Kernel
- Lab
-
Day 2:
- Performance Enhancements in Linux 2.6
- Performance Tuning Process
- Workload Profiling
- Linux 2.6 Loadable Modules
- Character & Block Devices
- Tracing and Debugging in Linux 2.6
- Design of a Device Driver Skeleton
- Implementation of a Character Device Driver (I)
- Lab
-
Day 3:
- Compiling a Linux 2.6 Device Driver
- Semaphores, Mutex's, and Spinlocks
- Interrupt Handler
- Identifying HW in Linux 2.6
- PCI and USB Hardware Considerations
- Implementation of a Character Device Driver (II)
- Lab
-
Tuition: $2500.00 per student.
Please Note:
Payment must be made in full 10 working days before the course begins.
100% refund for cancellation within 8 business days of the course start
date. Please inquire for contract rates.