David Chiu

Professor of Computer Science
University of Puget Sound
dchiu@pugetsound.edu


home | teaching | research | people | service | faq for students

CS 475: Operating Systems

Instructor: David Chiu
Lecture: Mon/Wed/Fri 3:00 - 3:50 in TH 409
Office Hours: Drop-in or by appointment (scan QR code at my door)

 

Class Resources

Homework

Labs

Calendar (Tentative)

WkMonTueWedThuFri
1
1/20

MLK Day
(no class)

1/21

1/22

Intro: What's an OS?

1/23

1/24

Hwk 1 (vscode) due
Intro: A brief history of computer systems

2
1/27

Lab 1 (Attendance required; Bring laptops)

1/28

1/29

Lab 2 (Attendance required; Bring laptops)

1/30

1/31

Lab 3 (Attendance required; Bring laptops)

3
2/3

Hwk 2 (Sorting) due
Intro: batch processing, multiprogramming, timesharing

2/4

2/5

Invoking the OS: Bootstrapping, interrupts

2/6

2/7

Invoking the OS: Interrupts, traps and system calls

4
2/10

Processes: PCB, address space, program stack

2/11

2/12

Processes: state transitions

2/13

2/14

Hwk 3 (ls2) due
Processes: fork() system call

5
2/17

Processes: exec() system call

2/18

2/19

Processes: wait(); zombies and orphans

2/20

2/21

Threads: motivation and kernel support

6
2/24

Threads: pthread library

2/25

2/26

Review

2/27

2/28

Exam 1

7
3/3

Hwk 4 (dsh) due
Threads: Amdahl's Law; code examples

3/4

3/5

Scheduling: goals and metrics; FCFS, SJF

3/6

3/7

Sched: RR, SRTF, MLFQ

8
3/10

Sched: hyperthreading, multicore considerations

3/11

3/12

Sync: critical section problem

3/13

3/14

Hwk 5 due
Sync: atomicity and spinlocks

9
3/17

Spring break

3/18

3/19

Spring break

3/20

3/21

Spring break

10
3/24

Sync: blocking locks

3/25

3/26

Sync: semaphores

3/27

3/28

Sync: more semaphores

11
3/31

Sync: monitors and condition variables

4/1

4/2

Sync: Java support

4/3

4/4

Review

12
4/7

Exam 2

4/8

4/9

Memory Management: virtual addressing

4/10

4/11

MM: partitioning and segmentation

13
4/14

MM: segmentation

4/15

4/16

MM: paging

4/17

4/18

MM: TLB and page faults

14
4/21

Virtual Memory: demand paging

4/22

4/23

VM: page faults

4/24

4/25

VM: Clock algorithm

15
4/28

VM: memory allocation

4/29

4/30

VM: malloc(), free()

5/1

5/2

Reading Period

16
5/5

Final Exam
4:00-6:00

5/6

5/7

5/8

5/9