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.

Jan. 22: What Operating Systems Do
Readings
OSTEP, Chapters 1-2
Jan. 24: Introduction to C
Readings
Introduction to C and Unix
OSTEP Lab Tutorial Sections F.1-F.3, F.6-F.8
Examples
HelloWorld.c
Money.c
Arrays.c
makefile
Worksheets
Intro C Worksheet
Intro C Worksheet Solution
Assignments
Programming assignment 1: C programming. Due Jan. 31
Jan. 25: 4th hour: Install Linux
In-class work
Installing Ubuntu
Jan. 29-31: Processes and Process API
Readings
OSTEP, Chapter 3-5
Worksheet
fork1, wait, exec Worksheet
fork, wait, exec worksheet solution
Examples
fork1.c
fork2.c
fork3.c
wait1.c
wait2.c
exec1.c
makefile
Homework
Homework 1 handed out, due Feb. 4
Feb. 1:4th hour: C memory management
Readings
OSTEP, Chapter 14
In-class work: Questions at the end of Chapter 14
Examples
Money.c
Money2.c
Money2Free.c
Money2Dangle.c
Leaks.c
makefile
Assignments
Programming assignment 2, available on Moodle. Due Feb. 14
Feb. 5-7: Limited direct execution
Readings:
OSTEP, Chapter 6
Linux System Calls
Worksheet
Protected instructions and system calls
Worksheet solution
Assignments
Homework 2 handed out, due Feb. 18
memory.c
Feb. 7: Scheduling
Readings
OSTEP, Chapters 7
Worksheet
Scheduling
Scheduling solution
Feb. 8:4th hour
Feb. 12: Scheduling (cont.)
Readings
OSTEP, Chapters 7
Worksheet
Preemptive Scheduling
Solution
Feb. 14: Unix command line workshop
Feb. 15: No 4th hour
Feb. 19: Multi-level Feedback Queue Scheduling
Readings
OSTEP, Chapters 8, 11
Worksheet
Preemptive Scheduling
Solution
Assignments
Homework 3 handed out, due Feb. 25
Feb. 21: Address space and address translation
Readings
OSTEP, Chapters 12, 13, 15
Worksheet
Address spaces
Feb. 22:4th hour
Assignments
Programming assignment 3 is available on Moodle. Due Mar. 21
Feb. 26: Segmentation
Readings
OSTEP, Chapter 16
Worksheet
Segmentation
Feb. 28: Midterm exam
Practice midterm questions
Sample answers to the practice midterm questions
Midterm solution
Mar. 1: Fourth hour
Worksheet
Hexadecimal and segmented addresses
Solution
Assignments
Project assignment handed out
Mar. 5:Paging
Readings
OSTEP, Chapter 18
Worksheet
Paging
Mar. 7: TLBs
Readings
OSTEP, Chapter 19
Worksheet
TLBs
Mar. 8:No 4th hour - Enjoy spring break!
Mar. 19: Smaller page tables
Readings
OSTEP, Chapter 20
Worksheet
Multi-level page tables
Mar. 21: Paging mechanisms and policies
Readings
OSTEP, 21-22.4
Worksheet
Page faults
Mar. 22: Fourth hour
Worksheet
Paging
Assignments
Project proposal due

Mar. 19: Paging policies
Readings
OSTEP, 22.5-22.12, 24
Assignments
Homework 4 handed out, due Mar. 25
Mar. 21: Introduction to concurrency
Readings
OSTEP, Chapters 25-26
Mar. 22:4th hour
Assignments
Programming assignment 4, Due April 11
Project proposal due
Mar. 26: Locks
Readings
OSTEP, Chapter 28.1-28.8, 28.11
Assignments
Homework 5 handed out, due Apr. 1
Mar. 28: Locks (cont.)
Readings
OSTEP, Chapters 28.12-28.14
Mar. 29:4th hour
Apr. 2: Concurrent data structures
Readings
OSTEP, Chapter 29
Apr. 4: Special guest: Alfred Spector
Apr. 5: 4th hour
Assignments
Project progress report due
Apr. 9: No class - Community Day
Apr. 11: Condition variables
Readings
OSTEP, Chapter 30
Apr. 12: No 4th hour: Senior symposium
Apr. 16: Semaphores
Readings
OSTEP, Chapter 31
Assignments
Homework 6 handed out, due Apr. 17
Apr. 18: Common concurrency problems
Readings
OSTEP, Chapters 32, 34
Apr. 19: 4th hour: Project presentations
Apr. 23: Project presentations
Apr. 25: Project presentations
Apr. 26: No 4th hour
Apr. 30: Project presentations
May 6, 9 AM:
Final project submission due