CS 475: Operating Systems  (Spring 2020)

Instructor: David Chiu
Meeting Time: MWF 3:00-3:50 in Thompson Hall 409
Office: Thompson Hall 390 B
Office Hours: Open door, or by appointment
Canvas: canvas.pugetsound.edu

Syllabus

The course syllabus contains general information on course topics, grading procedures, and classroom policies.

Textbooks

Notes

Access to class note may require a username and password which are given in class.

Homework Assignments

Projects

Course Schedule (Tentative)


Week 1 (Chap 1 and Chap 2)

Mon 01/20Wed 01/22Fri 01/24 Resources

MLK Day (No classes)


Course Syllabus
What is an OS?


A brief history of computing



Week 2 (Chap 2)

Mon 01/27Wed 01/29Fri 01/31
Hwk 1 due
Resources

Job scheduling models


Brief intro to the cmd-line


Interrupts, system calls, and dual-mode operation


Review Guide 1: OS Basics (Sol)

Week 3 (Chap 3: Process Management)

Mon 02/03Wed 02/05Fri 02/07
Hwk 2 due
Resources

Process Management: address space


Process: PCB, state transitions


Process: fork(), wait(), exec(), zombies and orphans


Review Guide 2: Proc & Threads (Sol)
Code (Lec): zombify.c
Code (Lec): orphan.c
Code (Lec): exec.c

Week 4 (Chap 4: Threads)

Mon 02/10Wed 02/12Fri 02/14
Hwk 3 due
Resources

Thread Management: performance and data sharing


Threads: user vs. kernel; implementation; pthread


Threads: work sharing example


Code (Lec): threadFib.c
Code (Lec): rtclock.h
Code (Lec): rtclock.c
Code (Lec): threadSum.c
Code (RG): threadSort.c

Week 5 (Chap 6: CPU Scheduling)

Mon 02/17Wed 02/19Fri 02/21 Resources

CPU Scheduling goals; FCFS, RR


Sched: RR, SJF, SRTF


Talk about Hwk 4; Sched: Priority, Lottery



Week 6 (Chap 6: CPU Scheduling)

Mon 02/24Wed 02/26Fri 02/28
Project 1 due
Resources

Sched: Priority, MLFQ; OSX and Linux


Review


Midterm Exam I


Review Guide 3: Scheduling (Sol)
Apollo 11 (Priority Scheduling)

Week 7 (Chap 5: Synchronization)

Mon 03/02Wed 03/04Fri 03/06
Hwk 4 due
Resources

Sched: hyperthreading, multicore considerations


Synchronization: Critical section, locks


Sync: Implementing locks; priority inversion problem


Review Guide 4: Synchronization (Sol)
Code (Lec): blockinglock.c
Code (Lec): spinlock.c

Week 8 (Finish Chap 5)

Mon 03/09Wed 03/11Fri 03/13 Resources

Sync: Spin locks, priority inversion


Sync: Blocking locks; Semaphores


Sync: Implementing semaphores; helpful professor problem


Reading: Pathfinder (Priority Inversion)
Reading: Therac-25
Reading: GE XA/21

Spring Break!

Mon 03/16Wed 03/18Fri 03/20 Resources











Week 9 (Chap 6: Synchronization)

Mon 03/23Wed 03/25Fri 03/27 Resources




Sync: semaphore review; bounded buffer problem


Sync: semaphores: bounded buffer, readers-writers


Code: Helpful Prof C
Code: BoundedBuffer C
Code: ReadersWriters C
Code: BoundedBuffer Java

Week 10 (Chap 7: Deadlocks)

Mon 03/30
Hwk 5 due
Wed 04/01Fri 04/03 Resources

Sync: monitors and Java


Deadlocks (DL): conditions and prevention


DL: Banker's algorithm


Review Guide 5: Deadlocks (Sol)

Week 11 (Chap 8: Memory Management)

Mon 04/06Wed 04/08Fri 04/10 Resources

DL: RAGs, detection and recovery


Review


Midterm Exam II



Week 12 (Chap 8: Memory Management)

Mon 04/13
Project 3 due
Wed 04/15Fri 04/17 Resources

MM: Address binding, relocatability, process loading


MM: Fixed vs. Dynamic Partitioning


MM: Segmentation


Review Guide 6: Memory Mgmt (Sol)

Week 13 (Chap 9: Virtual Memory)

Mon 04/20Wed 04/22Fri 04/24
Hwk 6 due
Resources

MM: Paging, 2-level paging


MM: Translation Lookaside Buffer (TLB)


Virtual Memory (VM): demand paging and page fault handling



Week 14 (Chap 9)

Mon 04/27Wed 04/29Fri 05/01 Resources

VM: FIFO, MIN, LRU replacement policies


VM: Clock; Start memory allocation and working-set model


VM: memory allocation (cont.)



Week 15 (Chap 12: File Systems)

Mon 05/04Wed 05/06
Project 4 due
Fri 05/08 Resources

VM: malloc(), free(); Start file system


Review


Reading Period (no class)


Review Guide 7: File Systems (Sol)

Finals Week

Mon 05/11Wed 05/13Fri 05/15 Resources

Final Exam 4-6p









   Department of Mathematics and Computer Science
University of Puget Sound
1500 N. Warner St
Tacoma, WA 98416