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