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 |