CSL373/CSL633 : Operating Systems : Schedule

Sem II, 2012-13

Links to notes etc. on future days are tentative only. They are here only to give you an idea what the future will bring.
SG refers to the book by Silberschatz and Galvin
MondayTuesdayWednesdayThursdayFriday
Dec 31Jan 1Jan 2Jan 3
Introduction, OS Abstractions (slides)
PREP: Read The Evolution of the Unix Time-Sharing System, optionally read Multi-threading and Fork.
SG: chapter 1, pipe man page, Interrupted Primitives
OUT: Lab 1: Initializing PC Hardware
Jan 4
System Calls and Threads (slides)
Jan 7
Jan 8
..continued.
PREP: Read xv6 chapter 0.
Jan 9
Jan 10
..continued.
Jan 11
x86 Processor Basics (slides, handout)
PREP: do homework. Read xv6 chapter 1 and optionally IA-32 guide
Jan 14
Jan 15
..continued
Jan 16
Jan 17
Monday Time Table
Jan 18
..continued
Jan 21
Jan 22
..continued
Jan 23
Jan 24
Address Translation (slides)
PREP: do homework (l3-pointers.c), read 80386 chapter 3,
Jan 25
..continued
Jan 28
Jan 29
..continued
OUT: Lab 2: Pintos User Programs
Jan 30
Jan 31
Processes and Memory Allocation (MMU, paging)
PREP: Read xv6 chapter 2, Process Anatomy;
SG: 3.1-3.3
Feb 1
..continued
Feb 4
Feb 5
Minor Test 1
DUE: Lab 1
Feb 6
Feb 7
..continued
Feb 8
..continued
Feb 11
Feb 12
Process Creation
PREP: do homework
Feb 13
Feb 14
Modes, Stacks, and Traps (handout)
PREP: Read xv6 chapter 3
Feb 15
..continued
Feb 18
Feb 19
Context Switching
PREP: Read xv6 chapter 5 through section "Code: Scheduling" with proc.c, setjmp.S, and sys_fork (in sysproc.c)
SG: chapter 5
Feb 20
Feb 21
Multiprocessors and Locking
PREP: Read xv6 chapter 4 with spinlock.c and skim mp.c
Recursive vs. Non-Recursive Locks
Feb 22
Midterm Presentations
OUT: Lab 3: Pintos Virtual Memory
DUE: Lab 2
Feb 25
Feb 26
..continued
PREP: do homework.
SG: chapter 9
Feb 27
Feb 28
Abstracting Synchronization
Mar 1
..continued
PREP: Read Kaashoek's concurrency notes (internal link)
Mar 4
Mar 5
Mid-sem break
Mar 6
Mar 7
Mid-sem break
Mar 8
Mid-sem break
Mar 11
Mar 12
Process Coordination
PREP: Read rest of xv6 chapter 5; read remainder of proc.c and sys_wait, sys_exit, sys_kill.
SG: chapters 6, 7
Mar 13
Mar 14
VM Swapping and Page Replacement (l10, l11).
Advanced Reading: "CAR: CLOCK with Adaptive Replacement" (PDF, PDF of Presentation)
PREP: do homework
SG: chapter 9
Mar 15
No class
Mar 18
Mar 19
No class
Mar 20
Mar 21
No class
Mar 22
Minor Test 2
Mar 25
Mar 26
Page Replacement (l12)
Mar 27
Mar 28
Files and Disk I/O
PREP: readi, writei, filewrite, fileread, dirlink, create, and code related to these system calls in fs.c, bio.c, ide.c, sysfile.c, and file.c. Commentary on these functions in xv6 chapter 6 and chapter 7
SG: chapters 12, 13
Mar 29
Good Friday
DUE: Lab 3
Apr 1
Apr 2
..contd
OUT: Lab 4: Pintos File System
Apr 3
Apr 4
..contd
Apr 5
..contd
Apr 8
Apr 9
Crash Recovery and Logging
Apr 10
Apr 11
..contd
PREP: do homework
Apr 12
File system performance and reliability
PREP: Read Journaling the Linux ext2fs Filesystem
Apr 15
Apr 16
Performance and durability
PREP: Read Rethink the sync, do homework
Apr 17
Apr 18
Multi-processor coordination: lock free
PREP: Read Read-Copy-Update, optionally Address Space Using RCU Trees
Apr 19
Ram Navami
Apr 22
Apr 23
..contd.
Apr 24
Apr 25
Thrashing (l13)
Apr 26
Scheduling Policies (slides)
Apr 29
Apr 30
Security and Access Control
DUE: Lab 4
May 1
May 2
May 3
Many course materials derived from 6.828 by Frans Kaashoek and others at MIT; some derived from Dawson Engler's cs140 course materials at Stanford