Skip to content

The syllabus and other organizational aspects of the Advanced OS class.

License

Notifications You must be signed in to change notification settings

gwu-cs-advos/organization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GWU's Advanced Operating Systems

The GWU advanced OS class dives into the details of trade-offs in the design and implementation of complex code-bases, with a focus on microkernels and hypervisors. This repo includes the syllabus and other organizational aspects of the Advanced OS class.

Educational Objectives

In this class, students will:

  • Learn how to optimize for writing readable code.
  • Understand how to do a deep, detailed dive into a code-base, and practice this in multiple code-bases with related goals.
  • Understand how security guarantees are engineered into systems.
  • Understand the trade-offs involved in designing for effective parallelism.
  • Implement an OS on top of a microkernel.

Class Prerequisites

Graduate students should have taken the Architecture class, while undergraduates should have taken the OS class. This class is quite detailed and focused on the C implementation of various systems. If you don't have a decent grasp of C, this class will be quite challenging. If you can effectively read C code, but still feel a little shakey with the language, you'll likely be in good company in the class.

Class schedule

Find the class schedule and timeline.

Class Materials

The "book" for this class includes

  1. lectures for the class and some notes about each lecture's discussion,
  2. an outline "book" of the material for the class, with many references,
  3. background concepts can be learned using the lectures for the undergraduate OS class,
  4. the FAQ book for the undergraduate OS class, which will be expanded in this class, and
  5. the source code for the various systems we'll study.

All of this is free, and you don't need to purchase any materials.

Student Committment and Responsibilities

This class will be very implementation-focused. We'll focus on learning how to implement various OS features relating to system structure, security, and parallelism, and will focus on studying that theory with real implementations. As such, students have to be willing and able to focus on heavy implementation. The class will also require a fairly large amount of peer review, so students have to buy into helping each other, and providing each other useful feedback.

Calibrating your expectations: For those of you who have taken the undergraduate OS class, this class is relatively less of a committment. Compared to that class, students will be given more leeway and responsibility to manage their own time. Compared to the IoT class (Spring '20), this class will be more traditional including continual instruction and multiple, shared homeworks. As such it will be less based on papers and will have more than a single project.

Grading

See the grading information for more details.

About

The syllabus and other organizational aspects of the Advanced OS class.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages