CS 471 Tentative Schedule, Spring 2021
1 Programming
Assignments
All programming assignments will be posted and announced as
early as we have them prepared.
These dates will be populated when the assignments are
given.
- PA 0: Jan 29 - Feb 12
- PA 1: Feb 26 - Mar 26
- PA 2: Mar 29 - Apr 30
2 Test Schedule
Tests are bigger milestones, and their dates are announced
ahead of time.
The Midterm date is tentative and will be confirmed by the
Professor at least two weeks before the date.
- Midterm 1: Mar 17 (W) Online
- Covers Chapters 1-6 (Processes and Threads), 26-33 (Synchronization and Concurrency)
- Midterm 2: Apr 14 (W) Online
- Covers Chapters 7-11 (Scheduling), 13-20 (Memory Management)
- Final Exam: See Exam Schedule. Online
- https://registrar.gmu.edu/wp-content/uploads/Spring-2021-Final-Exam-Schedule.pdf
- The Final Exam is Comprehensive
- https://registrar.gmu.edu/wp-content/uploads/Spring-2021-Final-Exam-Schedule.pdf
3 Topics and Readings
Below is a tentative schedule, which is subject to change
as needed.
- This is the Planned Schedule of Topics. Individual lectures may vary, but this this the plan.
Week of | Topic | Lecture Topics | |
Text
Readings (OS: Three Easy Pieces) |
---|---|---|---|---|
Monday | (For this Week) |
|||
1/25 |
Intro to OS |
Course Intro |
1-2 (Operating Systems Overview) | |
OS Structures |
History and Overview of OS |
1-2 (Operating Systems Overview) | ||
2/1 |
Processes and Threads | Processes |
4-6 (Processes) | |
Process Communications |
4-6 (Processes) |
|||
2/8 |
Process Graphs and States Examples and Signals |
4-6 (Processes) 4-6 (Processes) |
||
2/15 |
IPC and Signals Threads |
4-6 (Processes) 26 (Threads) |
||
2/22 | Synchronization |
Concepts |
26-27 (Threads and Synch) |
|
Locks and Primitives |
28-29 (Locks) |
|||
3/1 |
Mutexes and Semaphores |
29-31 (Mutexes and Semaphores) |
||
Semaphore Problems / Monitors |
30-32 (Semaphores and Problems) |
|||
3/8 |
Scheduling |
MCS , Scheduling Metrics |
7 (Scheduling) |
|
Non-Preemptive Algorithms |
7 (Scheduling) |
|||
3/15 | Preemptive Algorithms |
7-8 (Scheduling) |
||
Midterm 1 |
Covers: OS Structures, Processes,
Synchronization |
|||
3/22 | Real-Time and Multi-Core |
9-10 (Multi-CPU) and Slides |
||
Memory Management |
Overview |
13-21 (Memory Management) |
||
3/29 | Contiguous Allocation |
|||
Segmentation |
||||
4/5 |
Paging |
|||
Page Tables and Paged Segmentation |
||||
4/12 |
Virtual Memory |
Page Faults and EAT Calc |
||
Midterm 2 |
Covers: Scheduling and Memory Management |
|||
4/19 |
Page Replacement |
|||
File Systems |
Working Sets and FS Overview |
|||
4/26 |
FS Management |
|||
Security |
Security |
|||
5/3 |
Final Exam |
Final Exam |