The following table outlines the schedule of lectures and assignments for the course. It should give you a good idea on the load expected in this class on a week by week basis. However, we reserve the right to change the order of lectures and/or assignments with an advanced week’s notice.
Jump to week: 0 1 2 3 4 5 6 7 8 9 10
| Week | Session | Reading | Topics | Material |
|---|---|---|---|---|
| 1 |
1
Mon, Mar 04 2024 |
OS Introduction | ||
| WSL2 Install DUE Mon, Mar 04 2024 23:59 No submission needed | ||||
|
2
Tue, Mar 05 2024 |
C Review | |||
|
3
Thu, Mar 07 2024 |
The Process Abstraction | |||
| C Review & xv6 Introduction DUE Thu, Mar 07 2024 23:59 Submission box | ||||
|
4
Fri, Mar 08 2024 |
Operations on Processes | |||
| 2 |
5
Mon, Mar 11 2024 |
IPC: Signals | ||
| Simple Shell DUE Mon, Mar 11 2024 23:59 Submission box | ||||
|
6
Tue, Mar 12 2024 |
IPC: Pipes | |||
|
7
Thu, Mar 14 2024 |
Makefiles | |||
| Process Lab DUE Thu, Mar 14 2024 23:59 Submission box | ||||
|
8
Fri, Mar 15 2024 |
Hacking Day: Heap Manager | |||
| 3 |
9
Mon, Mar 18 2024 |
Introduction to Paging | ||
| Heap Manager DUE Mon, Mar 18 2024 23:59 Submission box | ||||
|
10
Tue, Mar 19 2024 |
Paging | |||
|
11
Thu, Mar 21 2024 |
Exam 1: Part 1 Review | |||
|
12
Fri, Mar 22 2024 |
Exam 1: Part 1 | |||
| 4 |
13
Mon, Mar 25 2024 |
Multi-level Page Tables | ||
|
14
Tue, Mar 26 2024 |
Interrupts and Traps |
Activity
|
||
| [Challenge] Heap Manager II DUE Tue, Mar 26 2024 23:59 Submission box | ||||
|
15
Thu, Mar 28 2024 |
Exam 1: Part 2 Review | |||
|
16
Fri, Mar 29 2024 |
Exam 1: Part 2 | |||
| 5 |
17
Mon, Apr 01 2024 |
Lazy page allocation activity | ||
|
18
Tue, Apr 02 2024 |
Threads: Lightweight Processes | |||
|
19
Thu, Apr 04 2024 |
Concurrency: Mutex & Condition Variables |
Activity
|
||
| [Challenge] Copy-on-Write DUE Thu, Apr 04 2024 23:59 Submission box | ||||
|
20
Fri, Apr 05 2024 |
Mutex locks practice |
Activity
|
||
| 6 |
21
Mon, Apr 15 2024 |
Concurrency: Condition Variables |
Activity
|
|
| Threads & Mutex Basics DUE Mon, Apr 15 2024 23:59 Submission box | ||||
|
22
Tue, Apr 16 2024 |
Concurrency: Condition Variables Practice |
Activity
|
||
|
23
Thu, Apr 18 2024 |
Concurrency: Producer-consumer Problem |
Activity
|
||
| Condition Variables Basics DUE Thu, Apr 18 2024 23:59 Submission box | ||||
|
24
Fri, Apr 19 2024 |
Concurrency: Readers/Writers Problem |
Activity
|
||
| 7 |
25
Mon, Apr 22 2024 |
CPU Scheduling I | ||
| [Challenge] Condition Variables II DUE Mon, Apr 22 2024 23:59 Submission box | ||||
|
26
Tue, Apr 23 2024 |
The xv6 scheduler | |||
|
27
Thu, Apr 25 2024 |
Exam 2 Review | |||
|
28
Fri, Apr 26 2024 |
Exam 2 Part 1 | |||
| 8 |
29
Mon, Apr 29 2024 |
Introduction to Memory Safety | ||
| Scheduler Activity DUE Mon, Apr 29 2024 23:59 Submission box | ||||
|
30
Tue, Apr 30 2024 |
Stack Smashing and Its Variants | |||
|
31
Thu, May 02 2024 |
Return-to-libc Attacks | |||
|
32
Fri, May 03 2024 |
Exam 2 Part 2 | |||
| 9 |
33
Mon, May 06 2024 |
Return-Oriented-Programming and Wrap-up | ||
| [Challenge] Stack Smashing Lab DUE Mon, May 06 2024 23:59 Submission box | ||||
|
34
Tue, May 07 2024 |
File Systems | |||
|
35
Thu, May 09 2024 |
Project Work Time | |||
| Project Milestone 1 DUE Thu, May 09 2024 23:59 Submission box | ||||
|
36
Fri, May 10 2024 |
Project Work Time and Meetings | |||
| 10 |
37
Mon, May 13 2024 |
Lab: ext2 file system | ||
| [Challenge] ext2 File System DUE Mon, May 13 2024 23:59 Submission box | ||||
|
38
Tue, May 14 2024 |
Project Work Time and Meetings | |||
|
39
Thu, May 16 2024 |
Project Work Time and Meetings | |||
|
40
Fri, May 17 2024 |
Project Work Time and Meetings | |||
| Project Milestone 2 DUE Fri, May 17 2024 23:59 Submission box | ||||