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.


Email:junaid.siddiqui@lums.edu.pk
Office Hours:

Thu 1:30–2:30pm in 9-120A

Aatira Anum Ahmad, TA
Email:13030013@lums.edu.pk
Office Hours:

Tue 1:30–2:30pm in SSE 9-119

Course Information

Class meetings

Tue/Thu 12PM–1:15PM in SC-4

Pre-requisites

Undergraduate level Operating Systems concepts; Comfortable with a programming language

Required text

Papers and articles listed in schedule.

Optional text

[ISBN/0470233990] (for background knowledge)

Related Courseslums-cs570-sp13 lums-cs570-sp14 

Grading

10%Quizzes (Unannounced quizzes on paper and individual verbal quizzes including paper summaries)
30%Assignments (3 x 10%, 2 programming, 1 literature review)
40%Mid-term examinations (2 x 20% Open book/notes, not commulative)
20%Final examination (Open book/notes, not commulative)

Policies

Academic dishonesty

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 expected but not required. 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 the TA to repeat the material for you.

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.

Tentative Schedule

#DateTopicReadings

Introduction & Administrivia

Process Management

Synchronization

Kashmir Day

Thread Implementation

[10.1145/1065010.1065042]

Threads vs Events

[Lauer:1979:DOS:850657.850658]

Hybrid Solutions

[Adya:2002:CTM:647057.713851]

Lock based Race Detection

[Yu:2005:RED:1095810.1095832]

Adaptive features in RaceTrack

Pattern based Race Detection

[Erickson:2010:EDD:1924943.1924954]

2015-02-27

Last day to drop this course

Disks and File Systems

File System Implementation

Log Structured File System

[10.1145/146941.146943]

2015-03-13

Last day to withdraw from this course

Cleaning in log structured file system

Deduplication

[Quinlan:2002:VNA:1973333.1973340]

Mid-Semester Break

Mid-Semester Break

Asynchronous Operations

[Nightingale:2006:RS:1298455.1298457]

Data Consistency

[Frost:2007:GFS:1294261.1294291]

Featherstich optimizations

Journaling

[Tweedie98journalingthe]

Memory Management

Paging and Virtual Memory

Superpages

[10.1145/1060289.1060299]

Transactions

[Porter:2009:OST:1629575.1629591]

Virtualization

[Adams:2006:CSH:1168857.1168860]

Virtualizing memory management

System Bugs

[Engler:2001:BDB:502034.502041]

Future Directions

2015-05-19