Schedule
Week 0 |
||||
L00 | Thu, Jan 18 |
Introduction & C refresher
[ pdf
]
Course administrivia. Temrinal, C & C Memory model.
|
||
Week 1 |
||||
L01 | Tue, Jan 23 |
C refresher cont. and Intro to Processes
[ pdf
]
C structs, C Strings, malloc, realloc, what is a process?, fork(), exec()
|
||
L02 | Thu, Jan 25 |
Processes cont. && shredder Q&A
[ pdf
]
fork(), Process states, exec*(), wait(), alarm(), signals (start), shredder demo
|
||
Week 2 |
||||
R00 | Mon, Jan 29 |
Recitation00: C, Parser, Shredder [ slides ]
Pointers, String, Memory Allocation, Parser, Shredder, Signal Handling
|
||
L03 | Tue, Jan 30 |
Process States & Signals & Blocking Signals
[ pdf
]
signal(), signal handlers, asynch wait, sigaddset(), sigprocmask(), critical sections
|
||
Project 0 "due"
(penn-parser "due") due @ 11:59 pm on Tue, Jan 30 |
||||
Survey0 Due
(Pre-Semester Survey) due @ 11:59 pm on Wed, Jan 31 |
||||
L04 | Thu, Feb 01 |
File Descriptors & Pipe (start)
[ pdf
]
File Descriptor Table, open(), close(), File Descriptor "inheritance", redirection, pipes
|
||
Project 1 Due
(penn-shredder and penn-parser) due @ 11:59 pm on Fri, Feb 02 |
||||
Week 3 |
||||
R01 | Mon, Feb 05 |
Recitation01: Valgrind, GDB, Redirections & Pipes, Penn-Shell M1 [ slides ]
Valgrind and GDB debugging tools. File Descriptors, Redirection, Pipes, Penn-Shell M1 tips
|
||
Q00 |
Check-in Quiz 0 Due
(pipe() and file descriptors) due @ 05:00 pm on Tue, Feb 06 |
|||
L05 | Tue, Feb 06 |
File Descriptors Continued, pipes wrap-up, Penn-shell Demo and Q&A
[ pdf
]
chaining pipes
|
||
L06 | Thu, Feb 08 |
Process Groups, Terminal Control, Project 1 Tips
[ pdf
]
Process groups setpgrp(), Terminal Control tcsetpgrp()
|
||
Week 4 |
||||
R02 | Mon, Feb 12 |
Recitation02: Open OH for Penn-Shell M1 [ slides ]
Held Open OH
|
||
Project 1 Peer-Eval Due
(penn-shredder peer-eval) due @ 11:59 pm on Mon, Feb 12 |
||||
L07 | Tue, Feb 13 |
File System: Intro
[ pdf
]
What is a File System, Disks, Contigious & Linked-List allocation, FAT Start
|
||
Project 2 Milestone Due
(penn-shell milestone) due @ 11:59 pm on Wed, Feb 14 late deadline 11:59 pm on Sun, Feb18 |
||||
:( | Thu, Feb 15 | No Class | ||
Week 5 |
||||
R03 | Mon, Feb 19 |
Recitation03: Process Groups, Terminal Control, Singal Relaying, Penn-Shell [ slides ]
Process Groups, Terminal Control, Signal handling and penn-shell final milestone
|
||
L08 | Tue, Feb 20 |
File System: FAT, Inodes, Directories
[ pdf
]
FAT, INodes, Directories
|
||
L09 | Thu, Feb 22 |
Locality: Buffering, Memory Hierarchy & Caching
[ pdf
]
stdio Buffering, Memory Heirarchy, Caches, std::vector vs std::list
|
||
Project 2 Due
(penn-shell) due @ 11:59 pm on Fri, Feb 23 late deadline 11:59 pm on Tues, Feb27 |
||||
Week 6 |
||||
R04 | Mon, Feb 26 |
Recitation04: Midterm Review [ slides ]
Midterm Review, covering topics and questions
|
||
L10 | Tue, Feb 27 |
Midterm Review
[ pdf
]
Midterm Practice Questions made by Travis
|
||
Ex0 | Thu, Feb 29 | Midterm Exam Thu 05:15 pm - Thu 07:15 pm @ Meyerson B1 [exam info] | ||
Week 7 |
||||
:( | Tue, Mar 05 | No Class | ||
:( | Thu, Mar 07 | No Class | ||
Week 8 |
||||
R05 | Mon, Mar 11 |
Recitation05: No Recitation
No Recitation
|
||
L11 | Tue, Mar 12 |
Scheduling
[ pdf
]
SJF, FCFS, RR, RR Variants
|
||
L12 | Thu, Mar 14 |
Intro to Threads
[ pdf
]
context swithing, threads, threads vs processes
|
||
Week 9 |
||||
R06 | Mon, Mar 18 |
Recitation06: No Recitation
No Recitation
|
||
Q01 |
Check-in Quiz 1 Due
(pthreads) due @ 05:00 pm on Tue, Mar 19 |
|||
L13 | Tue, Mar 19 |
Data Races, Race Conditions & Synchronization (start)
[ pdf
]
Threads Intro Continued, Data races, Race conditions, Mutex, TSL, Peterson's Algorithm
|
||
L14 | Thu, Mar 21 |
Inclass PennOS Demo and Q&A Session
[ pdf
]
PennOS & PennFAT details, VERY USEFUL
|
||
Survey1 Due
(Mid-Semester Survey) due @ 11:59 pm on Sat, Mar 23 |
||||
Week 10 |
||||
R07 | Mon, Mar 25 |
Recitation07: No Recitation
No Recitation
|
||
PennOS Milestone 0 Due
(Rough Organizing & Planning) due @ 11:59 pm on Mon, Mar 25 |
||||
L15 | Tue, Mar 26 |
Deadlocks, Condition Variables, Monitors, and reader-writers
[ pdf
]
Reader-Writer problem, deadlocks, condition variables, monitors
|
||
L16 | Thu, Mar 28 |
Deadlock Detection
[ pdf
]
Condition Variables, Monitors, Dining Philosophers, Resource Graphs, Safe States
|
||
Week 11 |
||||
R08 | Mon, Apr 01 |
Recitation08: PennOS Intro and Makefiles [ slides ]
Intro to Penn OS and Makefiles
|
||
Q02 |
Check-in Quiz 2 Due
(mutex & cond) due @ 05:00 pm on Tue, Apr 02 |
|||
L17 | Tue, Apr 02 |
More Concurrency Fun :)
[ pdf
]
Dining Philosophers, Resource Grapgs, Safe States, Deadlock Avoidance, Parallel Analysis
|
||
L18 | Thu, Apr 04 |
Virtual Memory: introduction
[ pdf
]
Introduction to virtual memory, pages, page frames, page tables, address translation
|
||
Week 12 |
||||
R09 | Mon, Apr 08 |
Recitation09: PennFAT AG Demo + Open OH [ slides ]
autograder demo
|
||
L19 | Tue, Apr 09 |
Virtual Memory: Page Tables
[ pdf
]
Virtual Memory Refresher, TLB, Multi Level Page Tables, Inverted Page Tables
|
||
PennOS Milestone 1 Due
(Demo ~60% completion) due @ 11:59 pm on Tue, Apr 09 |
||||
L20 | Thu, Apr 11 |
Virtual Memory: Page Eviction
[ pdf
]
Page Eviction, LRU, LRU Approximations, Thrashing, Belady's Anomaly
|
||
Q03 |
Check-in Quiz 3 Due
(Virtual Memory) due @ 11:59 pm on Fri, Apr 12 |
|||
Week 13 |
||||
R10 | Mon, Apr 15 |
Recitation10: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
|
||
L21 | Tue, Apr 16 |
Memory Allocation
[ pdf
]
Malloc & Free Lists, Fragmentation, Buddy Algorithm, Slab Allocator
|
||
L22 | Thu, Apr 18 |
Systems Programming Saftey
[ pdf
]
C, C++, memory saftey and Rust
|
||
Week 14 |
||||
R11 | Mon, Apr 22 |
Recitation11: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
|
||
PennOS Due
(PennOS, all of it) due @ 11:59 pm on Mon, Apr 22 late deadline 11:59 pm on Fri, Apr26 |
||||
L23 | Tue, Apr 23 | Course Wrapup [ pdf ] | ||
Q04 |
Check-in Quiz 4 Due
(Page Tables & Memory Allocation) due @ 04:59 pm on Thu, Apr 25 |
|||
L24 | Thu, Apr 25 |
Exam Review
[ pdf
]
Exam Review
|
||
Week 15 |
||||
R12 | Mon, Apr 29 |
Recitation12: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
|
||
L25 | Tue, Apr 30 |
Exam Review
Exam Review
|
||
Week 16 |
||||
R13 | Mon, May 06 |
Recitation13: Exam Review [ slides ]
Exam Review!
|
||
Ex1 | Tue, May 07 | Final Exam Tue 12:00 pm - Tue 02:00 pm @ Towne 100 [exam info] | ||
Survey3 Due
(PennOS Team Eval) due @ 11:59 pm on Wed, May 08 |
||||
Survey2 Due
(Post-Semester Survey) due @ 11:59 pm on Wed, May 08 |