Schedule
Week 0 |
||||
L00 | Tue, Aug 29 |
Introduction & Brief C Demo
[ pdf
]
Course administrivia. Temrinal, C & C Memory model.
|
||
L01 | Thu, Aug 31 |
Intro to Porcesses && Project 0 Demo and Q&A
[ pdf
]
What is a process, fork(), exec*(), proj0 demo
|
||
Week 1 |
||||
Q00 |
Check-in Quiz 0 Due
(C, memory, fork & exec) due @ 01:30 pm on Tue, Sep 05 |
|||
L02 | Tue, Sep 05 |
Process States & Signals
[ pdf
]
Process states, wait(), exit(), alarm(), signal(), signal handlers, asynch wait
|
||
R00 | Tue, Sep 05 |
Recitation00: C Refresher [ slides ]
Pointers, Arrays, Structs, GDB, Valgrind
|
||
L03 | Thu, Sep 07 |
File Descriptors Context Switching
[ pdf
]
File Descriptors, open(), close(), File Descriptor "inheritance", redirection, pipes
|
||
Week 2 |
||||
Q01 |
Check-in Quiz 1 Due
(Processes, alarm(), File Descriptors) due @ 01:30 pm on Tue, Sep 12 |
|||
L04 | Tue, Sep 12 |
File Descriptors Continued, pipes wrap-up
[ pdf
]
chaining pipes
|
||
R01 | Tue, Sep 12 |
Recitation01: Signals [ slides ]
signal handlers & signal system call. Some GDB and some OH for proj0
|
||
Project 0 Due
(penn-shredder) due @ 11:59 pm on Wed, Sep 13 late deadline 11:59 pm on Sun, Sep 17 |
||||
L05 | Thu, Sep 14 |
Signals: Blocking & Masking, interrupts & critical sections
[ pdf
]
sigaddset(), sigprocmask(), code interruption & interleaving
|
||
Week 3 |
||||
Q02 |
Check-in Quiz 2 Due
(pipe, signal blocking, critical section) due @ 01:30 pm on Tue, Sep 19 |
|||
L06 | Tue, Sep 19 |
Process Groups, Terminal Control, Project 1 Demo and Q&A
[ pdf
]
Process groups setpgrp(), Terminal Control tcsetpgrp()
|
||
R02 | Tue, Sep 19 |
Recitation02: Pipes and Redirection [ slides ]
File Descriptors, Redirection, Pipes
|
||
L07 | Thu, Sep 21 |
Virtual Memory: introduction
[ pdf
]
Introduction to virtual memory, pages, page frames, page tables, address translation
|
||
Week 4 |
||||
L08 | Tue, Sep 26 |
Virtual Memory: Page Tables
[ pdf
]
Virtual Memory Refresher, Multi Level Page Tables, Inverted Page Tables
|
||
R03 | Tue, Sep 26 |
Recitation03: More GDB [ slides ]
Basic and Advanced GDB, signals, child processes, and fds in GDB
|
||
Project 0 Peer Evaluation Due
(Peer Evaluation of Project 0) due @ 11:59 pm on Tue, Sep 26 |
||||
Project 1 Milestone Due
(penn-shell: redirection & pipes) due @ 11:59 pm on Wed, Sep 27 late deadline 11:59 pm on Sun, Oct 01 |
||||
L09 | Thu, Sep 28 |
Virtual Memory: Page Eviction
[ pdf
]
TLB, Page Eviction, LRU, LRU Approximations, Thrashing, Belady's Algorithm
|
||
Week 5 |
||||
Q03 |
Check-in Quiz 3 Due
(Inverted , Multi, TLB, Page Eviction) due @ 01:30 pm on Tue, Oct 03 |
|||
L10 | Tue, Oct 03 |
Memory Allocation
[ pdf
]
Malloc & Free Lists, Fragmentation, Buddy Algorithm, Slab Allocator
|
||
R04 | Tue, Oct 03 |
Recitation04: Process Groups, Terminal Control, and Signaling [ slides ]
Process groups, Terminal Control, Signal delivery, and Project 1
|
||
L11 | Thu, Oct 05 |
Caches and Introduction to Threads
[ pdf
]
Caches, std::vector vs std::list, introduction to threads, context swithing threads
|
||
Week 6 |
||||
Q04 |
Check-in Quiz 4 Due
(Allocation, Caches, Threads) due @ 01:30 pm on Tue, Oct 10 |
|||
L12 | Tue, Oct 10 |
Threads Continued
[ pdf
]
Blocking & Threads, Cache Coherence, User level vs Kernel Threads, Scheduling
|
||
R05 | Tue, Oct 10 |
Recitation05: Demo and Open Office Hours [ slides ]
Demo of Page Fault System Call and Open Office Hours
|
||
Project 1 Due
(penn-shell) due @ 11:59 pm on Wed, Oct 11 late deadline 11:59 pm on Sun, Oct 15 |
||||
:( | Thu, Oct 12 | No Class: Fall Break | ||
Week 7 |
||||
L13 | Tue, Oct 17 |
Midterm Review
[ pdf
]
Midterm Practice Questions made by Travis
|
||
R06 | Tue, Oct 17 |
Recitation06: Midterm Review [ slides ]
Review of major topics, Thinking Questions
|
||
L14 | Thu, Oct 19 |
Midterm Review (cont.)
[ pdf
]
Midterm Practice Questions made by Travis
|
||
Ex0 | Thu, Oct 19 | Midterm Exam Thu 07:00 pm - Thu 09:00 pm @ Meyerson B1 [exam info] | ||
Week 8 |
||||
L15 | Tue, Oct 24 |
Scheduling & File System Start
[ pdf
]
SJF, FCFS, RR, RR Variants, Contiguous, Linked List, FAT Allocation
|
||
R07 | Tue, Oct 24 |
Recitation07: PennOS Intro and Makefiles [ slides ]
Intro to Penn OS and Makefiles
|
||
L16 | Thu, Oct 26 |
Inclass PennOS Demo and Q&A Session
[ pdf
]
PennOS details, VERY USEFUL
|
||
Week 9 |
||||
Q05 |
Check-in Quiz 5 Due
(Scheduling & File System) due @ 01:30 pm on Tue, Oct 31 |
|||
L17 | Tue, Oct 31 |
File System
[ pdf
]
FAT & File System intro again. More FAT Details
|
||
R08 | Tue, Oct 31 |
Recitation08: PennOS Scheduling [ slides ]
Scheduling, sched-demo.c, and skeletons
|
||
Survey0 Due
(mid-semester Survey) due @ 11:59 pm on Wed, Nov 01 |
||||
L18 | Thu, Nov 02 |
File System
[ pdf
]
I-Nodes, Directories, mmap
|
||
PennOS Milestone 0 Due
(Rough Organizing & Planning) due @ 11:59 pm on Fri, Nov 03 |
||||
Week 10 |
||||
L19 | Tue, Nov 07 |
Drivers, DMA, Buffering
[ pdf
]
Direct Memory Access, Device Drivers, Disk Controllers, stdio Buffering
|
||
R09 | Tue, Nov 07 |
Recitation09: PennOS File System [ slides ]
PennFAT and Fragmentation Demo
|
||
L20 | Thu, Nov 09 |
File System RAID and Pennos Office Hours
[ pdf
]
RAID
|
||
PennOS Milestone 1 Due
(Demo ~60% completion) due @ 11:44 pm on Fri, Nov 10 |
||||
Week 11 |
||||
Q06 |
Check-in Quiz 6 Due
(Threads) due @ 01:30 pm on Tue, Nov 14 |
|||
L21 | Tue, Nov 14 |
Concurrency Control
[ pdf
]
Synchronization, Data races, Semaphores, TSL, Peterson's Algorithm
|
||
R10 | Tue, Nov 14 |
Recitation10: PennOS: What's next? [ slides ]
Next Steps & Integration
|
||
L22 | Thu, Nov 16 |
Common Concurrency Problems
[ pdf
]
Reader-Writer problem, deadlocks, condition variables, monitors
|
||
Week 12 |
||||
Q07 |
Check-in Quiz 7 Due
(Mutex & Condition Variables) due @ 01:30 pm on Tue, Nov 21 |
|||
L23 | Tue, Nov 21 |
Deadlock Detection
[ pdf
]
Resource Graphs, Safe States, Banker's Algorithm
|
||
R11 | Tue, Nov 21 |
Recitation11: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
|
||
:( | Thu, Nov 23 | No Class: Thanksgiving Break | ||
Week 13 |
||||
L24 | Tue, Nov 28 |
Concurrency Wrapup
[ pdf
]
Concurrency wrapup
|
||
R12 | Tue, Nov 28 |
Recitation12: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
|
||
L25 | Thu, Nov 30 |
Systems Programming Saftey
[ pdf
]
C, C++, memory saftey and Rust
|
||
PennOS Due
(PennOS, all of it) due @ 11:59 pm on Thu, Nov 30 late deadline 11:59 pm on Mon, Dec 04 |
||||
Week 14 |
||||
L26 | Tue, Dec 05 |
Exam Review
[ pdf
]
exam review for the second midterm
|
||
R13 | Tue, Dec 05 |
Recitation13: Exam Review [ slides ]
Exam Review Jeopardy
|
||
L27 | Thu, Dec 07 | Exam Review | ||
Ex1 | Thu, Dec 07 | Midterm Exam Thu 07:00 pm - Thu 09:00 pm @ Meyerson B1 [exam info] | ||
Week 15 |
||||
Survey2 Due
(PennOS Team Evaluation) due @ 11:59 pm on Tue, Dec 12 |
||||
Survey1 Due
(End of Semester Survey) due @ 11:59 pm on Tue, Dec 12 |