Course Schedule
A (tentative) schedule for the semester:
(LKD Book: Linux Kernel Development, 3rd Edition, 2010.)
Week | Date | Topic | Readings | Assignments |
---|---|---|---|---|
1 | 01/13 | Intro to Linux Kernel Programming and Toolchains | Chapter 1 & 2 of the LKD book |
A1: Readiness Exercise (Due: 01/17) |
2 | 01/20 | Isolation, System Calls and Linux Kernel Data Structures | Chapter 5 & 6 & 17 (modules) of LKD |
A2: Build the Kernel (Due: 01/24) |
3 | 01/27 | Kernel Debugging, and Tracing Techniques | Chapter 18 of LKD |
A3: System Calls (Due: TBD) |
4 | 02/03 | Process Management and Process Scheduling | Chapter 3 of LKD |
A4: Kernel Module & Linked List (Due: TBD) |
5 | 02/10 | Interrupt Handling: Top Half, Bottom Half | Chapter 7 of LKD |
A5: More Kernel Data Structures (Due: TBD) |
6 | 02/17 | Kernel Synchronization | Chapter 9 & 10 of LKD |
A6: CPU Profiler 1 (Due: TBD) |
7 | 02/24 | Timer and Time Management | Chapter 11 of LKD |
A7: CPU Profiler 2 (Due: TBD) |
8 | 03/03 | Device Drivers, Virtualization | Chapter 17 of LKD |
A8: I/O Virtualization and Device Drivers (Due: TBD) |
9 | 03/10 | Memory Management, Address Space | Chapter 15 of LKD |
A9: Userspace Page Fault Handling (Due: TBD) |
10 | 03/17 | Virtual File System, Page Cache, and Page Fault | Chapter 13 & 16 of LKD |
Final Project Checkpoint (Due: TBD) |
11 | 03/24 | Spring Break | ||
12 | 03/31 | Filesystem and Block IO & Paper Reading and Discussion. | Chapter 14 of LKD | |
13 | 04/07 | Paper Reading and Discussion | ||
14 | 04/14 | Paper Reading and Discussion | ||
15 | 04/21 | Paper Reading and Discussion | ||
16 | 04/28 | Paper Reading and Discussion & Final Project Presentation |