| Lecture weeks | Lecture Content | Slides | Reading | Additional material and HW |
|---|---|---|---|---|
| 09/01 - 13/01 | Course logistics and Introduction | fch introduction | OSTEP Ch4-6, Ch13-15 | HW 1: slide #7 kernel-6.1.4 |
| 16/01 - 20/01 | System calls, Exceptions, OS mode execution | contexts | ULK Ch8 (System Calls) Intel Architecture SDM3 Ch6.15 (IDT, Exceptions) kernel stack | Piazza[note@10] SRC: {arch/x86/} kernel/traps.c,entry/common.c |
| 23/01 - 27/01 | Kernel threads, SoftIRQs, Virtual Memory | user-vm | OSTEP Ch12-24 Intel Architecture SDM3 Ch4 (Paging) | SRC: arch/x86/mm/fault.c, mm/memory.c |
| 30/01 - 03/02 | Virtual Memory, Kernel Address Space, PTI | address-space | Intel Architecture SDM3 Ch4 (Paging) Documentation/x86/pti.rst Documentation/x86/x86_64/mm.rst | Meltdown |
| 06/02 - 10/02 | File system overview | fs | OSTEP ch37-ch45 Documentation/filesystems/{vfs.rst, mount_api.rst} | slide #36 |
| 13/02 - 17/02 | Allinone: clone, exec | clone-exec | OSTEP ch4-5 kernel/fork.c fs/exec.c init/main.c | readelf |
| 20/02 - 24/02 | *** Midsem *** | ---------------- | *** Midsem *** | ---------------- |
| 27/02 - 02/03 | Concurrency and Locking | locking | OSTEP ch26-32 | rcu Homework: slides #37, #41 |
| 06/03 - 10/03 | *** Midsem Break*** | ---------------- | *** Midsem Break*** | ---------------- |
| 13/03 - 17/03 | Ext4 Filesystem, VFS Integration | ext4fs | ext4specs Kernel documentation: Documentation/filesystems/ext4 | SRC: fs/ext4/* Homework: slides #13 |
| 20/03 - 24/03 | Ext4: Cache and journaling | ext4fs | ext4specs Kernel documentation: Documentation/core-api/xarray, Documentation/filesystem/journaling OSTEP Ch42 | SRC: fs/ext4/*, fs/jbd2/*, fs/namei.c and functions mentioned in slides |
| 27/03 - 31/03 | I/O and Addressing | io-addresing | LDD Ch9, Ch15 Kernel documentation: Documentation/core-api/dma-api-howto.rst Documentation/x86/iommu.rst | ddio-atc20 |
| 03/04 - 07/04 | PCI Devices, Quiz discussion | pcidev | LDD Ch12 Kernel documentation: Documentation/PCI/pci.rst Source: E1000 device driver | MSI and MSI-X: Documentation/PCI/msi-howto.rst |
| 10/04 - 14/04 | Scheduling | slide | ULK Ch4, Ch7 Kernel documentation: https://docs.kernel.org/x86/kernel-stacks.html Source: kernel/sched/* | |
| 17/04 - 21/04 | Scheduling Policies | slide | OSTEP Ch7, Ch8 ULK Ch7 | Source: kernel/sched/* Kernel Documentation: Documentation/scheduler |