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
|