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.

Course Information

Class meetings

TTh 11:30am-12:45pm

Pre-requisites

Undergraduate level Operating Systems concepts and comfortable with a programming language

Required text

Papers and articles listed in schedule.

Optional text

[ISBN/0470233990] (for background knowledge)

Grading

20%Assignment(s) ((HW1 6% + HW2 6% + 10 of 12 reviews 8%))
30%Midterm Examination ((Open book, open notes))
20%Project ((1-2 person group, research based))
30%Final Examination ((Open book, open notes))

Tentative Schedule

#DateTopicReadings
Topic 1: Introduction

Overview of operating systems

Book sections: 1.1, 1.2, 1.4, 1.5, 2.3

Overview of batch systems, scheduling, pre-emptive scheduling, processes, threads
[0000/worseisbetter]
[0000/systemspaper]

Book sections: 1.6, 3.1, 3.2, 4.1, 6.1, 6.2, 6.3

Topic 1: Process management

User threads and kernel threads

Book section: 4.3

[10.1145/121132.121151]

Review 1 due

Kashmir day holiday

Overview of synchronization, critical section, software and hardware solutions

Book sections: 5.1–5.4

Overview of mutex, semaphore, monitors, and classic synchronization problems, deadlocks

Book sections: 5.5–5.8

[10.1145/1065010.1065042]

Review 2 due

[10.1145/358818.358824]

Review 3 due

[10.1145/265924.265927]

Review 4 due

Topic 1: File Systems

Introduction to File Systems, Disk arrangement

Book sections: 10.1, 10.2, 10.4, 10.7, 11.1 Project proposal due on 2/27

File systems design, block management

Book sections: 12.1, 12.2, 12.4, 12.5

[10.1145/146941.146943]

Review 5 due

[0000/zfs1]

[0000/zfs2] [0000/zfs3] Review 6 due

Assignment 2 discussion

2013/3/16

Spring break

Spring break

Mid-term solution discussion

Topic 1: Distributed systems

[10.1145/945445.945450]

Review 7 due

[0000/special]

Review 8 due Project milestone due on 4/3

[10.1145/1327452.1327492]

[10.1145/1365815.1365816]

Review 9 due

Topic 1: Memory management

Introduction to memory management, paging

Demand paging, virtual memory

Project milestone due on 4/17

[10.1145/1060289.1060299]

Review 10 due

[10.1145/106972.106984]

[10.1145/224056.224076]

Review 11 due

[10.1145/945445.945462]

Review 12 due Project due Project screencast due on 5/1

Project screencast display and Q/A (Attendance reqd. for project grade)

Review and discussion

2013/5/21