CS 471 Tentative Schedule, Spring 2020
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: Monday, January 27 - Monday, February 10
(11:59pm)
- PA 1: Thursday, February 19th - Friday, March 27
- PA 2: Friday, April 3rd - Friday, May 8th
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 4 (W) in your normal
classroom.
- Covers Chapters 1-6 (Processes and Threads), 26-33 (Synchronization and Concurrency)
- Midterm 2: Apr 27 (M) Online; Details TBD.
- Covers Chapters 7-11 (Scheduling), 13-23 (Memory Management and Virtual Memory)
- Final Exam: See Exam Schedule. The format is TBD,
however, once the format is set, you will have a window of
time to start the exam and the normal amount of time to
complete once started. (Accommodations will be Applied to
Time)
- https://registrar.gmu.edu/calendars/spring-2020/final-exams/
- The Final Exam is Comprehensive
- https://registrar.gmu.edu/calendars/spring-2020/final-exams/
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.
- Note: Monday Jan 20 is a Holiday, so the M/W section
will be off by one lecture relative to the T/Th or the F
sections.
Week of | Topic | Lecture Topics | |
Text Readings |
---|---|---|---|---|
Monday | (For this Week) |
|||
1/20 |
Intro to OS |
Course Intro |
1-2 (Operating Systems Overview) | |
1/27 |
|
History and Overview of OS |
1-2 (Operating Systems Overview) | |
Processes and Threads |
Processes and Threads |
5-6 (Processes), 26 (Threads) | ||
2/3 |
Processes and Threads |
5-6 (Processes), 26 (Threads) | ||
2/10 |
Synchronization |
Processes and Threads Synchronization |
5-6 (Processes), 26 (Threads) 27-33 (Synchronization) |
|
2/17 | Synchronization | 27-33 (Synchronization) | ||
2/24 |
Scheduling |
Scheduling |
7-10 (Scheduling) |
|
3/2 |
Scheduling | 7-10 (Scheduling) | ||
Midterm (All Sections) |
Covers: Processes, Threads,
Synchronization |
|||
3/9 | Spring Break |
|||
3/16 | Spring Break | |||
Part 2 |
||||
3/23 | Scheduling |
Non-Preemptive Scheduling |
7-10 (Scheduling) |
|
Preemptive Scheduling |
||||
3/30 |
Real-Time Scheduling |
|||
Memory | Overview |
13-21 (Memory Management) | ||
4/6 |
Contiguous and Segmentation |
|||
Paging and TLB |
||||
4/13 |
Virtual Memory | Page Tables / Demand Paging |
21-23 (Virtual Memory) |
|
Page Replacement, Working Sets |
||||
4/20 |
File System |
Overview and Tree Structures |
36-45 (File Systems) |
|
Disk Scheduling / ZFS |
||||
4/27 |
Midterm 2 |
|||
NAND and Flash Storage |
||||
5/4 |
Security |
Buffer Overflow, ASLR |
Slides |
|
5/11 |
Virtualization |
Virtualization Overview |
Slides |
|