Introduction to Linux Kernel Development: University of Massachusetts Lowell Fall 2026

Week # Class date Assignment Due Topic
0x0 09/01 introductions, syllabus, what is linux?
0x1 09/08 setup architecture specific code, interrupts & exceptions, MMIO
0x2 09/15 E0 threads and processes, interprocess communication
0x3 09/22 P0 execution contexts, userspace vs kernelspace
0x4 09/29 E1 symmetric multiprocessing, locking, scheduling
0x5 10/06 P1 virtual memory, page tables, memory protection
0x6 10/13 class is cancelled - tuesday follows monday schedule
0x7 10/20 P2 kernel modules, modalias, udev, in vs out-of tree development
0x8 10/27 E2 block devices, partition tables, block drivers
0x9 11/03 E3 generic kernel virtual filesystem code
0xA 11/10 file systems, super blocks, inodes
0xB 11/17 P3 character drivers, file operations, device numbers
0xC 11/24 network devices, address families, protocols
0xD 12/01 F0 live driver debugging exercise
0xE 12/08 F1 final presentations
0xF TBD two additional sessions for more presentations during finals week

Frequently Asked Questions

Course Summary and Purpose

We guide students into the depths of the Linux kernel, introducing the concepts, tools, and frameworks necessary to become independent contributors to the Linux kernel in particular and open source software more broadly.

Course Description

Linux is the most widely used operating system in the world. It powers the world's top supercomputers, every Android phone, and the servers that host the internet's most popular websites. At the core of Linux is a software component called the kernel. It performs critical roles including managing communication with hardware, sharing system resources equitably, and enforcing security constraints. This course will introduce students to Linux kernel development through hands-on experience working with internal Linux kernel APIs and providing an overview of some of the core features and components of the kernel. Students will gain an invaluable perspective on how their computers work behind the scenes. By grasping the inner workings of the operating system and how to make changes to it, they will add a new layer of understanding to their mental model of computation that will pay dividends throughout their future in software engineering.

Course Objectives

Students will:

Required Materials

Attendance Policy

Attendance is required.

Late Work Policy

Late work will not be accepted.

Automatic Course Failure

If a student fails to complete a task by a deadline or fails to attend class with no prior notice, and we do not hear from the student within a week, we reserve the right to give the student a final course grade of F.

Grading Breakdown

Category Percentage
Programming Assignments 35%
Homework Exercises 15%
Midpoint Presentation 15%
Final Project 35%

Letter Grade Conversion

Percentage range Letter grade Grade points
90 ~ 100 A 4.0
85 ~ 89.99 A- 3.7
80 ~ 84.99 B+ 3.3
75 ~ 79.99 B 3.0
70 ~ 74.99 B- 2.7
65 ~ 69.99 C+ 2.3
60 ~ 64.99 C 2.0
55 ~ 59.99 C- 1.7
50 ~ 54.99 D+ 1.3
40 ~ 49.99 D 1.0
below 40 F 0.0

msg = (silence)
whoami = None
singularity v0.8 https://github.com/underground-software/singularity