CS-372 Schedule

Date Lecture Reading Homework
Week 0:
Fri Sept 2 Introduction Syllabus, Dialog, Intro
Week 1:
Mon Sept 5 Virtualization and the Process Abstraction Dialog, CPU-Intro, CPU-Mechanisms
Tues Sept 6 CPU Mechanisms
Wed Sept 7 CPU Mechanisms Wrapup; Group Formation
Fri Sept 9 Scheduling I CPU-Sched CPU_Intro HW Q1-8 as group
Week 2:
Mon Sept 12 26-Threads Intro Threads Intro HW-ThreadsIntro Q1-Q10 (tgz file above)
Tues Sept 13
Wed Sept 14 27-Threads API Threads API HW-ThreadsAPI Q1-Q9 (tgz file above)
Fri Sept 16 28-Threads Locks Threads Locks HW-ThreadsLocks Q1-Q15 (tgz file above)
Sun Sept 18 6-8 p.m.: Open Lab Optional Session
Week 3:
Mon Sept 19 Flipped Class Review; Reinforce Locks, Condition Variables; git download of Pintos Writeup for Group Solutions for Week 2 (by midnight)
Tues Sept 20 Getting started in Pintos; Project 1 group formation; project 1 launch Pintos Documentation
Wed Sept 21 09-Multi-Level Feedback Queue Scheduling 09-CPU-Sched-MLFQ Code readthrough questions; Hack 'n Help: Code navigation and debugging
Fri Sept 23 10-Multi-CPU Scheduling 10-CPU-Sched-Multi
Week 4:
Mon Sept 26 Address Translation: Base/Bounds to Segmentation VM Mechanism, VM Segmentation
Tues Sept 27 Pintos Project 1 Working Session
Wed Sept 28 Segmentation Limitations; Paging I VM API, VM Freespace Project 1 Solution pushed to Github by midnight
Fri Sept 30 Paging II VM Paging
Week 5:
Mon Oct 3 Slow VM Paging Problem: TLB VM TLBs IA1 (Shell) Out
Tues Oct 4 Multi Level Paging VM Smaller Tables
Wed Oct 5 Virtual Memory Wrapup (Swapping, Inverted Page Tables) Beyond Physical: Mechanisms, Policies
Fri Oct 7 Midterm 1 Pintos Project 2 Preliminary Design
Week 6:
Mon Oct 10 Swapping Policies
Tues Oct 11 Project 2 Practicum IA1 (Shell) Due by 11:59pm; Pintos Project 2 Final Design
Wed Oct 12 Condition Variables 30-Condition Variables
Fri Oct 14 HW-Condition Variables 1-7
Week 7:
Mon Oct 17 Pintos Project 2: Group reports and working session IA2 (xv6-1) Due
Tues Oct 18 Pintos Project 2 working session; TFA
Wed Oct 19 Semaphores 31-Semaphores Pintos Project 2 committed to Github by 11:59pm for Test EC
Fri Oct 21 No class: Fall Study Break
Week 8:
Mon Oct 24 Concurrency Bugs/Deadlock 31-Concurrency Bugs Pintos Project 2 committed to Github by 11:59pm
Tues Oct 25 (Quiz); Pintos Project 3 Recitation Pintos Project 3 Assignment
Wed Oct 26 Persitence Intro: Devices and Disks 36-I/O Devices, 37-Disks
Fri Oct 28 Disk Scheduling; Disk Practicum
Week 9:
Mon Oct 31 Flash-based SSDs I A1-SSDs
Tues Nov 1 Project 3 Design Reviews
Wed Nov 2 Flash-based SSDs I
Fri Nov 4 RAID 38-RAIDs
Week 10:
Mon Nov 7 File System API I 39-FS API
Tues Nov 8 Pintos Project 3 Work Session
Wed Nov 9 File System API II
Fri Nov 11 File System Implementation 40-FS Implementation
Week 11:
Mon Nov 14 Pintos Filesystem Implementation Pintos Project 3 committed to Github by 11:59pm
Tues Nov 15 Project 4 Recitation/Practicum
Wed Nov 16 Midterm 2
Fri Nov 18 Pintos Project 4 Preliminary Design
Thanksgiving Break: Nov 19-27
Week 12:
Mon Nov 28 Midterm2 Redux and Filesystem Review
Tues Nov 29 Berkeley Unix FFS 41-Fast File System
Wed Nov 30 Filesystem Consistency 42-FSCK and Journaling
Fri Dec 2 Log Structured File SYstems 43-Log-structured File System
Week 13:
Mon Dec 5 OS Topic Decisions
Tues Dec 6 Course Evaluations; Project Work
Wed Dec 7 Distributed Systems/Security
Fri Dec 9 Distributed Systems/Security, Maybe Kevin and Drew presentation
Week 14:
Mon Dec 12
Tues Dec 13 Hung; Miles; Kevin & Drew (provisional); Mary
Wed Dec 14 Wei & Larry; Bobby & Drew Lytle; Charles
Fri Dec 16 Andrew, Cole, Andi & Emily Pintos Project 4 committed to Github by 11:59pm
Final Exam: Tuesday, Dec. 20, 9-11


© Thomas Bressoud 2018