| CS 451 | Willamette University | Spring, 2019 |
|
Topics in Computer Science:
Operating Systems and Concurrency |
||
| Tuesday | Thursday |
|---|---|
| January 22
Introduction
Read: Silberschatz, Sections 1.1-1.5 | January 24
Overview
Read: Silberschatz, Sections 1.6-1.10
More C, eSpeak, MyroC
|
| January 29
Operating-system Structures
Read: Silberschatz, Sections 2.1-2.5 | January 31
Operative-system Structures
Read: Silberschatz, Sections 2.6-2.10
Functions and Arrays
Basic input and output
Due: Song Program Project |
| February 5
Processes
Read: Silberschatz, Sections 3.1-3.3 | February 7
Processes
Read: Silberschatz, Sections 3.4-3.6 |
| February 12
Threads
Read: Silberschatz, Sections 4.1-4.3 | February 14
Threads
Read: Silberschatz, Sections 4.4-4.7 |
| February 19
Process Synchronization
Critical Sections Initial approaches Read: Silberschatz, Sections 5.1-5.4 | February 21 Process Synchronization Locks Semaphores Read: Silberschatz: Sections 5.5-5.6
Images
Due: Supplemental Problem 1 (done individually—no collaboration) |
| February 26
Process Synchronization
Classic Problems and Examples Monitors Read: Silberschatz, Sections 5.7-5.10 | February 28
Pause for Breath
Time for Individuals and Pairs to Work on /Catch up on labs, such as the Image Processing Project (required) |
| March 5
Process Synchronization
Deadlock Detection and Prevention Read: Silberschatz, Section 5.11
Processing at front of a linked list
| March 7
CPU Scheduling
Scheduling Algorithms Read: Silberschatz, Sections 6.1-6.3 |
| March 12
CPU Scheduling
Threads Processor Configurations Read: Silberschatz, Sections 6.4-6.8 | March 14
Main Memory
Swapping Contiguous Memory Allocation Read: Silberschatz, Sections 7.1-7.3 |
| March 19
Segmentation
Algorithms Read: Silberschatz, Sections 7.4
More Data Representation
Due: Supplemental Problem 2 (done individually—no collaboration) | March 21
In-class Test
Mid-semester Analysis
|
| March 26
Spring Break
| March 28
Spring Break
|
| April 2
Paging
Read: Silberschatz, Sections 7.5-7.6 | April 4
Virtual Memory
Read: Silberschatz, Sections 8.1-8.4 |
| April 9
Virtual Memory
Logistics Read: Silberschatz, Sections 8.5-8.9
Lab: Readers/writers (required)
Due: Tuesday, April 16
| April 11
Pause for Breath
Time for Individuals and Pairs to Work on /Catch up on labs, such as the Readers/writers Lab (required)
|
| April 16
Virtual Memory
Read: Silberschatz, Chapter 8
Lab: Classical Concurrency Problem:
Crossing a
one-lane bridge simulation (required)
Due: Lab: Readers/writers | April 18
Mass-storage Structures
Read: Silberschatz, Sections 9.1-9.6
Lab: Classical Concurrency Problem:
Crossing a
narrow bridge simulation (required)
Due: Supplemental Problem 3 (done individually—no collaboration) |
| April 23
RAID Structures
Read: Silberschatz, Section 9.7-9.8 An introduction to threads in C Background
Lab: Getting Started with Threads
| April 25
Protection
Read: Silberschatz, Sections 13.1-13.6 Read: An Introduction to Concurrency in Unix-based [GNU] C Through Annotated Examples, Programs 7-10
Lab: Readers/Writers Problem with
Threads
Due: Lab: Classical Concurrency Problem: Crossing a narrow bridge simulation |
| April 30
Security
Read: Silberschatz, Sections 14.1-14.5
Lab: Readers/Writers Problem with
Threads, Continued
Due: Supplemental Problem 4 (done individually—no collaboration) | May 2
End-of-course Evaluations
Semester wrap-up |