CIS 3800 (Fall 2023) Home Schedule Assignments Tools & Refs Schedule

Schedule

Week 0

L00 Tue, Aug 29 Introduction & Brief C Demo [ pdf ]
Course administrivia. Temrinal, C & C Memory model.
L01 Thu, Aug 31 Intro to Porcesses && Project 0 Demo and Q&A [ pdf ]
What is a process, fork(), exec*(), proj0 demo

Week 1

Q00 Check-in Quiz 0 Due (C, memory, fork & exec)
due @ 01:30 pm on Tue, Sep 05
L02 Tue, Sep 05 Process States & Signals [ pdf ]
Process states, wait(), exit(), alarm(), signal(), signal handlers, asynch wait
R00 Tue, Sep 05 Recitation00: C Refresher [ slides ]
Pointers, Arrays, Structs, GDB, Valgrind
L03 Thu, Sep 07 File Descriptors Context Switching [ pdf ]
File Descriptors, open(), close(), File Descriptor "inheritance", redirection, pipes

Week 2

Q01 Check-in Quiz 1 Due (Processes, alarm(), File Descriptors)
due @ 01:30 pm on Tue, Sep 12
L04 Tue, Sep 12 File Descriptors Continued, pipes wrap-up [ pdf ]
chaining pipes
R01 Tue, Sep 12 Recitation01: Signals [ slides ]
signal handlers & signal system call. Some GDB and some OH for proj0
Project 0 Due (penn-shredder)
due @ 11:59 pm on Wed, Sep 13
late deadline 11:59 pm on Sun, Sep 17
L05 Thu, Sep 14 Signals: Blocking & Masking, interrupts & critical sections [ pdf ]
sigaddset(), sigprocmask(), code interruption & interleaving

Week 3

Q02 Check-in Quiz 2 Due (pipe, signal blocking, critical section)
due @ 01:30 pm on Tue, Sep 19
L06 Tue, Sep 19 Process Groups, Terminal Control, Project 1 Demo and Q&A [ pdf ]
Process groups setpgrp(), Terminal Control tcsetpgrp()
R02 Tue, Sep 19 Recitation02: Pipes and Redirection [ slides ]
File Descriptors, Redirection, Pipes
L07 Thu, Sep 21 Virtual Memory: introduction [ pdf ]
Introduction to virtual memory, pages, page frames, page tables, address translation

Week 4

L08 Tue, Sep 26 Virtual Memory: Page Tables [ pdf ]
Virtual Memory Refresher, Multi Level Page Tables, Inverted Page Tables
R03 Tue, Sep 26 Recitation03: More GDB [ slides ]
Basic and Advanced GDB, signals, child processes, and fds in GDB
Project 0 Peer Evaluation Due (Peer Evaluation of Project 0)
due @ 11:59 pm on Tue, Sep 26
Project 1 Milestone Due (penn-shell: redirection & pipes)
due @ 11:59 pm on Wed, Sep 27
late deadline 11:59 pm on Sun, Oct 01
L09 Thu, Sep 28 Virtual Memory: Page Eviction [ pdf ]
TLB, Page Eviction, LRU, LRU Approximations, Thrashing, Belady's Algorithm

Week 5

Q03 Check-in Quiz 3 Due (Inverted , Multi, TLB, Page Eviction)
due @ 01:30 pm on Tue, Oct 03
L10 Tue, Oct 03 Memory Allocation [ pdf ]
Malloc & Free Lists, Fragmentation, Buddy Algorithm, Slab Allocator
R04 Tue, Oct 03 Recitation04: Process Groups, Terminal Control, and Signaling [ slides ]
Process groups, Terminal Control, Signal delivery, and Project 1
L11 Thu, Oct 05 Caches and Introduction to Threads [ pdf ]
Caches, std::vector vs std::list, introduction to threads, context swithing threads

Week 6

Q04 Check-in Quiz 4 Due (Allocation, Caches, Threads)
due @ 01:30 pm on Tue, Oct 10
L12 Tue, Oct 10 Threads Continued [ pdf ]
Blocking & Threads, Cache Coherence, User level vs Kernel Threads, Scheduling
R05 Tue, Oct 10 Recitation05: Demo and Open Office Hours [ slides ]
Demo of Page Fault System Call and Open Office Hours
Project 1 Due (penn-shell)
due @ 11:59 pm on Wed, Oct 11
late deadline 11:59 pm on Sun, Oct 15
:( Thu, Oct 12 No Class: Fall Break

Week 7

L13 Tue, Oct 17 Midterm Review [ pdf ]
Midterm Practice Questions made by Travis
R06 Tue, Oct 17 Recitation06: Midterm Review [ slides ]
Review of major topics, Thinking Questions
L14 Thu, Oct 19 Midterm Review (cont.) [ pdf ]
Midterm Practice Questions made by Travis
Ex0 Thu, Oct 19 Midterm Exam Thu 07:00 pm - Thu 09:00 pm @ Meyerson B1  [exam info]

Week 8

L15 Tue, Oct 24 Scheduling & File System Start [ pdf ]
SJF, FCFS, RR, RR Variants, Contiguous, Linked List, FAT Allocation
R07 Tue, Oct 24 Recitation07: PennOS Intro and Makefiles [ slides ]
Intro to Penn OS and Makefiles
L16 Thu, Oct 26 Inclass PennOS Demo and Q&A Session [ pdf ]
PennOS details, VERY USEFUL

Week 9

Q05 Check-in Quiz 5 Due (Scheduling & File System)
due @ 01:30 pm on Tue, Oct 31
L17 Tue, Oct 31 File System [ pdf ]
FAT & File System intro again. More FAT Details
R08 Tue, Oct 31 Recitation08: PennOS Scheduling [ slides ]
Scheduling, sched-demo.c, and skeletons
Survey0 Due (mid-semester Survey)
due @ 11:59 pm on Wed, Nov 01
L18 Thu, Nov 02 File System [ pdf ]
I-Nodes, Directories, mmap
PennOS Milestone 0 Due (Rough Organizing & Planning)
due @ 11:59 pm on Fri, Nov 03

Week 10

L19 Tue, Nov 07 Drivers, DMA, Buffering [ pdf ]
Direct Memory Access, Device Drivers, Disk Controllers, stdio Buffering
R09 Tue, Nov 07 Recitation09: PennOS File System [ slides ]
PennFAT and Fragmentation Demo
L20 Thu, Nov 09 File System RAID and Pennos Office Hours [ pdf ]
RAID
PennOS Milestone 1 Due (Demo ~60% completion)
due @ 11:44 pm on Fri, Nov 10

Week 11

Q06 Check-in Quiz 6 Due (Threads)
due @ 01:30 pm on Tue, Nov 14
L21 Tue, Nov 14 Concurrency Control [ pdf ]
Synchronization, Data races, Semaphores, TSL, Peterson's Algorithm
R10 Tue, Nov 14 Recitation10: PennOS: What's next? [ slides ]
Next Steps & Integration
L22 Thu, Nov 16 Common Concurrency Problems [ pdf ]
Reader-Writer problem, deadlocks, condition variables, monitors

Week 12

Q07 Check-in Quiz 7 Due (Mutex & Condition Variables)
due @ 01:30 pm on Tue, Nov 21
L23 Tue, Nov 21 Deadlock Detection [ pdf ]
Resource Graphs, Safe States, Banker's Algorithm
R11 Tue, Nov 21 Recitation11: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
:( Thu, Nov 23 No Class: Thanksgiving Break

Week 13

L24 Tue, Nov 28 Concurrency Wrapup [ pdf ]
Concurrency wrapup
R12 Tue, Nov 28 Recitation12: Open Office Hours for PennOS [ slides ]
Hosted extra OH for PennOS
L25 Thu, Nov 30 Systems Programming Saftey [ pdf ]
C, C++, memory saftey and Rust
PennOS Due (PennOS, all of it)
due @ 11:59 pm on Thu, Nov 30
late deadline 11:59 pm on Mon, Dec 04

Week 14

L26 Tue, Dec 05 Exam Review [ pdf ]
exam review for the second midterm
R13 Tue, Dec 05 Recitation13: Exam Review [ slides ]
Exam Review Jeopardy
L27 Thu, Dec 07 Exam Review
Ex1 Thu, Dec 07 Midterm Exam Thu 07:00 pm - Thu 09:00 pm @ Meyerson B1  [exam info]

Week 15

Survey2 Due (PennOS Team Evaluation)
due @ 11:59 pm on Tue, Dec 12
Survey1 Due (End of Semester Survey)
due @ 11:59 pm on Tue, Dec 12