G22.2250-001 Operating Systems
Spring 2006
Nigel Hinds
Thursday 7-8:50pm; Rm 109 WWH


Lecture Notes:

For now the lecture notes contain primarily administrative notes. You can also find Dr. Gottlieb's OS lecture notes online.

Lecture 1

Lecture 2

Lecture 3

Lecture 4

Lecture 5

Lecture 6

Lecture 7

Lecture 8

Lecture 9

Lecture 10

Lecture 11

Lecture 12

Lecture 13

Lecture 14

Contact Information:

Instructor: Nigel Hinds

TA: Adrian Secord

TA: Ziyang Wang


The course text is "Modern Operating Systems", 2nd Edition, by Andrew Tanenbaum


Grades will be computed as:

    40% * LabAverage + 60% * FinalExam.


These are (3 or 4) computer programs written by the student. Labs are:

Lab 1

Lab 2

Lab 3

Lab 4


Academic Integrity:

In this class all students are expected to adhere to the CS department's Academic Integrity policy. For details click here.


Some Topics:

  • Process Scheduling
  • Round Robin Scheduling
  • Shortest Job First
  • Context Switching
  • Demand Paging
  • Segmentation
  • Page Fault
  • Memory Management Unit
  • Processes and Threads
  • Virtual Machine
  • Virtual Memory
  • Least Recently Used (page replacement)
  • Device Driver
  • Direct Memory Access (DMA)
  • Interrupts
  • Seek Time / Rotational Latency / (Disk) Transfer Rate


This is an introductory course. I do not assume you have had an OS course as an undergraduate, and I do not assume you have had extensive experience working with an operating system.

I do assume you are an experienced programmer, at least to the extent that you are comfortable writing modest size (a few hundred lines) programs. You may write your programs in C, C++, or java.