This Linux online training course introduces Linux device drivers and shows how they interact with the Linux kernel. Numerous programming exercises reveal the rich set of kernel APIs that provide a multitude of services to driver programmers. This training teaches you how Linux handles asynchronous I/O in a way that is totally transparent to applications. You'll examine the unique problems of debugging in Kernel space. Perhaps most important, you'll see how much of a device driver involves interactions with the kernel that have nothing to do with accessing physical hardware. Although the exercises are carried out on a PC, much of the code is easily ported to other architectures supported by Linux.
To successfully complete this device driver training you should be proficient in C programming and have some experience with Linux at the application level. You will need a PC running a fairly recent Linux distribution such as Fedora 11 or 12. To complete the hardware-based exercises in modules 6 and 7 you will need a standard 25-pin parallel port.
As a result of taking this Linux device driver course, you will be able to:
•Describe the four types of devices and their properties
•Design, program, and debug kernel loadable moduleshttp://www.gogotraining.com