Advanced Operating Systems
Spring 2016 offering at LUMS as CS 570
This course introduces advanced operating system topics and introduces recent developments in systems research. The course involves reading and understanding classic and new research papers on operating systems. Topics include operating system structure, threads and synchronization, virtual memory management, file systems, security, bug finding and transactions.
We will cover undergraduate level background knowledge necessary to understand the research papers at a fast pace. However, course exams will only be from research papers. All exams will be open book and will contain questions that require you to apply the techniques in the research papers in a different context or to compare different techniques. The questions will require a deep understanding of the technique proposed in the paper and its limitations. Some assignments will require implementing a research idea while others will be more research oriented.
Mon/Wed 9:30–10:45AM in SSE 10-404
Undergraduate level Operating Systems concepts; Comfortable with a programming language
Papers and articles listed in schedule.
Silberschatz Operating System Concepts John Wiley & Sons Software, 2009 (for background knowledge)
|Related Courses||lums-cs570-sp13 lums-cs570-sp14 lums-cs570-sp15|
|10%||Attendance (-2 for each class missed. Arriving late and leaving early is equivalent to missing.)|
|30%||Assignments (3 x 10%, tentative)|
|60%||Examinations (4 x 15% Open book/notes, not commulative)|
You must not turn in work that is not yours. You must not enable someone else to turn in work that is not his or hers. Do not share your work with anyone else and adequately protect all your files. You must not allow someone to openly violate this policy because it diminishes your effort as well as that of your honest classmates.
Changing your exam answers after they have been graded, copying answers during exams, or plagiarizing the work of others will be considered academic dishonesty and will be subject to disciplinary penalties, including the possibility of failure in the course and/or dismissal from the University. Plagiarism detection software will be used on the programs submitted in this class.
Attendance & class decorum
Attendance is required and two marks will be deducted for every class missed. As per Computer Science Department policy, no one will be allowed in class after 5 minutes of scheduled start time. If you do not attend, do not expect me or any TA to repeat the material for you. Missing more than five classes will result in an F in the course.
Your behavior should not be disruptive during class and should not hinder in other students’ learning. In particular do not chat with your neighbors. Keep your cell phones turned off in class. You can use laptops to take notes but make sure they do not disturb anyone in your surroundings.
Late submissions & missed exams
All work must be turned in by electronic submission before the deadline (no e-mailed submissions). Do not submit at the last moment. If you submit your assignment late even by a second, it will not be considered.
Under exceptional situations (e.g. emergency medical), I may give extra days but under no circumstance, the extra days will be awarded after the deadline has already passed.
Petitions for missed mid-term and final examinations approved by the Office of Student Affairs will most likely receive an average score after a deduction according to their semester performance.
|1||Mon 18 Jan|
Introduction & Administrivia
|2||Wed 20 Jan|
User mode and Kernel mode
|3||Mon 25 Jan|
Processes and threads
|4||Wed 27 Jan|
User threads vs Kernel threads
Anderson et. al. Scheduler activations: effective kernel support for the user-level management of parallelism in Proceedings of the thirteenth ACM symposium on Operating systems principles, 1991
|5||Mon 1 Feb|
|6||Wed 3 Feb|
Lock based Race Detection
Savage et. al. Eraser: a dynamic data race detector for multithreaded programs ACM Trans. Comput. Syst., 1997
|7||Mon 8 Feb|
Hybrid Race Detection
Yu et. al. RaceTrack: Efficient Detection of Data Race Conditions via Adaptive Tracking in Proceedings of the Twentieth ACM Symposium on Operating Systems Principles, 2005
|8||Wed 10 Feb|
Pattern based Race Detection
Erickson et. al. Effective Data-race Detection for the Kernel in Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, 2010
|9||Mon 15 Feb|
|10||Wed 17 Feb|
Disks and File Systems
Last day to drop this course is Feb 19.
|11||Mon 22 Feb|
File System Implementation
|12||Wed 24 Feb|
Unix file system
McKusick et. al. A Fast File System for UNIX ACM Trans. Comput. Syst., 1984
|13||Mon 29 Feb|
Log Structured File System
Rosenblum and Ousterhout The design and implementation of a log-structured file system ACM Trans. Comput. Syst., 1992
|14||Wed 2 Mar|
Last day to withdraw from this course is Mar 4.
Quinlan and Dorward Venti: A New Approach to Archival Storage in Proceedings of the 1st USENIX Conference on File and Storage Technologies, 2002
|15||Mon 7 Mar|
Nightingale et. al. Rethink the Sync in Proceedings of the 7th Symposium on Operating Systems Design and Implementation, 2006
|16||Wed 9 Mar|
|Mon 14 Mar|
|Wed 16 Mar|
|17||Mon 21 Mar|
|Wed 23 Mar|
|18||Mon 28 Mar|
Paging and Virtual Memory
|19||Wed 30 Mar|
Navarro et. al. Practical, transparent operating system support for superpages in Proceedings of the 5th symposium on Operating systems design and implementation, 2002
|20||Mon 4 Apr|
Virtual memory uses
Appel and Li Virtual memory primitives for user programs in Proceedings of the fourth international conference on Architectural support for programming languages and operating systems, 1991
|21||Wed 6 Apr|
Application level resource management
Engler et. al. Exokernel: an operating system architecture for application-level resource management in Proceedings of the fifteenth ACM symposium on Operating systems principles, 1995
|22||Mon 11 Apr|
|Wed 13 Apr|
No class (Tentative)
|23||Mon 18 Apr|
Barham et. al. Xen and the art of virtualization in Proceedings of the nineteenth ACM symposium on Operating systems principles, 2003
|24||Wed 20 Apr|
Adams and Agesen A Comparison of Software and Hardware Techniques for x86 Virtualization in Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, 2006
|25||Mon 25 Apr|
Distributed systems I
Ghemawat et. al. The Google file system in Proceedings of the nineteenth ACM symposium on Operating systems principles, 2003
|26||Wed 27 Apr|
Distributed systems II
Li et. al. Making geo-replicated systems fast as possible, consistent when necessary in Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation, 2012
|27||Mon 2 May|
Engler et. al. Bugs As Deviant Behavior: A General Approach to Inferring Errors in Systems Code in Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles, 2001
|28||Wed 4 May|
Review & Future Directions
|Sat 7 May|
No class (Tentative)
|29||Tue 10 May|
Exam 4, 3–6pm