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, Nov 27 2023 |
OS Introduction | ||
| WSL2 Install DUE Mon, Nov 27 2023 23:59 No submission needed | ||||
|
2
Tue, Nov 28 2023 |
C Review | |||
|
3
Thu, Nov 30 2023 |
The Process Abstraction | |||
| C Review & xv6 Introduction DUE Thu, Nov 30 2023 23:59 Submission box | ||||
|
4
Fri, Dec 01 2023 |
Operations on Processes | |||
| 2 |
5
Mon, Dec 04 2023 |
IPC: Signals | ||
| Simple Shell DUE Mon, Dec 04 2023 23:59 Submission box | ||||
|
6
Tue, Dec 05 2023 |
IPC: Pipes | |||
|
7
Thu, Dec 07 2023 |
Makefiles | |||
| Process Lab DUE Thu, Dec 07 2023 23:59 Submission box | ||||
|
8
Fri, Dec 08 2023 |
Hacking Day: Heap Manager | |||
| 3 |
9
Mon, Dec 11 2023 |
Introduction to Paging | ||
| Heap Manager DUE Mon, Dec 11 2023 23:59 Submission box | ||||
|
10
Tue, Dec 12 2023 |
Paging | |||
|
11
Thu, Dec 14 2023 |
Exam Review | |||
|
12
Fri, Dec 15 2023 |
Exam 1: Part 1 | |||
| 4 |
13
Mon, Dec 18 2023 |
Multi-level Page Tables | ||
|
14
Tue, Dec 19 2023 |
Lazy page allocation activity | |||
|
15
Thu, Dec 21 2023 |
Exam 1: Part 2 | |||
|
16
Fri, Dec 22 2023 |
No class, enjoy the break | |||
| [Challenge] Heap Manager II DUE Fri, Dec 22 2023 23:59 Submission box grader: @TBA | ||||
| 5 |
17
Mon, Jan 08 2024 |
Interrupts and Traps |
Activity
|
|
|
18
Tue, Jan 09 2024 |
Threads: Lightweight Processes | |||
|
19
Thu, Jan 11 2024 |
Concurrency: Mutex & Condition Variables |
Activity
|
||
| [Challenge] Copy-on-Write DUE Thu, Jan 11 2024 23:59 Submission box grader: @TBA | ||||
|
20
Fri, Jan 12 2024 |
Mutex locks practice |
Activity
|
||
| 6 |
21
Mon, Jan 15 2024 |
Concurrency: Condition Variables |
Activity
|
|
| Threads & Mutex Basics DUE Mon, Jan 15 2024 23:59 Submission box grader: @TBA | ||||
|
22
Tue, Jan 16 2024 |
Concurrency: Condition Variables Practice |
Activity
|
||
|
23
Thu, Jan 18 2024 |
Concurrency: Producer-consumer Problem |
Activity
|
||
| Condition Variables Basics DUE Thu, Jan 18 2024 23:59 Submission box grader: @TBA | ||||
|
24
Fri, Jan 19 2024 |
Concurrency: Readers/Writers Problem |
Activity
|
||
| 7 |
25
Mon, Jan 22 2024 |
CPU Scheduling I | ||
| [Challenge] Condition Variables II DUE Mon, Jan 22 2024 23:59 Submission box grader: @TBA | ||||
|
26
Tue, Jan 23 2024 |
The xv6 scheduler | |||
|
27
Thu, Jan 25 2024 |
Exam 2 Review | |||
|
28
Fri, Jan 26 2024 |
Exam 2 Part 1 | |||
| 8 |
29
Mon, Jan 29 2024 |
Introduction to Memory Safety | ||
| Scheduler Activity DUE Mon, Jan 29 2024 23:59 Submission box grader: @TBA | ||||
|
30
Tue, Jan 30 2024 |
Stack Smashing and Its Variants | |||
|
31
Thu, Feb 01 2024 |
Return-to-libc Attacks | |||
|
32
Fri, Feb 02 2024 |
Exam 2 Part 2 | |||
| 9 |
33
Mon, Feb 05 2024 |
Return-Oriented-Programming and Wrap-up | ||
| Stack Smashing Lab DUE Mon, Feb 05 2024 23:59 Submission box grader: @TBA | ||||
|
34
Tue, Feb 06 2024 |
File Systems | |||
|
35
Thu, Feb 08 2024 |
Project Work Time | |||
| Project Milestone 1 DUE Thu, Feb 08 2024 23:59 Submission box grader: @TBA | ||||
|
36
Fri, Feb 09 2024 |
Project Work Time and Meetings | |||
| 10 |
37
Mon, Feb 12 2024 |
Lab: ext2 file system | ||
| [Challenge] ext2 File System DUE Mon, Feb 12 2024 23:58 Submission box grader: @TBA | ||||
|
38
Tue, Feb 13 2024 |
Project Work Time and Meetings | |||
|
39
Thu, Feb 15 2024 |
Project Work Time and Meetings | |||
|
40
Fri, Feb 16 2024 |
Project Work Time and Meetings | |||
| Project Milestone 2 DUE Fri, Feb 16 2024 23:59 Submission box grader: @TBA | ||||