CS 411 Course Materials, Spring 2022

CS 411 Course Materials
Spring 2022

General

Schedule

Feb. 1, Background
Read before class:
The Linux command line for beginners
Git Setup PDF
Debugging Programs with GDB
Discuss:
Introduction and Background
Do during/after class:
Git Setup
Feb. 3, Background
Continued.
Feb. 8, Intro
Read before class:
Preface Ch. 1 Ch. 2
Discuss and do:
Introduction
Feb. 10, Intro
Continued.
Feb. 15, Processes
Read before class:
Ch. 3 Ch. 4 Ch. 5 Ch. 6
Discuss and do:
Processes
Feb. 17, Processes
Continued.
Feb. 22, Scheduling
Read before class:
Ch. 7 Ch. 8 Ch. 11
Discuss and do:
Scheduling
Feb. 24, Memory Management
Read before class:
Ch. 13 Ch. 15
Discuss and do:
Memory Management
Git Branch Commands
Mar. 1, Class Canceled Mar. 3, Segmentation
Read:
Ch. 16
Discuss and do:
Segmentation
gosh shell
Code Snippets for gosh shell
Mar. 8, Paging
Read:
Ch. 18
Discuss and do:
Paging
Paging Practice
gosh shell
Mar. 10, TLBs for Paging
Read:
Ch. 19
Discuss and do:
TLBs
Page table address translation practice
gosh shell
Mar. 15, Virtual Memory
Read:
Ch. 21 Ch. 22 Section 23.2
Discuss and do:
Virtual Memory I
gosh shell
Mar. 17, Work Day
Mar. 29, Virtual Memory II, gosh Shell
Discuss and do:
Virtual Memory II
Practice Problems
gosh shell
Mar. 31, Concurrency Introduction
Read:
Ch. 25 Ch. 26
Discuss and do:
Concurrency Introduction
gosh shell
Apr. 5, Locks
Read:
Ch. 28
Discuss and do:
Apr. 7, Locks and Condition Variables
Read:
Ch. 29 Ch. 30
Discuss and do:
Apr. 12, Semaphores
Read:
Ch. 31
Discuss and do:
Mutexes, Condition Variables, and Semaphores, Oh My!!!
Apr. 14, Concurrency Bugs
Read:
Ch. 32
Discuss and do:
Concurrency Bugs
Apr. 19, Persistence; I/O and Disks
Read:
Ch. 35 Ch. 36 Ch. 37
Discuss and do:
I/O Devices and HDDs, Pseudo-Code
Apr. 21, Class Canceled
Apr. 26, HDD Scheduling
Ch. 37
Discuss and do:
HDD Scheduling
Setup for concurrent web server
Apr. 28, Concurrent Web Server
Read README for concurrent web server.
May 3, SSDs
Ch. 44
SSDs
Concurrent Web Server Notes, 1
Work on concurrent web server
May 5, Files and Directories
Ch. 39
Files and Directories
Work on concurrent web server
May 10, Concurrent Web Server May 12, File System Implementation
Ch. 40 Ch. 41
We have notes!!! (Thanks for the reminder, Marquis!)

Resources

C Program Debugging

C Coding Style

Read the first document in its entirety, at least the three sections named below of the second document, and then read the example program.

C Programming Resources

Git/Git Resources

Linux Command Line References

Linux Programming Documentation

Pthreads Resources


Last updated May 12, 2022.
Send mail to kelliher[at]goucher.edu
Tom Kelliher