ECE 570/670 - (Advanced) System Software Design
University of Massachusetts Amherst
The College of Engineering
Department of Electrical and Computer Engineering
UMass Amherst
                  Logo

Home
Calendar Staff Assignments Projects
Resources Feedback

Calendar

The table below lists the topics we will discuss in class.  Please note that links require a username and password, which I will supply in class on the first day.  If you experience problems accessing any of the assigned papers, please let your professor know as soon as possible.

Lecture slides will be posted after each class in PDF format.  Note that all future dates are tentative and subject to change!

Week
Wednesday
Friday
1
1/25: Course Overview [slides]
1/27: Finish Overview and Processes [slides]
Hints for Computer System Design
2
2/1: Atomic Actions, Mutexes, and Locks [slides] [code example]
Why Events Are A Bad Idea (for high-concurrency servers)
2/3: Monitors and CVs [slides]
The Unix Time-Sharing System
Assignment 0 out
3
2/8: Producer/Consumer and R/W Locks [slides]
2/10: Finish R/W Locks and Semaphores [slides]
Virtualization Considered Harmful:
OS Design Directions for Well-Conditioned Services

Assignment 0 due Tuesday 2/14 at 11:59pm 
4
2/15: Implementing Threads and Locks [slides]
Implementing Condition Variables with Semaphores
End to End Arguments in Systems Design
Assignment 1 out

2/17: Finish implementing locks [slides]
Exokernel: An Operating System Architecture 
for Application-Level Resource Management

5
2/22: Deadlock and OS Structure [slides]

2/24: CPU Scheduling and Threads [slides]
  Eraser: A Dynamic Data Race Detector for Multithreaded Programs
6
3/1: Finish CPU Scheduling and Threads [slides]
Lottery Scheduling: Flexible Proportional-share Resource Management
3/3: Address Translation and Page Replacement [slides]
670 Project Proposals due Monday 3/6 at 11:59pm
Scheduler Activations: Effective Kernel Support for the 
User-Level Management of Parallelism
   Assignment 1 (first part) due Sunday 3/5 at 11:59pm

7
3/8: Midterm Exam Review [slides]
Midterm Exam Study Guide
Midterm 7pm-9pm on Thursday, March 9th
ELAB II 119
3/10: Help session for Assignment 1
8
3/15:  Spring Break 3/17: Spring Break
9
3/22: Address translation and paging [slides]
3/24: No class! Work on your assignment!
Out-of-Class Kernel Lab assigned
Lab Handout
Lab VM
Lab video
Assignment 1 (second part) due on Tuesday 3/28 at 11:59pm
10
3/29:  Address translation and paging [slides]
Assignment 2 out
3/31: Go over Midterm and assignment [slides]

 
11
4/5: Dual-mode operation and thrashing [slides]
Xen and the Art of Virtualization
4/7:  Virtual machines [slides]
Live Migration of Virtual Machines
12
4/12: Continue virtual machines [slides]
Memory Resource Management in VMware ESX Server

4/14: Finish virtual machines [slides]
Remus: High Availability via Asynchronous Virtual Machine Replication
Assignment 2 due 4/17
13
4/19: Stack Smashing/GDB tutorial [slides]
Assignment 3 out
4/21: Security [slides]
Enhancing Server Availability and Security Through Failure-Oblivious Computing
14
4/26: Devices/Files and File System [slides]
4/28: Files and File System [slides]
Assignment 3 due 5/2 at 11:59pm
670 Final Projects due at Exit Interview
15
5/9: Final Exam
3:30pm - 5:30pm

Goessmann Laboratory room 20
No Class