This is the main website for the course. The slides, schedule, and links to assignments, labs, and projects, as well as the official course policies, will be posted here. The course also uses other websites for specific purposes.
- Piazza is a question-and-answer forum.
All official announcements will be sent through Piazza,
and you are responsible for monitoring Piazza to keep up to date with
announcements
(Piazza by default will send an email when an announcement is posted).
- Signup link: www.piazza.com/gvsu/fall2020/cis452.
- You can read the following Piazza FAQ if you have questions.
- Zoom will be the video conferencing service for office
hours and synchronous course meetings.
- Course meetings and labs: https://us02web.zoom.us/j/81970158199?pwd=WjExTXBlRk9oR1NtM01pZDI4TFl0dz09
- Office hours: https://us02web.zoom.us/j/86265634339?pwd=S2NmYjRkUFRsR3Jpb1JoU0VEQ2JtUT09
- Prairielearn is where you will submit all of your assignments, labs, and projects.
Be sure to read through the syllabus for course policies, contact information, and other important info.
** Note: This is an estimated timeline and subject to change. **
| Week | Topics | Readings | Deliverables |
|---|---|---|---|
| 1 | Course logistics (video) Introduction (slides) (video) Multiprogramming motivation (slides) (video) Interrups (slides) (video) System calls (slides) (video) |
Chapter 1 Chapter 2 |
Friday 9/4 Syllabus quiz |
| 2 | Process concepts (slides) (video) Process scheduling (slides) (video) Process lifecycle (slides) (video) |
3.1 - 3.3 | Wednesday 9/9 Lab 1 due Friday activity (not due for credit) |
| 3 | Interprocess communication (IPC slides) (IPC video) (POSIX shared mem slides) (POSIX shared mem video) (Message passing slides) (Message passing video) (Pipes slides) (Pipes video) Threads (Thread overview slides) (Thread overview video) (Thread models slides) (Thread models video) (Thread issues slides) (Thread issues video) |
Chapter 3 Chapter 4 Video errata |
Wednesday 9/16 Lab 2 due Friday activity (not due for credit) |
| 4 | Process synchronization (slides) (Synchronization intro) Syncrhonization algorithms (slides) (Synchronization algorithms) File descriptors (slides) (File descriptor video) |
5.1 - 5.3 | Wednesday 9/23 Lab 3 due Friday activity (not due for credit) |
| 5 | Synchronization hardware (slides) (video) Mutex and Semaphores (mutex slides) (mutex video) (semaphore slides) (semaphore video) (issues slides) (issues video) Classic problems of synchronization (slides 1) (video 1) (slides 2) (video 2) |
5.4 - 5.7 | Wednesday 9/30 Lab 4 due Friday activity (not due for credit) |
| 6 | Monitors (intro slides) (intro video) (usage slides) (usage video) (implementation slides) (implementation video) Deadlock (deadlock criteria slides) (deadlock criteria video) (graphs slides) (graphs video) |
5.8, 5.11 | Wednesday 10/7 Lab 5 due Friday activity (not due for credit) |
| 7 | CPU scheduling concepts (concepts slides) (concepts video) Scheduling criteria and metrics (criteria slides) (criteria video) FCFS Scheduling (fcfs slides) (fcfs video) |
6.1 - 6.2 | Wednesday 10/14 Lab 6 due Friday activity (not due for credit) |
| 8 | Scheduling algorithms (SJF slides) (SJF video) (Burst time slides) (Burst time video) (Priority slides) (Priority video) (Round-robin slides) (Round-robin video) (Multilevel queue slides) (Multilevel video) (Feedback queue slides) (Feedback video) (Thread and multiprocessor slides) (Thread and multiprocessor video) |
6.3 - 6.5 | Thursday 10/22 Project 1 due Wednesday 10/21 Lab 7 due Friday activity (not due for credit) Some activity answers |
| 9 | Memory management (Memory intro) (slides) (Virtual addresses) (slides) (Linking and Loading) (slides) (Swapping) (slides) (Contiguous allocation) (slides) (Fragmentation) (slides) |
7.1 - 7.3 | Midterm Exam Friday, October 30 |
| 10 | Segmentation (video) (slides) Paging (intro video) (intro slides) (details video) (details slides) (TLB video) (TLB slides) (table structure video) (table structure slides) |
7.4 - 7.6 | Friday activity (not due for credit) Some activity answers |
| 11 | Virtual memory (intro) (slides) (Demand Paging) (slides) (Copy-on-Write) (slides) Memory performance (Performance) (slides) Page replacement concepts (Replacement) (slides) Page replacement algorithms (FIFO) (slides) (OPT and LRU) (slides) LRU Implementation (Implementation) (slides) (LRU approximation (more bits)) (slides) (LRU approximation (second chance)) (slides) Page Buffering (Page Buffering) (slides) |
8.1 - 8.4 | Wednesday 11/11 Lab 8 due Friday activity (not due for credit) |
| 12 | Frame allocation (video) (slides) Thrashing (video) (slides) (avoidance) (slides) Memory mapping (video) (slides) |
8.5 - 8.10 | Wednesday 11/18 Lab 9 due Friday activity (not due for credit) |
| Virtual Memory Misc. (video) (slides) Thanksgiving break 11/25 - 11/29 |
Tuesday 11/24 Project 2 due | ||
| 14 | File system concepts (files) (slides) (directories) (slides) (links) (slides) (directory implementation) (slides) File system allocation (contiguous allocation) (slides) (linked allocation) (slides) (indexed allocation) (slides) |
Chapter 10 Chapter 11 Chapter 9 |
Wednesday 12/02 Lab 10 due Friday activity (not due for credit) |
| 15 | Hard Disks (hard disks) (slides) (disk scheduling) (slides) Protection and security (protection) (slides) (security) (slides) |
Chapter 13 Chapter 14 |
Wednesday 12/09 Lab 11 due Friday activity (not due for credit) |
| 16 | Final Exam | Sunday, 12/13 Project 3 due |