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
Homeworks:
  • 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:
    1. October 8th (Thursday)
      • OS Structures, Processes/Threads, Synchronization
    2. 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.

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