Schedule
Week 32 |
||||
| L00 | Tue, Aug 26 |
Introduction & C refresher
[ pdf
]
Course administrivia. Temrinal, C & C Memory model.
|
||
| L01 | Thu, Aug 28 |
C refresher cont. and Intro to Processes
[ pdf
]
C structs, malloc, what is a process?, fork(), exec()
|
||
Week 33 |
||||
|
Check-in00 Due
(C Review, Fork) due @ 01:45 pm on Tue, Sep 02 |
||||
| L02 | Tue, Sep 02 |
Processes cont. && shredder Q&A
[ pdf
]
fork(), Process states, exec*(), wait(), alarm(), signals (start), shredder demo
|
||
| L03 | Thu, Sep 04 |
Process States & Signals & Blocking Signals
[ pdf
]
sigaction(), signal handlers, asynch wait, sigaddset(), sigprocmask(), critical sections
|
||
| R00 | Thu, Sep 04 |
Recitation00: C Review [ slides ]
GDB. Valgrind, Fork, Process, Signals, and more!
|
||
|
Survey00 Due
(Pre-semester Survey) due @ 11:44 pm on Fri, Sep 05 |
||||
|
HW00 Due
(penn-vec) due @ 11:59 pm on Fri, Sep 05 |
||||
Week 34 |
||||
|
Check-in01 Due
(exec, sigaction, sigprocmask, and more) due @ 01:45 pm on Tue, Sep 09 |
||||
| L04 | Tue, Sep 09 |
File Descriptors & Pipe (start)
[ pdf
]
File Descriptor Table, open(), close(), File Descriptor "inheritance", redirection, pipes
|
||
| L05 | Thu, Sep 11 |
File Descriptors Continued, pipes wrap-up, Penn-shell Demo and Q&A
[ pdf
]
chaining pipes
|
||
| R01 | Thu, Sep 11 |
Recitation01: Handling Processes [ slides ]
Signals, File Descriptors, and Pipes
|
||
|
HW01 Due
(penn-shredder) due @ 11:59 pm on Fri, Sep 12 |
||||
Week 35 |
||||
|
Check-in02 Due
(Pipes and Dup2 Galore) due @ 01:45 pm on Tue, Sep 16 |
||||
| L06 | Tue, Sep 16 |
Process Groups, Terminal Control, Project 1 Tips
[ pdf
]
Process groups setpgrp(), Terminal Control tcsetpgrp()
|
||
| L07 | Thu, Sep 18 |
File System: Intro
[ pdf
]
What is a File System, Disks, Contigious & Linked-List allocation, FAT Start
|
||
| R02 | Thu, Sep 18 |
Recitation02: Penn-Shell [ slides ]
Process Groups, Terminal Control
|
||
Week 36 |
||||
|
Check-in03 Due
(Process groups, Controlling terminals, and File System Intro) due @ 01:45 pm on Tue, Sep 23 |
||||
| L08 | Tue, Sep 23 |
File System: FAT, Inodes, Directories
[ pdf
]
FAT, INodes, Directories
|
||
|
HW01 Peer Eval Due
(penn-shredder peer eval) due @ 11:59 pm on Tue, Sep 23 |
||||
|
HW02 Milestone Due
(penn-shell Milestone) due @ 11:59 pm on Wed, Sep 24 |
||||
| L09 | Thu, Sep 25 |
File System: Continued
[ pdf
]
File System Wrap-Up
|
||
| R03 | Thu, Sep 25 |
Recitation03: File System [ slides ]
Fat and Penn FAT examples!
|
||
Week 37 |
||||
|
Check-in04 Due
(File System) due @ 01:45 pm on Tue, Sep 30 |
||||
| L10 | Tue, Sep 30 |
Intro to Threads
[ pdf
]
Introduction to threads and POSIX threads.
|
||
| L11 | Thu, Oct 02 |
Scheduling
[ pdf
]
Non-Premptive Threads, Premptive Threads, RR Variants, CFS, EEVDF, context switching,...
|
||
| R04 | Thu, Oct 02 |
Recitation04: Threads and scheduling [ slides ]
Overview of threading and scheduling algorithms.
|
||
Week 38 |
||||
|
HW02 Due
(penn-shell) due @ 11:59 pm on Mon, Oct 06 |
||||
|
Check-in05 Due
(Scheduling and Threads) due @ 01:45 pm on Tue, Oct 07 |
||||
| L12 | Tue, Oct 07 |
Data Races, Race Conditions & Synchronization (start)
[ pdf
]
Threads Intro Continued, Data Races, Race conditions, Mutex Locks, Peterson's Algorithm, Memory Barriers...
|
||
Week 39 |
||||
| L13 | Tue, Oct 14 |
Midterm Review
[ pdf
]
Midterm Practice Questions
|
||
| Ex0 | Thu, Oct 16 | Exam00 Thu 05:15 pm - Thu 06:45 pm @ Towne 100 & Wu and Chen Auditorium [exam info] | ||
Week 40 |
||||
| L14 | Tue, Oct 21 |
Inclass PennOS Demo and Q&A Session
[ pdf
]
PennOS & PennFAT details, VERY USEFUL
|
||
| L15 | Thu, Oct 23 |
Threads, Locks, spthreads and Deadlocks (start)
[ pdf
]
threads, spthreads, locks
|
||
| R05 | Thu, Oct 23 |
Recitation05: No recitation.
Everyone gets a freebie. Y'all deserve a break.
|
||
Week 41 |
||||
|
Check-in06 Due
(Locks and Threads) due @ 01:45 pm on Tue, Oct 28 |
||||
| L16 | Tue, Oct 28 |
Deadlocks (cont.), Dining Philosophers
[ pdf
]
Deadlocks, Dining Philosophers, Resource Graphs
|
||
| L17 | Thu, Oct 30 |
Condition Variables
[ pdf
]
Wrapping up synchronization methods with Condition Variables!
|
||
| R06 | Thu, Oct 30 |
Recitation06: Synchronization & spthreads [ slides ]
Practice problems with Synchronization & understanding sphreads.
|
||
|
Survey01 Due
( Mid-semester Survey) due @ 11:59 pm on Fri, Oct 31 |
||||
Week 42 |
||||
| L18 | Tue, Nov 04 |
Locality: Buffering, Memory Hierarchy & Caching
[ pdf
]
stdio Buffering, Memory Heirarchy, Caches, std::vector vs std::list
|
||
|
Check-in07 Due
(Goodbye Threads!) due @ 05:00 pm on Tue, Nov 04 |
||||
| L19 | Thu, Nov 06 |
Virtual Memory: introduction
[ pdf
]
Introduction to virtual memory, pages, page frames, page tables, address translation
|
||
| R07 | Thu, Nov 06 |
Recitation07: Condition Variables, Caching, and Virtual Memory [ slides ]
Practice problems with Condition Variables. Reviewing virtual Memory!
|
||
|
PennOS Github Creation Due
(Penn OS Github Creation) due @ 11:59 pm on Fri, Nov 07 |
||||
|
PennOS Milestone 0 Due
(Organizing, Planning & Fundamentals of PennOS) due @ 11:59 pm on Fri, Nov 07 |
||||
Week 43 |
||||
| L20 | Tue, Nov 11 |
Virtual Memory: Page Tables
[ pdf
]
Virtual Memory Refresher, TLB, Multi Level Page Tables
|
||
| L21 | Thu, Nov 13 |
Virtual Memory: Page Replacement
[ pdf
]
Page Replacement, FIFO, LRU, Thrashing, Aging, Second Chance, Linux Version
|
||
| R08 | Thu, Nov 13 |
Recitation08: Virtual Memory II [ slides ]
Continuing virtual memory!
|
||
Week 44 |
||||
| L22 | Tue, Nov 18 |
Memory Allocation
[ pdf
]
Malloc & Free Lists, Fragmentation
|
||
|
Check-in08 Due
(Virtual Memory) due @ 05:00 pm on Tue, Nov 18 |
||||
| L23 | Thu, Nov 20 |
Memory Allocation
[ pdf
]
Garbage Collection, Arena Allocators, Buddy Algorithm, Slab Allocator
|
||
| R09 | Thu, Nov 20 |
Recitation09: Memory Allocation [ slides ]
Practice problems with Virtual Memory allocation and more!
|
||
|
PennOS Milestone 1 Due
(Demo ~60% completion) due @ 11:59 pm on Fri, Nov 21 |
||||
Week 45 |
||||
| R10 | Thu, Nov 27 |
Recitation10: To Be Decided!
Coming Soon
|
||
Week 46 |
||||
| L24 | Tue, Dec 02 |
No Class
Thanksgiving break!
|
||
| L25 | Tue, Dec 02 |
No Class
Thanksgiving break!
|
||
| L26 | Thu, Dec 04 |
Kernel Networking
An brief introduction in how the Kernel is used to manage sockets and connections.
|
||
| L27 | Thu, Dec 04 |
Course Wrapup
The time has come. It's time to go through how far we've come.
|
||
| R11 | Thu, Dec 04 |
Recitation11: To Be Decided!
Coming Soon
|
||
|
PennOS Due
(PennOS (No code modifications after this date)) due @ 11:59 pm on Fri, Dec 05 |
||||
Week 47 |
||||
| L28 | Tue, Dec 09 |
Exam Review
Exam Review
|
||
| L29 | Tue, Dec 09 |
Exam Review
Exam Review
|
||
| Ex1 | Thu, Dec 11 | Final Exam Thu 12:00 pm - Thu 02:00 pm @ CHEM 514 and CHEM 102 [more info to be released] | ||