Word cloud
CS 322
Operating Systems

Course Schedule

We will be using the following book in this course:

OSTEP
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, 2015.

OSTEP is available in a variety of formats: ranging in price from FREE for an online version through $36 for a hardcover book. See the author website for all the options.

In the schedule below, there are two dates corresponding with each topic. This reflects the fact that there are two sections of the course: A Monday-Wednesday section and a Tuesday-Thursday section.

Sept. 6/7:What Operating Systems Do
Readings
OSTEP, Chapters 1-2
Sept. 8:4th hour: Install Linux and start C programming
In-class work
Installing Ubuntu
Readings
Introduction to C and Unix
OSTEP Lab Tutorial
Optional reading: "Simple" chess puzzle holds key to $1m prize
Assignments
Programming assignment 1: C programming. Due Sept. 14
Sept. 11/12: Processes
Readings
OSTEP, Chapters 3-4.3
Examples
HelloWorld.c
Money.c
Arrays.c
makefile
Sept. 13/14: Forking processes
Readings
OSTEP, Chapter 4.4-5.1
Examples
fork1.c
fork2.c
fork3.c
Assignments
Homework 1 handed out, due Sept. 19/20
Sept. 15:4th hour: C memory management
Readings
OSTEP, Chapter 14
Examples
Money2.c
Assignments
Programming assignment 2: textsort. Due Sept. 28
Sept. 18/19: Process API and System calls
Readings:
OSTEP, Chapter 5.2-6.2
Examples
wait1.c
wait2.c
exec1.c
Linux System Calls
Sept. 20/21: Context switches, CPU scheduling introduction
Readings
OSTEP, Chapters 6.3-7.3
Assignments
Homework handed out, due Sept. 26/27
Sept. 22:4th hour:
In-class work
fork, wait, exec worksheet
Sept. 25/26: CPU Scheduling: SJF, STCF, RR
Readings
OSTEP, Chapters 7.4-7.7
Sept. 27/28: CPU Scheduling: MLFQ
Readings
OSTEP, Chapters 7.8-7.10, 8, 11
Notes
CPU idle time statistics
Assignments
Homework 3 handed out, due Oct. 3/4 - extension to Oct. 4/5 due to Mountain Day
Sept. 29:4th hour:
In-class work
Using scheduler simulators
Assignments
Programming assignment 3: shell. Due Oct. 19
Oct. 2/5: Address spaces and address translation
Readings
OSTEP, Chapter 12-13, 15
Class canceled on Oct. 3 and 4 due to Mountain Day
Oct. 6:4th hour:
In-class work
Hexadecimal and address translation with base/bounds registers
Oct. 9/10:Fall break
Oct. 11/12:, Segmentation
Readings
OSTEP, Chapter 16
Assignments
Homework 4 handed out, due Oct. 24/25
matrix_multiply.c
Oct. 13: Fourth hour
Assignments
Project assignment
In-class work
Address translation using segmentation
Oct. 16/17: Paging Introduction
Readings
OSTEP, Chapters 18.1-18.3
Oct. 18/19: Paging introduction (cont.)
Readings
OSTEP, Chapters 18.4
Oct. 20: No 4th hour - LEAP Symposium
Oct. 23/24: Midterm exam - covers the material through segmentation
Practice midterm questions
Sample answers to the practice midterm questions
Oct. 25/26: TLBs
Readings
OSTEP, Chapters 18.5-19
Oct. 27:4th hour: Free space management
Readings
OSTEP, Chapter 17
Assignments
Programming assignment 4: memory management. Due Nov. 9
Oct. 30/31: Paging (cont.)
Readings
OSTEP, Chapter 20-22, 24
Nov. 1/2: Introduction to concurrency, Locks, Concurrent data structures
Readings
OSTEP, Chapter 25-26, 28-29
Nov. 3:4th hour:
Project proposal due
Nov. 6/7: Condition variables
Readings
OSTEP, Chapter 30
Nov. 8/9: Semaphores
Readings
OSTEP, Chapter 31
Nov. 10:4th hour:
Assignments
Programming assignment 5: scalable web crawler. Due Nov. 30
Nov. 13/14: Common concurrency problems
Readings
OSTEP, Chapter 32, 34
Nov. 15/16: I/O devices
Readings
OSTEP, Chapter 35-36
Nov. 17: 4th hour:
Project progress report due
Nov. 20/21: Hard disk drives
Readings
OSTEP, Chapter 37
Nov. 22/23/24: Thanksgiving break
Nov. 27/28: RAID
Readings
OSTEP, Chapter 38
Nov. 29/30: Files and directories
Readings
OSTEP, Chapter 39
Dec. 1: 4th hour: Meetings to review project presentations
Dec. 4/5: File system implementation
Readings
OSTEP, Chapter 40
Dec. 6/7: Project presentations
Dec. 8: 4th hour: Project presentations
Dec. 11/12: Project presentations
Dec. 19, noon:
Final project submission due