CMSC 421: Principles of Operating Systems

Lecture & Homework Schedule

Standard disclaimer: dates are subject to change.

Date Lecture Homework Reading
Thu 08/30 1. Introduction HW1 assigned Section 1.1 - 1.2
Tue 09/04 2. Roles of the Operating System Sections 1.3 - 1.11
Thu 09/06 3. System Calls Sections 2.1 - 2.7
Tue 09/11 4. Processes Sections 3.1 - 3.3
Thu 09/13 5. File Descriptors HW1 due at 11:59:59 PM; HW2 assigned Sections 11.1 - 11.2, Linux File Descriptors
Tue 09/18 6. Interprocess Communication Sections 3.4 - 3.6, Linux Signals Overview
Thu 09/20 7. Parallelism Sections 4.1 - 4.5
Tue 09/25 8. Synchronization Sections 4.6, 5.1-5.4
Thu 09/27 9. Thread Synchronizations HW2 due at 11:59:59 PM; HW3 assigned Sections 5.5-5.7, POSIX Threads Tutorial
Tue 10/02 Midterm 1
Thu 10/04 10. Advanced Synchronizations Sections 5.7-5.9, 6.1
Tue 10/09 11. Scheduling Sections 6.2-6.3
Thu 10/11 12. Advanced Scheduling Sections 6.5-6.7
Tue 10/16 13. Memory Systems HW3 due at 11:59:59 PM; HW4 assigned Sections 8.1-8.3, 9.7, Linux mmap
Thu 10/18 14. Paging Sections 8.4-8.5
Tue 10/23 15. Virtual Memory Sections 8.6, 9.1-9.3
Thu 10/25 16. Paging Strategies Sections 9.4-9.6, 9.8
Tue 10/30 17. Introduction to Linux Kernel HW4 due at 11:59:59 PM; Proj1 assigned LDD chapter 1, chapter 2
Thu 11/01 Midterm 2
Tue 11/06 18. Device Drivers LDD chapter 3
Thu 11/08 19. Kernel Memory LDD chapter 8, chapter 11
Tue 11/13 20. Kernel Synchronizations LDD chapter 5, chapter 7
Thu 11/15 Class cancelled due to snow
Tue 11/20 21. Interrupt Handling Proj1 due at 11:59:59 PM; Proj2 assigned LDD chapter 10
Tue 11/22 Thanksgiving
Tue 11/27 25. Security Sections 14.1-14.5, Linux Kernel Security
Thu 11/29 22. Mass Storage Sections 10.1-10.5
Tue 12/04 23. Filesystems Sections 11.3-11.4, 12.1-12.3
Thu 12/06 24. Filesystem Implementations Sections 12.4-12.7
Tue 12/11 26. Networking Sections 17.5-17.6, Linux NAPI Design
Thu 12/13 Final Exam (6:00pm – 8:00pm)
Sun 12/16 Proj2 due at 11:59:59 PM