Skip Navigation Links

Course Length:
5 Days
Course Description:
RHD362 teaches experienced programmers how to develop device drivers specifically for Linux systems. By the end of this course, you will understand the Linux architecture, hardware and memory management, modularization, and the layout of the kernel source. You also will have practiced key concepts and skills for the development of character, block, and network drivers.
Who Should Attend:
This course is for experienced C programmers with a good understanding of the Linux kernel who want to learn how to develop device drivers for Linux systems.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • Develop device drivers specifically for Linux systems.
  • Understand the Linux architecture, hardware and memory management, modularization, and the layout of the kernel source.
  • Grasp key concepts and skills for the development of character, block, and network drivers.
Prerequisites:
Experience in C programming is required. Students should also have taken RHD143 - Red Hat Linux Programming Essentials or have equivalent experience.
Course Outline:
  • Device Driver Basics
  • udev
  • Writing to a Device
  • /proc Entries
  • Module Parameters and /sys
  • Module Dependencies
  • Licensing
  • Dynamic Module Loading
  • ioctl
  • mmap
  • DMA and Asynchronous Transfers
  • Interrupts
  • HAL
  • Locking
  • Driver Updates
  • Driver Packaging
  • Power Management
  • User Space Drivers
  • Contributing to the Entropy Pool
  • PCI
  • Block Devices
  • Network Devices