Schedule
Week 0 |
||||
L00 | Thu, Jan 16 |
Introduction & C refresher
[ pdf
]
Course administrivia. Temrinal, C & C Memory model.
|
||
Week 1 |
||||
L01 | Tue, Jan 21 |
C refresher cont. and Intro to Processes
[ pdf
]
C structs, malloc, what is a process?, fork(), exec()
|
||
L02 | Thu, Jan 23 |
Processes cont. && shredder Q&A
[ pdf
]
fork(), Process states, exec*(), wait(), alarm(), signals (start), shredder demo
|
||
Week 2 |
||||
Check-in00 Due
(fork, exec, signals) due @ 12:00 pm on Tue, Jan 28 |
||||
L03 | Tue, Jan 28 |
Process States & Signals & Blocking Signals
[ pdf
]
sigaction(), signal handlers, asynch wait, sigaddset(), sigprocmask(), critical sections
|
||
Survey00 Due
(Pre-semester Survey) due @ 11:59 pm on Tue, Jan 28 |
||||
L04 | Thu, Jan 30 |
File Descriptors & Pipe (start)
[ pdf
]
File Descriptor Table, open(), close(), File Descriptor "inheritance", redirection, pipes
|
||
R00 | Thu, Jan 30 |
Recitation00: Penn-Shredder Tips [ slides ]
wait() v. waitpid(), GDB & Valgrind debugging, project 1 tips
|
||
HW00 Due
(penn-vec) due @ 11:59 pm on Fri, Jan 31 |
||||
HW01 Due
(penn-shredder) due @ 11:59 pm on Fri, Jan 31 |
||||
Week 3 |
||||
Check-in01 Due
(Signals, File Descriptors, Pipe, Dup2) due @ 12:00 pm on Tue, Feb 04 |
||||
L05 | Tue, Feb 04 |
File Descriptors Continued, pipes wrap-up, Penn-shell Demo and Q&A
[ pdf
]
chaining pipes
|
||
L06 | Thu, Feb 06 |
Process Groups, Terminal Control, Project 1 Tips
[ pdf
]
Process groups setpgrp(), Terminal Control tcsetpgrp()
|
||
R01 | Thu, Feb 06 |
Recitation01: Handling Processes [ slides ]
Fork, Pipe, Exec
|
||
Week 4 |
||||
HW01 Peer Eval Due
(penn-shredder) due @ 11:59 pm on Mon, Feb 10 |
||||
Check-in02 Due
(Signals, Terminal Control, Process Groups, Race Conditions) due @ 12:00 pm on Tue, Feb 11 |
||||
L07 | Tue, Feb 11 |
File System: Intro
[ pdf
]
What is a File System, Disks, Contigious & Linked-List allocation, FAT Start
|
||
HW02 Milestone Due
(penn-shell Milestone) due @ 11:59 pm on Wed, Feb 12 |
||||
L08 | Thu, Feb 13 |
File System: FAT, Inodes, Directories
[ pdf
]
FAT, INodes, Directories
|
||
R02 | Thu, Feb 13 |
Recitation02: Signals and Job Control [ slides ]
good for penn-shell
|
||
Week 5 |
||||
Check-in03 Due
(File System) due @ 12:00 pm on Tue, Feb 18 |
||||
L09 | Tue, Feb 18 |
File System: Continued
[ pdf
]
File System Wrap-Up
|
||
L10 | Thu, Feb 20 |
Intro to Threads
[ pdf
]
context swithing, threads, threads vs processes
|
||
R03 | Thu, Feb 20 |
Recitation03: Background Processes and Terminal Control [ slides ]
good for penn-shell pt. 2
|
||
Week 6 |
||||
Check-in04 Due
(File System & Threads) due @ 12:00 pm on Tue, Feb 25 |
||||
L11 | Tue, Feb 25 |
Scheduling
[ pdf
]
SJF, FCFS, RR, RR Variants
|
||
L12 | Thu, Feb 27 |
Data Races, Race Conditions & Synchronization (start)
[ pdf
]
Threads Intro Continued, Data races, Race conditions, Mutex, TSL, Peterson's Algorithm
|
||
R04 | Thu, Feb 27 |
Recitation04: Midterm Review [ slides ]
Everything up to 2/25
|
||
HW02 Due
(penn-shell) due @ 11:59 pm on Fri, Feb 28 |
||||
Week 7 |
||||
Check-in05 Due
(Scheduling & Threads) due @ 12:00 pm on Tue, Mar 04 |
||||
L13 | Tue, Mar 04 |
Midterm Review
[ pdf
]
Midterm Practice Questions made by Joel & Travis
|
||
Ex0 | Thu, Mar 06 | Exam00 Thu 12:00 pm - Thu 01:30 pm @ Amy Gutmann Hall 106 [exam info] | ||
Week 8 |
||||
:( | Tue, Mar 11 | No Class | ||
:( | Thu, Mar 13 | No Class | ||
Week 9 |
||||
L14 | Tue, Mar 18 |
Inclass PennOS Demo and Q&A Session
[ pdf
]
PennOS & PennFAT details, VERY USEFUL
|
||
L15 | Thu, Mar 20 |
Locality: Buffering, Memory Hierarchy & Caching
[ pdf
]
stdio Buffering, Memory Heirarchy, Caches, std::vector vs std::list
|
||
R05 | Thu, Mar 20 |
Recitation05: To Be Decided!
Coming Soon
|
||
Week 10 |
||||
L16 | Tue, Mar 25 |
Caches wrap-up, threads & spthreads refresh
[ pdf
]
caches, threads, spthreads, locks
|
||
Survey01 Due
( Mid-semester Survey) due @ 11:59 pm on Wed, Mar 26 |
||||
L17 | Thu, Mar 27 |
Deadlocks, Dining Philosophers
[ pdf
]
TSL, Petersons, Deadlocks, Dining Philosophers, Resource Graphs
|
||
R06 | Thu, Mar 27 |
Recitation06: PennOS Intro: Milestone 0 and 1 [ slides ]
Good to come back to once you start typing code
|
||
PennOS Milestone 0 Due
(Organizing, Planning & Fundamentals of PennOS) due @ 11:59 pm on Fri, Mar 28 |
||||
Week 11 |
||||
L18 | Tue, Apr 01 |
Condition Variables, Parallel Analysis
[ pdf
]
condition variables, Parallel Analysis
|
||
L19 | Thu, Apr 03 |
Virtual Memory: introduction
[ pdf
]
Introduction to virtual memory, pages, page frames, page tables, address translation
|
||
R07 | Thu, Apr 03 |
Recitation07: To Be Decided!
Coming Soon
|
||
Reading Assignment Due
(Remembering that Operating Systems exist IN A SOCIETY) due @ 11:59 pm on Fri, Apr 04 |
||||
Week 12 |
||||
Check-in06 Due
(Virtual Memory & Locks) due @ 12:00 pm on Tue, Apr 08 |
||||
L20 | Tue, Apr 08 |
Virtual Memory: Page Tables
[ pdf
]
Virtual Memory Refresher, TLB, Multi Level Page Tables
|
||
L21 | Thu, Apr 10 |
Virtual Memory: Page Replacement
[ pdf
]
Page Replacement, FIFO, LRU, Thrashing, Aging, Second Chance, Linux Version
|
||
R08 | Thu, Apr 10 |
Recitation08: To Be Decided!
Coming Soon
|
||
PennOS Milestone 1 Due
(Demo ~60% completion) due @ 11:59 pm on Fri, Apr 11 |
||||
Week 13 |
||||
Check-in07 Due
(Virtual Memory & Locks) due @ 12:00 pm on Tue, Apr 15 |
||||
L22 | Tue, Apr 15 |
Memory Allocation
[ pdf
]
Malloc & Free Lists, Fragmentation
|
||
L23 | Thu, Apr 17 |
Memory Allocation
[ pdf
]
Garbage Collection, Arena Allocators, Buddy Algorithm, Slab Allocator
|
||
R09 | Thu, Apr 17 |
Recitation09: To Be Decided!
Coming Soon
|
||
Week 14 |
||||
L24 | Tue, Apr 22 |
Special Topics
To be decided
|
||
L25 | Thu, Apr 24 |
Special Topics
To be decided
|
||
R10 | Thu, Apr 24 |
Recitation10: To Be Decided!
Coming Soon
|
||
PennOS Due
(PennOS, all of it) due @ 11:59 pm on Fri, Apr 25 late deadline 11:59 pm on Tues, Apr29 |
||||
Week 15 |
||||
L26 | Tue, Apr 29 | Course Wrapup | ||
R11 | Thu, May 01 |
Recitation11: To Be Decided!
Coming Soon
|
||
Week 16 |
||||
Ex1 | Mon, May 05 | Final Exam [more info to be released] |