CSL373 : Operating Systems : Schedule

Sem II, 2011-12

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
Jan 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
Jan 5
System Calls and Threads (slides)
Jan 6
..continued.
PREP: Read xv6 chapter 0.
Jan 9
Jan 10
..continued.
PREP: do homework
Jan 11
Jan 12
Scheduling Policies (slides)
Jan 13
x86 Processor Basics (slides, handout)
PREP: Read xv6 chapter 1 and optionally IA-32 guide
Jan 16
Jan 17
..continued
PREP: do homework
Jan 18
Jan 19
Processes and Memory Allocation (MMU, paging)
PREP: Read xv6 chapter 2, Process Anatomy;
SG: 3.1-3.3
Jan 20
Address Translation (slides)
PREP: Read 80386 chapter 3,
Jan 23
Jan 24
..continued
PREP: do homework (l3-pointers.c)
Jan 25
Jan 26
Republic Day
OUT: Lab 2: Pintos Userprog Assignment
DUE: Lab 1
Jan 27
Process Creation
Jan 30
Jan 31
Modes, Stacks, and Traps (handout)
PREP: Read xv6 chapter 3, do homework
Feb 1
Feb 2
..continued
Feb 3
MINOR1 TESTS (solutions)
Feb 6
Feb 7
MINOR1 TESTS (2010, 2010-solutions)
Feb 8
Feb 9
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 10
Multiprocessors and Locking
PREP: Read xv6 chapter 4 with spinlock.c and skim mp.c
Recursive vs. Non-Recursive Locks
Feb 13
Feb 14
..continued
PREP: No homework this week, yay!
SG: chapter 9
Return of Minor-1 scripts
Feb 15
Feb 16
Abstracting Synchronization
OUT: Lab 3: Pintos VM Assignment
DUE: Lab 2
Feb 17
Midterm Presentations
Feb 20
Feb 21
Monday Time Table
Feb 22
Feb 23
..continued
PREP: Read Kaashoek's concurrency notes (internal link); do homework.
Feb 24
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
Feb 27
Feb 28
VM Swapping and Page Replacement (l10, l11).
Advanced Reading: "CAR: CLOCK with Adaptive Replacement" (PDF, PDF of Presentation)
SG: chapter 9
Feb 29
Mar 1
Pintos VM Assignment
Mar 2
No lecture (Start on VM assignment)
Mar 5
Mar 6
Semester Break
Mar 7
Mar 8
Holi
Mar 9
Semester Break
Mar 12
Mar 13
Page Replacement (l12)
PREP: do homework (No need to turn in anything! Just practice on your own.)
Mar 14
Mar 15
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 16
..contd
Mar 19
Mar 20
..contd
PREP: No homework this week, study for Minors!
OUT: Lab 4: Pintos Filesys Assignment
DUE: Lab 3
Mar 21
Mar 22
MINOR2 TESTS
Mar 23
MINOR2 TESTS (2010)

Mar 26
Mar 27
Thrashing (l13)
Mar 28
Mar 29
File Naming (exercise)
PREP: Read namei in fs.c (and remainder of fs.c), sysfile.c, file.c. Commentary on these functions in xv6 chapter 7 and chapter 8
2009 Lecture Slides
UNIX File Permissions
Sticky Bit
SG: chapters 10, 11
Mar 30
Program Loading and Dynamic Linking
PREP: Read xv6 chapter 9
Return of Minor-2 scripts
Apr 2
Apr 3
Crash Recovery and Logging
PREP: do homework
Apr 4
Apr 5
Mahavir Jayanti
Apr 6
Good Friday
Apr 9
Apr 10
File system performance and reliability
PREP: Read Journaling the Linux ext2fs Filesystem
Apr 11
Apr 12
Operating System Structure (slides)
SG: chapter 2
Apr 13
Performance and durability
PREP: Read Rethink the sync
Apr 16
Apr 17
..contd.
Apr 18
Apr 19
Multi-processor coordination: lock free
PREP: Read Read-Copy-Update, optionally Address Space Using RCU Trees
Apr 20
..contd.
Apr 23
Apr 24
..contd.
Apr 25
Apr 26
Scheduling
PREP: Read Eliminating Receive Livelock
Apr 27
..contd.
Apr 30
DUE: Lab 4
May 1
Virtual Machines (slides)
PREP: Read Software vs Hardware Virtualization (optional)
May 2
May 3
May 4
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