CS 471 Planned Schedule, Fall 2020
1 Programming
Assignments (Projects) and Homeworks
Programming Assignments:
- All programming assignments will be posted and announced as early as we have them prepared, generally with at least two weeks to complete.
- These dates are subject to change as needed
during the semester.
- Programming Assignment 0: Aug 28 - Sep 18
- Programming Assignment 1: Sep 25 - Oct 23
- Programming Assignment 2: Oct 30 - Dec 4
- There will be approximately four homeworks, which will be done on Blackboard.
- You will have about a week to work on each homework
assignment.
- Homework 1 (OS Overview + Processes) : Sep 15 - Sep 22
- Homework 2 (Synchronization) : Sep 29 - Oct 5
- Homework 3 (Scheduling) : Oct 29 - Nov 5
- Homework 4 (Memory Topics) : Nov 10 - Nov 17
- Homework 5 (Virtual Memory) : Nov 24 - Dec 1
2 Exam Schedule
Tests are bigger milestones, and their dates are announced
ahead of time.
Only severe scheduling anomalies would force a delay in test
dates.
- Midterms:
- October 8th (Thursday)
- OS Structures, Processes/Threads, Synchronization
- November 19th (Thursday)i
- Scheduling, Memory Management, and Virtual Memory
- More information will be provided as the date closes in.
- The exams will be online in Blackboard.
- Final Exam: See Exam Schedule for the Date and
Times.
- https://registrar.gmu.edu/calendars/fall_2020/final-exams/
- The Final Exam is Comprehensive
- The Final will be taken online in Blackboard.
- https://registrar.gmu.edu/calendars/fall_2020/final-exams/
3 Topics and Readings
Note, you can access our textbook in the Gateway Library (JC), call #QA76.5.B795 2016
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 Sep 7 is a Holiday, so the M/W section will
be off by one lecture relative to the T/Th sections.
- Note: Tuesday, Nov 3 is a Holiday (Election Day)
- Note: Wednesday, Nov 25 - Friday, Nov 27 is Thanksgiving Break
Week | Topic | Lecture Topics | Text Readings | ||
---|---|---|---|---|---|
1 | Ch1-2: OS Features | Course Intro | 2 (OS Overview) | ||
(Aug 24-28) | OS Structures | ||||
2 | Processes and Threads | Processes | Ch 4-6 | ||
(Aug 31-Sep 4) | |||||
Monday (Sep 7) is a Holiday. Tuesday - Friday are Normal Classes | |||||
3 | Process Communication | Ch 4-6 | |||
(Sep 7-11) | Threads | Ch 26 | |||
4 | Synchronization | Synchronization Concepts | Ch 26-27 | ||
(Sep 14-18) | Locks |
Ch 28-29 |
|||
5 | Mutexes and Semaphores |
Ch 28-29, 31 |
|||
(Sep 21-25) | |||||
6 | Condition Variables and Monitors | Ch 30-32 |
|||
(Sep 28-Oct 2) | Modern Synchronization |
Slides |
|||
7 | Scheduling |
Scheduling Concepts |
Ch 7 |
||
(Oct 5-9) | Midterm |
||||
8 | Non-Preemptive Algorithms |
Ch 7 |
|||
(Oct 12-16) | SJF and SRTF |
||||
9 | Priority, RR, and Multilevel |
Ch 7, 8 |
|||
(Oct 19-23) | Multicore Scheduling |
Ch 19 |
|||
10 | Real-Time Scheduling |
Slides |
|||
(Oct 26-30) | |||||
Tuesday (Nov 3) is a Holiday. | |||||
11 | Memory Management |
Overview |
Ch 13-15 |
||
(Nov 2-6) | Contiguous and Segmentation |
Ch 16 |
|||
12 | Segmentation and Paging |
Ch 17-20 |
|||
(Nov 9-13) | Paged Memory Techniques |
||||
13 | TLB, Paged Segmentation |
Ch 17-20 |
|||
(Nov 16-20) | Virtual Memory |
Overview and EAT |
Ch 21, Slides |
||
Wed (Nov 25) through Fri (Nov 27) is a Holiday. | |||||
14 | Page Replacement Algorithms |
Ch 22 |
|||
(Nov 23-27) | Thanksgiving Break |
||||
15 | File Systems |
Structures, Inodes, and Modern |
Ch 38-39 |
||
(Nov 30-Dec1) | Security |
OS Security Topics |
Slides |