cis5480-25fa (Fall 2025) Home Schedule Assignments Tools & Refs Schedule

Operating Systems Design and Implementation (Fall 2025)

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]