CS-372 Schedule Spring 2015

Date Lecture Reading Homework
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


Thomas Bressoud 2016