Operating Systems, Fall 2016

CS-AD 106

Operating Systems

Course Info

The course schedule and syllabus can be found on the course website: bit.ly/nyuadOS

Class lectures and assignments will be shared through an NYU google drive folder.

The class group forum and mailing list is nyuados-group@nyu.edu

Acks

Many thanks to Professor Kai Li at Princeton, his teaching assistant Yida Wang and his collaborators at the University of Tromso for providing us with their code for our labs.

Warning

A condition of using the Princeton code base is not to distribute/share the skeleton code or your solutions. All assignment resources are therefore distributed through NYU Drive. Solutions must be submitted securely.

Schedule

Week Date Recitation Read Monday Read Wednesday Labs
0 28-Aug No Recitation The Unix TS Paper ; The Night Watch Overview SGG Chp 1, 2; SGG Sec 3.1-3.3 The Boot Process Lab 0 - Prep Lab; Lab 1-Bootloader
1 4-Sep Class: Communicating with the Kernel; Process & Threads SGG Chp 4; SGG Chp 5; Birell Threads Concurrency Control Recitation: Bootloader tutorial Design Review
2 11-Sep Eid ul Adha   Eid ul Adha SGG Chp 5 Concurrency Control Lab 1 -Due; Lab 2 - Non-preemptive kernel
3 18-Sep TBD SGG Chp 7 Concurrency Control & Deadlocks SGG Chp 6 Process Scheduling Design Review
4 25-Sep TBD SGG Chp 7 Preemption SGG Sec 3.4-3.6 IPC Design Review
5 2-Oct Islamic New Year SGG Chp 8 Memory Management SGG Chp 9 Paging Lab 2 - Due; Lab 3 - Kernel with Preemption
6 9-Oct TBD SGG Chp 9 Caching Everything Midterm 1 Design Review
7 16-Oct No Recitation No Class Final Exams for 7 week courses Lab 3 Due; Lab 4 - IPC
8 23-Oct Fall Break   Fall Break SGG Chp 13 Device Drivers Design Review
9 30-Oct TBD SGG Chp 13 Block Devices SGG Chp 11, 13 File Systems Lab 4 - Due; Lab 5 - VM
10 6-Nov TBD SGG Chp 11, 13 File Systems SGG Chp 12 Log Structured File Systems Design Review
11 13-Nov TBD TBD Networking TBD Distributed Systems Design Review
12 20-Nov TBD TBD Virtualization TBD Virtualization Lab 5 Due
13 27-Nov TBD TBD Paper Cuts Martyr's Day
14 4-Dec TBD TBD Paper Cuts TBD Paper Cuts
15 11-Dec TBD Prophet's Birthday Everything Midterm 2

Paper Cuts

In previous years, each student read and presented a research paper and wrote critiques on several papers. This year, we are changing it up a bit. Paper Cuts is a battle to death (metaphorically that is) between two student groups on a single research paper. Each group gives a 10 minute intro on the paper and then each group takes a for/against position and the debate begins. Your stance will be chosen randomly.

This requires each group to not only examine the paper but also secondary sources such as online commentary, preceding & follow-on work, evaluate the paper's experimental study and argue in style similar to what a conference review board does for or against the paper.

Arguments/Critiques will be written and sent to me before class begins. You will share your arguments with the opposing team (and class) a day before the battle except for one hidden argument to allow sufficient preparation. Students can help the teams of their choosing.

Points awarded for dynamic presentations and convincing arguments. Imagine the class (and me) are a star OS/systems development team and your goal is either to make us implement the system described in the paper or move away to something else.

Potential Paper Cuts:

Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem, McKusick, Ganger (Usenix, 1999)
Spanner: Google's Globally-Distributed Database, Corbett et Al, (OSDI 2012)
The Google File System, Ghemawat et al. (SOSP 2003)
Transactional Memory: Architectural Support for Lock-Free Data Structures, Herlihy, and Moss. (SIGARCH 1993)
CalvinFS: Consistent WAN Replication and Scalable Metadata Management for Distributed File Systems, Thomson and Abadi (Usenix FAST 2015)
Large scale cluster Management at Google with Borg, Verma et al. (EuroSys 2015)
Fawn: A fast array of wimpy nodes, Andersen et al. (SOSP 2009)

Syllabus

Textbook & Recommended books

Silberschatz, Galvin and Gagne, Operating System Concepts (SGG) Ninth Edition
Tanenbaum, Modern Operating Systems (MOS) Third Edition
Tanenbaum and Woodhull, OS Design and Implementation, Second Edition

Use of Outside Help

Plagiarism is not acceptable. Solutions must be the individual's or the group's own work. If a solution benefits substantially from hints or solutions from outside sources, such sources must be fully acknowledged. Copying another group's solution and modifying variable/function names, making slight tweaks to data structures/looping methods (while instead of for)/conditionals etc. is plagiarism and will be penalized according to NYUAD's plagiarism policy.

Grading - Tentative Distribution

5 Labs: 50%
1st Midterm Exam: 15%
2nd Midterm Exam: 15%
Paper Cuts: 15%
Reading & Participation: 5%
Bonus Problem Sets: up to 10%

Late Assignments

You have 100 hours of lateness forgiveness: use them wisely. No late assignments will be otherwise accepted.

Team Policy

Expect to be paired in groups of 2-3 students for labs