Week 1: |
Mon |
Jan |
19 |
Introduction |
Syllabus, Dialog, Intro |
|
Tues |
Jan |
20 |
Virtualization and the Process Abstraction |
Dialog, CPU-Intro, CPU-Mechanisms |
|
Wed |
Jan |
21 |
No class: Candidate Interview |
|
CPU-Intro Q1-Q8 |
Fri |
Jan |
23 |
Conclude CPU Mechanisms |
CPU-API |
EC: CPU-API: All HW progs at end of this section |
Week 2: |
Mon |
Jan |
26 |
Open Lab: MLK observation |
CPU-Sched |
CPU-API: All HW progs at end of this section |
Tues |
Jan |
27 |
Scheduling |
|
|
Wed |
Jan |
28 |
Multi-Level Feedback Queue |
CPU-Sched-MLFQ |
System Call and Context Switch Measurement Programs |
Fri |
Jan |
30 |
Lottery Scheduling; conclude CPU Virtualization |
CPU-Sched-Lottery, CPU-Dialoge |
CPU-Sched Q1-Q7 |
Week 3: |
Mon |
Feb |
2 |
Concurrent Interlude Intro, semaphores; System Measurement |
|
MLFQ Questions |
Tues |
Feb |
3 |
Quiz; Pintos/Mercurial Practicum |
Concurrency Dialoge |
|
Wed |
Feb |
4 |
Project1 Discussion; Priority Scheduling and Priority Donation |
Threads Intro |
NextClass6: Code Readthrough Questions |
Fri |
Feb |
6 |
Memory Virtualization Intro |
Virtual Memory Intro |
sema1 test |
Week 4: |
Mon |
Feb |
9 |
Address Translation: Base/Bounds to Segmentation |
VM Mechanism, VM Segmentation |
Project 1 Part A Design Document Draft by classtime |
Tues |
Feb |
10 |
Memory API |
VM API |
Meetings with Prof. Bressoud |
Wed |
Feb |
11 |
Address Translation: Segmentation to Paging |
VM Freespace, VM Paging |
|
Fri |
Feb |
13 |
More Paging |
VM TLBs |
Project 1 Part B Design Document Draft by classtime |
Week 5: |
Mon |
Feb |
16 |
Slow VM Paging Problem: TLB |
VM TLBs |
|
Tues |
Feb |
17 |
Practicum: Project 2 Kickstart |
|
|
Wed |
Feb |
18 |
Large Page Table Problem: Techniques for smaller tables |
VM Small Tables |
Pintos Project 1 |
Fri |
Feb |
20 |
Practicum: Project 2 Simple System Call |
|
NextClass7: Project2 Code Readthrough Questions |
Week 6: |
Mon |
Feb |
23 |
VM: Extending beyond physical memory — mechanisms |
VM Beyond Physical |
Project2 Extra credit |
Tues |
Feb |
24 |
VM: Paging Policies |
VM Paging Policy |
|
Wed |
Feb |
25 |
VM wrapup; Midterm questions; Project2 questions |
|
|
Fri |
Feb |
27 |
Midterm 1 |
|
Team Project2 Meetings |
Week 7: |
Mon |
Mar |
2 |
Midterm Problems; Concurrency Intro |
Threads Intro |
|
Tues |
Mar |
3 |
Concurrency and Locks |
|
|
Wed |
Mar |
4 |
Lock Implementation |
Threads Locks |
NextClass8: Intro Q1-Q7 |
Fri |
Mar |
6 |
Project2 Work Day |
|
NextClass9: Locks Q1-Q10 |
Week 8: |
Mon |
Mar |
9 |
Lock Implementation Conclusion |
|
|
Tues |
Mar |
10 |
Project3 Kickstart Hackathon |
|
Pintos Project 2 |
Wed |
Mar |
11 |
Project3 Hackathon II |
Threads Locks Usage |
Project3 Code Reading |
Fri |
Mar |
13 |
Project3 Hackathon III |
swap_hack.h, swap_hack.c |
Project3 Plan |
Spring Break: Mar 14-22 |
Week 9: |
Mon |
Mar |
23 |
Condition Variables |
condvar.c, bug1.c |
|
Tues |
Mar |
24 |
Condition Variables II |
Condition Variables |
|
Wed |
Mar |
25 |
Semaphore Redux |
Semaphores, mythreads.h, sem-pc.c |
Project3 Design Review (by EOD Thursday) |
Fri |
Mar |
27 |
Visiting Speaker & Discussion: Keith Miller — "How good is good enough" |
|
|
Week 10: |
Mon |
Mar |
30 |
Project 3 Working Session |
|
|
Tues |
Mar |
31 |
Deadlocks; Memory Mapped Files |
Concurrency Pitfalls |
|
Wed |
Apr |
1 |
Project 3 Session |
|
|
Fri |
Apr |
3 |
Project 3 Session |
|
|
Week 11: |
Mon |
Apr |
6 |
Devices |
I/O Devices |
|
Tues |
Apr |
7 |
Disks |
Disks |
|
Wed |
Apr |
8 |
Disk Scheduling |
|
|
Fri |
Apr |
10 |
File Systems: Interface |
File Intro |
Pintos Project 3 (Monday 8:30am) |
Week 12: |
Mon |
Apr |
13 |
File Systems: Implementation |
Implementation |
|
Tues |
Apr |
14 |
File Buffer Cache |
|
|
Wed |
Apr |
15 |
Wrap of Implementation and File Buffer Cache |
|
|
Fri |
Apr |
17 |
Midterm 2 |
|
|
Week 13: |
Mon |
Apr |
20 |
Midterm 2 Questions and Answers |
|
|
Tues |
Apr |
21 |
Distributed Systems Introduction |
Dist Intro |
Project 4 Design Reviews |
Wed |
Apr |
22 |
Project 4 Practicum |
|
|
Fri |
Apr |
24 |
Network File System |
Dist NFS |
|
Week 14: |
Mon |
Apr |
27 |
|
|
|
Tues |
Apr |
28 |
|
|
|
Wed |
Apr |
29 |
|
|
|
Fri |
May |
1 |
|
|
|
Epilogue: |
Mon |
May |
4 |
|
|
Pintos Project 4 |
|