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

Week # Class date Assignment Due Topic
0x0 09/09 introductions, syllabus, what is linux?
0x1 09/16 setup architecture specific code, interrupts, MMIO
0x2 09/23 E0 symmetric multiprocessing, locking, scheduling
0x3 09/30 P0 memory management, memory allocation, virtual memory
0x4 10/07 E1 block devices, partition tables, block drivers
0x5 10/14 P1 kernel modules, in-tree vs out-of-tree development
0x6 10/21 E2 generic kernel virtual filesystem code, filesystems
0x7 10/28 P2 network devices, address families, protocols
0x8 11/04 E3 drivers, hardware description tables, probing, I2C
0x9 11/11 class is cancelled - university closed for veterans day
0xA 11/18 P3 character drivers, device major and minor numbers, file operations
0xB 11/25 guest lecture - topic TBD
0xC 12/02 F0 live driver debugging exercise
0xD 12/09 F1 final presentations
0xE TBD 2 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 Project 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.7 https://github.com/underground-software/singularity