CS 6210: Advanced Operating Systems

Course Creator and Instructor

Kishore Ramachandran
Kishore Ramachandran
Creator, Instructor

Course Developer

Charles Brubaker

Charlie Brubaker
Course Developer



Advanced Operating Systems is a graduate-level course that addresses a broad range of topics in operating system design and implementation, including:

  • Operating system structuring
  • Synchronization, communication and scheduling in parallel systems
  • Distributed systems, their communication mechanisms, distributed objects and middleware
  • Failures and recovery management
  • System support for Internet-scale computing

By tracing the key ideas of today's most popular systems to their origins in research, the class highlights key developments in operating system design over the last two decades and illustrates how insight has evolved to implementation.


Students are expected to have completed an undergraduate OS course, or have industry experience. General knowledge of operating systems content will be assumed.   To gain a better understanding of the prerequisite concepts necessary for success in this course, please take this brief diagnostic preparedness test. This test is for prospective students' personal purposes, to gauge readiness for this graduate-level Advanced Operating Systems course.   Another resource for students to utilize in gauging preparedness is the CS 6210 Prerequisites and Concepts list. Please take the time to review the concepts in this document. If a student does not feel comfortable with the listed tasks, it may be beneficial to review this subject matter prior to registering for the course.

Lesson Preview


  • The course is divided into 3 parts, designed to be taken in order. Grades for the course will be divided amongst the following:
  • Midterm - 25%
  • Final - 35%
  • Projects (4 projects worth 10% each): User-level threads, Barrier Synchronization, Proxy Server Web Cache, and Recoverable Virtual Memory
  •   Project submissions will be done through the Udacity site. Your last submission made before the deadline is the only version that will be graded. Information will also be given to students regarding the schedule, due dates and times of projects and exams. Necessary study materials, exam links and submission pages will be provided.*Late work will not be accepted.   We will be using Piazza for class discussion. Once registered for the course, you will receive instructions regarding what is appropriate on Piazza.

Required Course Readings

  • The midterm and final will be based on the instructional lecture videos and the readings. There is no textbook for this course. Rather, students will read a number of important research papers.  Papers to read.

Minimum Technical Requirements

  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions). 2+ Mbps recommended; at minimum 0.768 Mbps download speed
  • Operating system: - PC: Windows XP or higher with latest updates installed - Mac: OS X 10.6 or higher with latest updates installed - Linux: Any recent distribution that has the supported browsers installed
  • Eduardo Medina, Course Manager (Udacity)
  • Google Hangouts on Air are scheduled for 3 p.m. on Wednesdays. A TA will also hold office hours via the blue chatbox on the Udacity site.

Other Info

On-Campus CS 2200 Lecture Recordings

CS 2200 (http://www.cc.gatech.edu/~rama/CS2200-External/) offers a good preparation for the pre-requisites assumed in this course. To access Prof. Ramachandran's on-campus lecture recordings for CS 2200, visit the GT Computing Youtube channel for CS 2200.

Additional Staff

  • Eduardo Medina, Course Manager (Udacity)

Office Hours

Google Hangouts on Air are scheduled for 3 p.m. on Wednesdays. A TA will also hold office hours via the blue chatbox on the Udacity site.

Academic Honesty

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code.