Linux Kernel & Device Driver Programming

COP5641 Spring 2013

[Home] [Syllabus] [Calendar] [Class Code] [Assignments] [References] [Final Projects]


This is a hands-on course in operating system internals. Students configure, compile, and install a Linux kernel from sources; do the same for a kernel module; navigate and read the Linux kernel sources; design and implement a kernel module of your own; modify, or design and implement from scratch, a device driver; measure the performance of what you have modified or implemented.

This course is intended for people who have already completed an undergraduate course on operating systems like COP 4610, or who can convince the instructor that they have gained an equivalent general knowledge of operating systems in some other fashion. The course syllabus (see top) contains more specific prerequisites. Please see the final projects link above for examples of previous class projects.

Finally, this course is a continuation of the class developed by Ted Baker and Andy Wang, development of which was supported in part by National Science Foundation Grant CNS-EHS-0509131. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Previous Courses

This course has been taught previously, usually over a short summer semester.