CIS 3800 (Spring 2024) Home Schedule Assignments Tools & Refs Schedule

Schedule

Week 0

L00 Thu, Jan 18 Introduction & C refresher [ pdf ]
Course administrivia. Temrinal, C & C Memory model.

Week 1

L01 Tue, Jan 23 C refresher cont. and Intro to Processes [ pdf ]
C structs, C Strings, malloc, realloc, what is a process?, fork(), exec()
L02 Thu, Jan 25 Processes cont. && shredder Q&A [ pdf ]
fork(), Process states, exec*(), wait(), alarm(), signals (start), shredder demo

Week 2

R00 Mon, Jan 29 Recitation00: C, Parser, Shredder [ slides ]
Pointers, String, Memory Allocation, Parser, Shredder, Signal Handling
L03 Tue, Jan 30 Process States & Signals & Blocking Signals [ pdf ]
signal(), signal handlers, asynch wait, sigaddset(), sigprocmask(), critical sections
Project 0 "due" (penn-parser "due")
due @ 11:59 pm on Tue, Jan 30
Survey0 Due (Pre-Semester Survey)
due @ 11:59 pm on Wed, Jan 31
L04 Thu, Feb 01 File Descriptors & Pipe (start) [ pdf ]
File Descriptor Table, open(), close(), File Descriptor "inheritance", redirection, pipes
Project 1 Due (penn-shredder and penn-parser)
due @ 11:59 pm on Fri, Feb 02

Week 3

R01 Mon, Feb 05 Recitation01: Valgrind, GDB, Redirections & Pipes, Penn-Shell M1 [ slides ]
Valgrind and GDB debugging tools. File Descriptors, Redirection, Pipes, Penn-Shell M1 tips
Q00 Check-in Quiz 0 Due (pipe() and file descriptors)
due @ 05:00 pm on Tue, Feb 06
L05 Tue, Feb 06 File Descriptors Continued, pipes wrap-up, Penn-shell Demo and Q&A [ pdf ]
chaining pipes
L06 Thu, Feb 08 Process Groups, Terminal Control, Project 1 Tips [ pdf ]
Process groups setpgrp(), Terminal Control tcsetpgrp()

Week 4

R02 Mon, Feb 12 Recitation02: Open OH for Penn-Shell M1 [ slides ]
Held Open OH
Project 1 Peer-Eval Due (penn-shredder peer-eval)
due @ 11:59 pm on Mon, Feb 12
L07 Tue, Feb 13 File System: Intro [ pdf ]
What is a File System, Disks, Contigious & Linked-List allocation, FAT Start
Project 2 Milestone Due (penn-shell milestone)
due @ 11:59 pm on Wed, Feb 14
late deadline 11:59 pm on Sun, Feb18
:( Thu, Feb 15 No Class

Week 5

R03 Mon, Feb 19 Recitation03: Process Groups, Terminal Control, Singal Relaying, Penn-Shell [ slides ]
Process Groups, Terminal Control, Signal handling and penn-shell final milestone
L08 Tue, Feb 20 File System: FAT, Inodes, Directories [ pdf ]
FAT, INodes, Directories
L09 Thu, Feb 22 Locality: Buffering, Memory Hierarchy & Caching [ pdf ]
stdio Buffering, Memory Heirarchy, Caches, std::vector vs std::list
Project 2 Due (penn-shell)
due @ 11:59 pm on Fri, Feb 23
late deadline 11:59 pm on Tues, Feb27

Week 6

R04 Mon, Feb 26 Recitation04: Midterm Review [ slides ]
Midterm Review, covering topics and questions
L10 Tue, Feb 27 Midterm Review [ pdf ]
Midterm Practice Questions made by Travis
Ex0 Thu, Feb 29 Midterm Exam Thu 05:15 pm - Thu 07:15 pm @ Meyerson B1  [exam info]

Week 7

:( Tue, Mar 05 No Class
:( Thu, Mar 07 No Class

Week 8

R05 Mon, Mar 11 Recitation05: No Recitation
No Recitation
L11 Tue, Mar 12 Scheduling [ pdf ]
SJF, FCFS, RR, RR Variants
L12 Thu, Mar 14 Intro to Threads [ pdf ]
context swithing, threads, threads vs processes

Week 9

R06 Mon, Mar 18 Recitation06: No Recitation
No Recitation
Q01 Check-in Quiz 1 Due (pthreads)
due @ 05:00 pm on Tue, Mar 19
L13 Tue, Mar 19 Data Races, Race Conditions & Synchronization (start) [ pdf ]
Threads Intro Continued, Data races, Race conditions, Mutex, TSL, Peterson's Algorithm
L14 Thu, Mar 21 Inclass PennOS Demo and Q&A Session [ pdf ]
PennOS & PennFAT details, VERY USEFUL
Survey1 Due (Mid-Semester Survey)
due @ 11:59 pm on Sat, Mar 23

Week 10

R07 Mon, Mar 25 Recitation07: No Recitation
No Recitation
PennOS Milestone 0 Due (Rough Organizing & Planning)
due @ 11:59 pm on Mon, Mar 25
L15 Tue, Mar 26 Deadlocks, Condition Variables, Monitors, and reader-writers [ pdf ]
Reader-Writer problem, deadlocks, condition variables, monitors
L16 Thu, Mar 28 Deadlock Detection [ pdf ]
Condition Variables, Monitors, Dining Philosophers, Resource Graphs, Safe States

Week 11

R08 Mon, Apr 01 Recitation08: PennOS Intro and Makefiles [ slides ]
Intro to Penn OS and Makefiles
Q02 Check-in Quiz 2 Due (mutex & cond)
due @ 05:00 pm on Tue, Apr 02
L17 Tue, Apr 02 More Concurrency Fun :) [ pdf ]
Dining Philosophers, Resource Grapgs, Safe States, Deadlock Avoidance, Parallel Analysis
L18 Thu, Apr 04 Virtual Memory: introduction [ pdf ]
Introduction to virtual memory, pages, page frames, page tables, address translation

Week 12

R09 Mon, Apr 08 Recitation09: PennFAT AG Demo + Open OH [ slides ]
autograder demo
L19 Tue, Apr 09 Virtual Memory: Page Tables [ pdf ]
Virtual Memory Refresher, TLB, Multi Level Page Tables, Inverted Page Tables
PennOS Milestone 1 Due (Demo ~60% completion)
due @ 11:59 pm on Tue, Apr 09
L20 Thu, Apr 11 Virtual Memory: Page Eviction [ pdf ]
Page Eviction, LRU, LRU Approximations, Thrashing, Belady's Anomaly
Q03 Check-in Quiz 3 Due (Virtual Memory)
due @ 11:59 pm on Fri, Apr 12

Week 13

R10 Mon, Apr 15 Recitation10: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
L21 Tue, Apr 16 Memory Allocation [ pdf ]
Malloc & Free Lists, Fragmentation, Buddy Algorithm, Slab Allocator
L22 Thu, Apr 18 Systems Programming Saftey [ pdf ]
C, C++, memory saftey and Rust

Week 14

R11 Mon, Apr 22 Recitation11: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
PennOS Due (PennOS, all of it)
due @ 11:59 pm on Mon, Apr 22
late deadline 11:59 pm on Fri, Apr26
L23 Tue, Apr 23 Course Wrapup [ pdf ]
Q04 Check-in Quiz 4 Due (Page Tables & Memory Allocation)
due @ 04:59 pm on Thu, Apr 25
L24 Thu, Apr 25 Exam Review [ pdf ]
Exam Review

Week 15

R12 Mon, Apr 29 Recitation12: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
L25 Tue, Apr 30 Exam Review
Exam Review

Week 16

R13 Mon, May 06 Recitation13: Exam Review [ slides ]
Exam Review!
Ex1 Tue, May 07 Final Exam Tue 12:00 pm - Tue 02:00 pm @ Towne 100  [exam info]
Survey3 Due (PennOS Team Eval)
due @ 11:59 pm on Wed, May 08
Survey2 Due (Post-Semester Survey)
due @ 11:59 pm on Wed, May 08