CS 5460/6460 - Operating Systems



Class Overview

cs5460/6460 teaches the fundamentals of operating systems. You will study, in detail, virtual memory, kernel and user mode, system calls, threads, context switches, interrupts, interprocess communication, coordination of concurrent activities, and the interface between software and hardware. Most importantly, you will study the interactions between these concepts, and how to manage the complexity introduced by the interactions.

To master the concepts, cs5460/6460 is organized in as a series of lectures, and homeworks. The lectures (and the book readings) familiarize you with the main concepts. The homrworks force you to understand the concepts at a deep level.

The lectures are based on xv6, a modern re-implementation of one of the early UNIX operating systems, specifically, Unix Version 6 which was developed in the 1970s, on the modern hardware. xv6 is only 9,000 lines of C code, but it can run real processes, and perform many functions of a traditional operating system, e.g., Windows, Linux, and Mac OS. Due to its small size, it is possible to read the source code and understand the entire operating system. Moreover, xv6 is accompanied by a book describing its architecture and a printout of its source code.
Homework assignments will help you to deepen the understanding of the principles and internal organization of a simple, but real operating system.

You may wonder why we are studying an operating system that resembles Unix v6 instead of the latest and greatest version of Linux, Windows, or BSD Unix. xv6 is big enough to illustrate the basic design and implementation ideas in operating systems. On the other hand, xv6 is far smaller than any modern production operating systems, and correspondingly easier to understand. xv6 has a structure similar to many modern operating systems; once you’ve explored xv6 you will find that much is familiar inside kernels such as Linux.

Grading policy

Homework: 40%, in-class activities: 10%, quizzes 15%, midterm exam: 15%, final exam: 20% of your grade (all grades curved).

Late homework policy

You can submit late homework assignments (not quizzes or in-class activities) 3 days after the deadline for 60% of your grade.

Schedule

Jan 7

Jan 9

Jan 14

Jan 16

Jan 21

Jan 23

Jan 28

Jan 30

March 6

March 11

March 13

April 29