FSU COP4610 / CGS 5765
Principles of Operating Systems (Spring 2025)

Instructor
Andy Wang (awang@cs.fsu.edu)

Teaching Assistants
Michael Nguyen, Bing Jiao, Tusher Mondol, and Sai Peddi (cop4610t@cs.fsu.edu, subject: cop4610)

Textbook
Silberschatz, Galvin, and Gagne, Operating System Concepts, 10th Edition


Announcements

[Jan 1] Welcome to COP4610!


Lecture Slides

Lecture 1 (1/7/2025)
Course Syllabus (PDF)
Course Information (PPTX)

Lecture 2 (1/9/2025)
Introduction and History (PPT)
Concurrency: Threads, Address Spaces, and Processes (PPT)
Homework 1 (posted on Canvas)
Reading: Chapters 1 and 2
Applying for Graduate Schools (PPTX)

Lecture 3 (1/14/2025)
Genesis: From Raw Hardware to Processes (PPTX)
Project 1 release

Lecture 4 (1/16/2025)
CPU Scheduling (PPT)
Round robin example (PPT)
Reading: Chapter 5
Homework 2 (posted on Canvas)

Lecture 5 (1/21/2025)
Cooperating Threads (PPT)
Synchronization (PPT)
Project 1 Hints (PPT)
Reading: Sections 4.1
Implementing Mutal Exclusion (PPT)
Reading: Sections 6.4 - 6.5
Homework 3 (posted on Canvas)

Lecture 6 (1/23/2025)
Semaphores and Bounded Buffer (PPT)
More on Semaphores (PPT)
Reading: Section 7.1.1
Homework 4 (posted on Canvas)

Lecture 7 (1/28/2025)
Exam review (PPT)

Lecture 8 (1/30/2025)
Exam 1 in class (please bring your ID)

Lecture 9 (2/4/2025)
Project 2 release

Lecture 10 (2/6/2025)
Exam 1 Debrief

Lecture 11 (2/11/2025)
Monitors, Condition Variables, and Readers-Writers (PPT)
Homework 5 (posted on Canvas)

Lecture 12 (2/13/2025)
Deadlocks (PPT)
Concurrency Conclusion (PPT)
Optional: Why threads are a bad idea, by John Ousterhout (PPTX)
Reading: Chapter 8

Lecture 13 (2/18/2025)
Memory Protection (PPT)
Address Translation (PPT)
Homework 6 (posted on Canvas)
Reading: Sections 9.1 - 9.4

Lecture 14 (2/20/2025)
Caching and TLBs (PPT)
Reading: Sections 10.1 - 10.6

Lecture 15 (2/25/2025)
Project 2 office hours

Lecture 16 (2/27/2025)
Recitation

Lecture 17 (3/4/2025)
Virtual Memory (PPT)
Homework 7 (posted on Canvas)
Reading: Sections 11.1-11.2, 12.1-12.4

Lecture 18 (3/6/2025)
Device Management and Disk Management (PPT)

Lecture 19 (3/18/2025)
Exam review (PPT)

Lecture 20 (3/20/2025)
Exam 2 in class (please bring your ID)

Lecture 21 (3/25/2025)
Project 3 release

Lecture 22 (3/27/2025)
Exam 2 Debrief

Lecture 23 (4/1/2025)
File Systems (PPT)
Naming and Directories (PPT)
Reading: Sections 12.1 - 12.3, 13.1 - 13.4

Lecture 24 (4/3/2025)
Transactions and Reliability (PPT)
Protection and Security (PPT)
Reading: Sections 16, 17.5 - 17.7
Homework 8 (posted on Canvas)

Lecture 25 (4/8/2025)
TrueErase (PPTX)

Lecture 26 (4/10/2025)
Network Protocols (PPT)
Network and Distributed Systems (PowerPoint XP)
Reading: Sections 19.3 - 19.6
Homework 9 (posted on Canvas)
10-million-passwords.txt (right click on the link and click 'save as')
wordlist.10000.txt

Lecture 27 (4/15/2025)
Remote Procedure Call (PPT)
Distributed File Systems (PPT)

Lecture 28 (4/17/2025)
Final review (PPT)
Homework 10 (posted on Canvas)

Lecture 29 (4/22/2025)
Automated Worm Fingerprinting (PPTX)

Lecture 30 (4/24/2025)
Finding Bugs in Persistent Memory File Systems


Useful Resources

Discussion board

Lab resources
Lab Web page
Cross-Referecing Linux

Books
Arpaci-Dusseau, Arpaci-Dusseau, Operating Systems: Three Easy Pieces
Kernighan, Ritchie, The C Programming Language (2nd Edition)


awang@cs.fsu.edu
Last modified on: January 1, 2025