Course Materials


Red Hatters and faculty at our partner universities and institutions often collaborate on the development of course materials related to open source and our core research areas of interest. Here, we make those materials available and invite you to share, re-use, and remix these materials and join in the collaboration.

COMP.5170 Introduction to Linux Kernel Development

Course materials are hosted externally.


University of Massachusetts Lowell



Lowell, Massachusetts

Fall and Spring

Twice per week


This course may not be offered at this time, or the offering institution’s registration period may not be open.

Courses listed in this directory may be in-person courses and/or may require enrollment at the offering university.


Course Summary

Linux is the most widely used operating system in the world. The core software component of the Linux operating system is the kernel. Some of its roles include managing hardware interactions, virtualizing system resources, and enforcing security constraints. In effect, the Linux kernel powers almost all of the world’s top supercomputers, android phones, and an innumerable variety of other computers. This course will introduce students to the Linux kernel development by focusing on device driver development, particularly character devices and the /proc and/sys interfaces. This will give students hands-on experience working with internal Linux kernel APIs for hardware access, memory management, DMA and interrupts, among other, and provide an overview of some of the core features and components of the kernel, such as scheduling, system calls, the boot process, and hardware description trees. Gaining an understand of the inner workings of the operating system and how to make changes to it will give students an invaluable perspective on how computers work behind the scenes, which will reveal a new layer of understanding to apply to any future software engineering practice.

Learn about more courses at the Course Material Catalog.