Introduction to Linux Kernel Development: University of Texas San Antonio Spring 2025

Week # Class dates Useful information
0 21/23 Jan syllabus/policies/setup L00
1 28/30 Jan setup due barebones Linux L01 L02
2 04/06 Feb new_syscall due syscalls L03 L04
3 11/13 Feb syscall L05 L06
4 18/20 Feb page_walk due memory management L07 L08
5 25/27 Feb midpoint proposal due Thurs mm cont. L09 L10
6 04/06 Mar shell due VFS: open L11 L12
7 11/13 Mar SPRING BREAK: no class
8 18/19 Mar midpoint presentation due Thurs VFS: close L13 L14
9 25/27 Mar VFS: read/write L15 L16
10 01/03 Apr VFS: write/ioctl/seek L17 L18
11 08/10 Apr modules L19 L20
12 15/17 Apr modules/chardevs L21 L22
13 22/24 Apr final project chardevs L23 L24
14 29/01 Apr final presentations L25 L26
15 06/08 May final presentations L27 L28

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, an instructor will reach out to you via direct message on matrix.

If we do not hear from the student within one week of an instructor reaching out, we reserve the right to give the student a final course grade of F.

Grading Breakdown and Letter Grade Conversion

Category Percentage
Assignments 50%
Midpoint Project 15%
Final Project 35%
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.6-56-g8e52bc8 https://github.com/underground-software/singularity