CS 6210: Advanced Operating Systems

Instructional Team

Kishore Ramachandran

Kishore Ramachandran
Creator, Instructor
Charles Brubaker

Charlie Brubaker
Course Developer
Anirudh Sarma

Anirudh Sarma
Head TA

Overview

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.

This course counts towards the following specialization(s):
Computing Systems

Foundational Course
Computing Systems Specialization Elective

Preview

Sample Syllabi

Fall 2020 syllabus and schedule (PDF)
Spring 2019 syllabus and schedule (PDF)

Note: Sample syllabi are provided for informational purposes only. For the most up-to-date information, consult the official course documentation.

Course Videos

You can view the lecture videos for this course here.

Before Taking This Class...

Suggested Background Knowledge

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.

CS 2200 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.

Technical Requirements and Software
  • Hardware Requirements
    • You will need a machine which supports VT-X or AMD-V.  i.e. machines that run on i3, i5 or, i7 and later Intel processors OR Athlon 64 X2, 64 FX  and later for AMD processors.
    • You will need a minimum of 8GB RAM.
  • Software 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 is recommended; the minimum requirement is 0.768 Mbps download speed.
    • Operating system:
      • PC: Windows 10 or higher with latest updates installed
      • Mac: OS X 10.9 or higher with latest updates installed
      • Linux: any recent distribution that has the supported browsers installed (you will need a PC/Mac to take exams on Proctortrack)
    • Bluejeans will be used for office hours.

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. This course may impose additional academic integrity stipulations; consult the official course documentation for more information.