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)
[ pdf
]
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: Handling Processes [ slides ]
Fork, Pipe, Exec, Wait, Valgrind, Good Style😎
|
||
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
[ pdf
]
chaining pipes
|
||
Partner-Signup0 Due
(Penn-shell partner sign-up due) due @ 11:59 pm on Mon, Jun 09 |
||||
L06 | Tue, Jun 10 |
Process Groups, Terminal Control, Project 1 Tips
[ pdf
]
Process groups setpgrp(), Terminal Control tcsetpgrp()
|
||
L07 | Wed, Jun 11 |
File System: Intro
[ pdf
]
What is a File System, Disks, Contigious & Linked-List allocation, FAT Start
|
||
R02 | Thu, Jun 12 |
Recitation02: Penn-Shell [ slides ]
Signals, Pipes, Redirection, Process Groups, and waitpid()
|
||
HW01 Peer Eval Due
(penn-shredder peer eval) due @ 11:59 pm on Fri, Jun 13 |
||||
Week 22 |
||||
Check-in02 Due
(Signals, Process Groups, Controlling Terminals.) due @ 12:00 pm on Mon, Jun 16 |
||||
L08 | Mon, Jun 16 |
File System: FAT, Inodes, Directories
[ pdf
]
FAT, INodes, Directories
|
||
HW02 Milestone Due
(penn-shell Milestone) due @ 11:59 pm on Mon, Jun 16 |
||||
L09 | Tue, Jun 17 |
File System: Continued
[ pdf
]
File System Wrap-Up
|
||
L10 | Wed, Jun 18 |
ENIAC, History, and Scheduling
[ pdf
]
ENIAC, first schedulers, FCFS, SJF, RR, RR Variants
|
||
Week 23 |
||||
Check-in03 Due
(File Systems) due @ 12:00 pm on Mon, Jun 23 |
||||
L11 | Mon, Jun 23 |
Scheduling Wrap-up & Intro to Threads
[ pdf
]
RR Variants, CFS, EEVDF, context switching, threads, threads vs processes
|
||
L12 | Tue, Jun 24 |
Midterm Review
[ pdf
]
Midterm Practice Questions made by Joel & Travis
|
||
Ex0 | Wed, Jun 25 | Exam00 Wed 07:00 pm - Wed 09:00 pm @ midterm  [exam info] | ||
HW02 Due
(penn-shell) due @ 11:59 pm on Fri, Jun 27 |
||||
Week 24 |
||||
Check-in04 Due
(Threads & Scheduling) due @ 12:00 pm on Mon, Jun 30 |
||||
L13 | Mon, Jun 30 |
Data Races, Race Conditions & Synchronization (start)
[ pdf
]
Threads Intro Continued, Data races, Race conditions, Mutex, Peterson's Algorithm, Concurrency Benefits
|
||
Partner-Signup1 Due
(PennOS partner sign-up due) due @ 11:59 pm on Mon, Jun 30 |
||||
L14 | Tue, Jul 01 |
Inclass PennOS Demo and Q&A Session
[ pdf
]
PennOS & PennFAT details, VERY USEFUL
|
||
L15 | Wed, Jul 02 |
Threads, Locks, spthreads and Deadlocks (start)
[ pdf
]
threads, spthreads, locks
|
||
Survey01 Due
(Â Mid-semester Survey) due @ 11:59 pm on Wed, Jul 02 |
||||
R03 | Thu, Jul 03 |
Recitation03: PennOS Start! [ slides ]
good for milestone 0 and 1!
|
||
Week 25 |
||||
Check-in05 Due
(Threads & Data Races) due @ 12:00 pm on Mon, Jul 07 |
||||
L16 | Mon, Jul 07 |
Deadlocks (cont.), Dining Philosophers
TSL, Petersons, Deadlocks, Dining Philosophers, Resource Graphs
|
||
L17 | Tue, Jul 08 |
Condition Variables, Parallel Analysis
condition variables, Parallel Analysis
|
||
PennOS Milestone 0 Due
(Organizing, Planning & Fundamentals of PennOS) due @ 11:59 pm on Tue, Jul 08 |
||||
L18 | Wed, Jul 09 |
Locality: Buffering, Memory Hierarchy & Caching
stdio Buffering, Memory Heirarchy, Caches, std::vector vs std::list
|
||
R04 | Thu, Jul 10 |
Recitation04: To Be Decided!
Coming Soon
|
||
Reading Assignment Due
(Remembering that Operating Systems exist IN A SOCIETY) due @ 11:59 pm on Fri, Jul 11 |
||||
Week 26 |
||||
Check-in06 Due
(Locks & Deadlocks) due @ 12:00 pm on Mon, Jul 14 |
||||
L19 | Mon, Jul 14 |
Virtual Memory: introduction
Introduction to virtual memory, pages, page frames, page tables, address translation
|
||
PennOS Milestone 1 Due
(Demo ~60% completion) due @ 11:59 pm on Mon, Jul 14 |
||||
L20 | Tue, Jul 15 |
Virtual Memory: Page Tables
Virtual Memory Refresher, TLB, Multi Level Page Tables
|
||
L21 | Wed, Jul 16 |
Virtual Memory: Page Replacement
Page Replacement, FIFO, LRU, Thrashing, Aging, Second Chance, Linux Version
|
||
R05 | Thu, Jul 17 |
Recitation05: PennOS Intro: Milestone 0 and 1
Good to come back to once you start typing code
|
||
Week 27 |
||||
Check-in07 Due
(Virtual Memory) due @ 12:00 pm on Mon, Jul 21 |
||||
L22 | Mon, Jul 21 |
Memory Allocation
Malloc & Free Lists, Fragmentation
|
||
L23 | Tue, Jul 22 |
Memory Allocation
Garbage Collection, Arena Allocators, Buddy Algorithm, Slab Allocator
|
||
L24 | Wed, Jul 23 |
Course Wrapup & Exam Review
Course Wrapup & Exam Review
|
||
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 |
||||
L25 | Mon, Jul 28 |
Class Cancelled
More time to work on PennOS!
|
||
L26 | Tue, Jul 29 |
Exam Review
Exam Review
|
||
L27 | Wed, Jul 30 |
Exam Review
Exam Review
|
||
R07 | Thu, Jul 31 |
Recitation07: To Be Decided!
Coming Soon
|
||
Week 29 |
||||
Check-in09 Due
() due @ 12:00 pm on Mon, Aug 04 |
||||
L28 | Mon, Aug 04 |
Special Topics: Distributed Systems
Sockets and Distributed Systems intro
|
||
L29 | Tue, Aug 05 |
Concurrency Wrapup
Banker's Algorithm, Deadlock avoidance and User Level vs Kernel Threads
|
||
L30 | Wed, Aug 06 | |||
R08 | Thu, Aug 07 |
Recitation08: To Be Decided!
Coming Soon
|