Schedule

This schedule is subject to change. Resources correspond to activities or materials covered during class on the listed day. You are expected to read the assigned chapters (♢) before class. Plicker questions will be based on assigned readings. In-class activities (★) are due by the following class meeting unless otherwise stated. Homework assignments (☆) are listed on the day they are assigned.

Date Day Topic Resources Assignments
08/24 W Syllabus; intro Syllabus
HW0: Getting Setup (Due 8/29 by the end of class)
08/26 F Intro; C, binary, hex review Ch 1 - Intro (dialogue)
Ch 2 - Intro
♢ Quiz 1
Architecture and OS Slides
08/29 M Process: abstraction Ch 3 - Virtualization (dialogue)
Ch 4 - Processes
♢ Quiz 2
Process Slides
Project 0: Unix Utilities Pt 1 (Due 9/5 by the end of class)
08/31 W Process: API Ch 5 - Process API
♢ Quiz 3
HW 1: Process Simulation (Due 09/02 before the end of class)
HW 2: Process Simulation (Due 09/02 before the end of class)
09/02 F Multi-Process Code Examples
09/05 M Limited Direct Execution Ch 6 - Limited Direct Execution
♢ Quiz 4
Limited Direct Execution Slides
Project 1: Unix Utilities Pt 2 (Due 9/13/22 by the end of the day)
09/07 W Scheduling Ch 7 - CPU Scheduling
♢ Quiz 5
Scheduling Slides
HW 3: Scheduler Simulation (Due before the end of class 09/08/22)
09/09 F MFQ Scheduling Ch 8 - Multilevel Feedback Queue
♢ Quiz 6
MLFQ Slides
HW 4: MLFQ Scheduler Simulation (Due before the end of class 09/12/22)
09/12 M Proportional Share Scheduling Ch 9 - Proportional Share Scheduling
Ch 11 - CPU Virtualization Summary (dialogue)
♢ Quiz 7
Proportional Share Scheduling Slides
HW 5: Proportional Share Scheduler Simulation (Due 09/15/22 by the end of the day)
Project 2: Unix Shell (Due 10/28/22 by the end of the day)
09/14 W Address Spaces Ch 12 - Memory Based Virtualization (dialogue)
Ch 13 - Address Spaces
♢ Quiz 8
Address Spaces Slides
HW 6: Virtual Memory in Linux (Due 09/15/22 by the end of the day)
09/16 F Memory API Ch 14 - Memory API
♢ Quiz 9
HW 7: Memory API (Due 09/19/22 before class)
09/19 M Address Translation Ch 15 - Address Translation
♢ Quiz 10 (Due 09/20 before 11:59pm)
Address Translation Slides
HW 8: Memory API (Due 09/21/22 before class)
Project 2 Milestone: Unix Shell Passing Test 1-10
09/21 W Segmentation Ch 16 - Segmentation
♢ Quiz 11
Segmentation Slides
HW 9: Segmentation (Due 09/23/22 before class)
09/23 F Free Space Management Ch 17 - Free Space Management
♢ Quiz 12
Free Space Slides
HW 10: Free Space Management (Due 09/26/22 before class)
09/26 M Ch 18 - Introduction to Paging (LAST TOPIC FOR MIDTERM)
♢ Quiz 13
Paging Slides
HW 11: Paging (Due 09/30/22 before the end of class)
Project 2 Milestone: Unix Shell Passing Test 10-20
09/28 W Unix Shell
09/30 F MIDTERM EXAM REVIEW Midterm Exam Topics/Hints

10/03 M MIDTERM EXAM

10/05 W Translation Lookaside Buffers Ch 19 - Translation Lookaside Buffers
♢ Quiz 14 (Due 10/07 before the end of the day)
TLB Slides
HW 12: TLB (Due 10/07/22 before the end of the day)
10/07 F Midterm Exam Results Review Project 2 Milestone: Unix Shell Passing All Tests and Memory Checks
PROJECT 2 UNIX SHELL PASSING TESTS 1-11 TO QUALIFY FOR EXTENSION (push current work before the end of the day 11:59pm)
10/10 M No class: fall break

10/12 W No class: fall break

10/14 F No class: fall break

10/17 M Finish Exam Review / Unix Shell Work
10/19 W Multi level Page Tables Ch 20 - Advanced Page Tables
Multi-level Page Table Slides
♢ Quiz 15 (Due 10/19 before the end of the day)

10/21 F Finish Multi-level Page Tables Multi-level Page Table Translation Example
10/24 M Swapping Mechanics Ch 21 - Swapping: Mechanisms
♢ Quiz 16 (Due at the end of the day)
Swapping Slides
10/26 W Swapping Policies Ch 22 - Swapping: Policies
♢ Quiz 17 (Due at the end of the day)
Swapping Policies Slides

10/28 F Complete VM Systems Ch 23 - Complete VM Systems (Only Linux Section 23.2 and the Summary 23.3)
Ch 24 - Summary (dialogue)
♢ Quiz 18 (Due at the end of the day)
Linux Virtual Memory System Slides
COMPLETE PROJECT 2 UNIX SHELL DUE (by the end of the day)
Homework 13 (Due 10/31 at the end of the day)
10/31 M Concurrency and Threads Ch 25 - Concurrency (dialogue)
Ch 26 - Concurrency and Threads
♢ Quiz 19 (Due 11/01 at the end of the day)
Concurrency Slides

11/02 W Thread API Ch 27 - Thread API
♢ Quiz 20 (Due 11/04 end of the day)
Homework 14 Thread API (Due Friday 11/04 at the end of the day)
11/04 F Locks Ch 28 - Locks
♢ Quiz 21 (Due 11/04 end of the day)
Locks Slides

11/07 M Locking Data Structures Ch 29 - Locked Data Structures
♢ Quiz 22 (Due 11/08 end of day)
Locking Data Structures Slides
Homework 15 Concurrent Data Structures (Due 11/21 End of the Day)
11/09 W Condition Variables Ch 30 - Condition Variables
Condition Variables Slides
Homework 16 Condition Variables (Due 11/21 End of the Day)
11/11 F Semaphores Ch 31 - Semaphores
Semaphores Slides
Homework 17 Semaphores (Due 11/21 End of the Day)
11/14 M Concurrency Bugs Ch 32 - Concurrency Bugs
Ch 34 - Dialogue
Concurrency Bugs Slides

11/16 W I/O Devices Ch 35 - Persistence (dialogue)
Ch 36 - IO Devices
IO Devices Slides
Quiz 23 (Due 11/17 end of day)

11/18 F HDDs Ch 37 - Hard Disk Drives
Hard Disk Drive Slides
Homework 18 HDD (Due 11/29 at the end of the day)
11/21 M Ch 38 - Redundant Disk Arrays (RAID)
RAID Slides

11/23 W No class: Thanksgiving break

11/25 F No class: Thanksgiving break

11/28 M Ch 39 - Files and Directories
Files and Directories Slides
Exercise: myls and mytail
11/30 W Ch 40 - File System Implementation
Files System Implementation Slides

12/02 F Ch 41 - Fast File System (FFS)
Fast File System Slides

12/05 M Ch 42 - FSCK and Journaling
FSCK and Journaling
END OF EXAM TOPICS
12/07 W FINAL EXAM REVIEW REVIEW DAY 1
Exam Topics Guide

12/09 F FINAL EXAM REVIEW REVIEW DAY 2
Exam Topics Guide
Review Code for myls and mytail

12/15 FINAL EXAM from 4:00pm - 6:30pm Exam Topics Guide