CS614: Linux Kernel Programming
Lecture Schedule


  
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