CS614: Linux Kernel Programming
Lecture Schedule


  
Lecture weeks Lecture Content Slides Reading Additional material and HW
08/01 - 13/01 Course logistics and Introduction    fch   introduction OSTEP Ch4-6, Ch13-15   HW 1: slide #9    kernel-6.1.4  
15/01 - 20/01 User contexts    slides: 1   2   quiz1: manipulate user state Ch8 (System Calls)   Intel Architecture SDM3 Ch6.15 (IDT, Exceptions) kernel stack HW 2: Solve part II of the quiz   
22/01 - 27/01 Clone syscall handler    slides: 1   quiz2: working of clone kernel/fork.c   HW 3: Solve part II of the quiz3   
29/01 - 03/02 Exec system call handle, Project topics slides: 1   quiz3: clone/exec fs/exec.c fs/clone.c HW: Project scope and milestone
05/02 - 10/02 VM, Kernel Address Space, PTI, Kernel threads slides: 1   2 OSTEP Ch12-24 Intel Architecture SDM3 Ch4 (Paging) Documentation/x86/pti.rst Documentation/x86/x86_64/mm.rst SRC: arch/x86/mm/fault.c, mm/memory.c Meltdown
12/02 - 17/02 Filesystem, VFS, Ext4 FS    quiz 4+5: Dirty tracking   slides: 1 ext4specs    Kernel documentation: Documentation/filesystems/ext4 SRC: fs/ext4/*  
19/02 - 24/02 *** Midsem ***   *** Midsem ***   *** Midsem ***   *** Midsem ***  
26/02 - 02/03 Ext4 FS in Linux    Midsem discussion   slides: 1 ext4specs    Kernel documentation: Documentation/filesystems/ext4 SRC: fs/ext4/*  
04/03 - 09/03 Ext4: Cache and journaling   slides: 1 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  
11/03 - 15/03 Ext4 contd., Quiz, I/O devices    slides: 1 2 LDD Ch9, Ch15 Kernel documentation: Documentation/core-api/dma-api-howto.rst   Documentation/x86/iommu.rst
18/03 - 23/03 I/O addressing, PCI devices    slides: 1 LDD Ch10, Ch12, Ch15 Kernel documentation: Documentation/PCI/pci.rst
25/02 - 30/02 *** Midsem Break ***   *** Midsem Break ***   *** Midsem Break ***   *** Midsem Break ***  
01/04 - 06/04 Concurrency and Locking    slides: 1 OSTEP ch26-32 Kernel documentation: Documentation/locking/locktypes.rst   Documentation/RCU/whatisRCU.rst
08/04 - 13/04 Scheduling   slides: 1 ULK Ch4, Ch7    Kernel documentation: https://docs.kernel.org/x86/kernel-stacks.html Source: kernel/sched/*, __switch_to_asm and ret_from_fork in entry_64.S
15/04 - 19/04 Scheduling Policies   slide OSTEP Ch7, Ch8   ULK Ch7  Source: kernel/sched/* Kernel Documentation: Documentation/scheduler