| Objective | ABET Outcomes |
| Understand the role of hardware in supporting operating system functions | 1, 2 |
| Obtain in-depth understanding of process management and threading | 1, 2 |
| Understand and differentiate the different memory management techniques | 1, 2 |
| Understand, compare, and contrast the different data storage techniques | 1, 2 |
| Construct a program module for an operating system | 2, 6 |
| Become proficient system programmers | 2, 6 |
| Percentage | Notes | |
| Written assignments | 24% | four written assignments, weighing 6% each |
| Programming projects | 26% | Two projects, weighing 13% each. Student can select to work on a group project instead: Monitoring HPCC server |
| Midterm exam | 20% | covering chapter 1, 2, and 3 |
| Final exam | 20% | covering chapter 2, 3, 4, 5, and 9 |
| Class Participation: | 10% | Comments/Ask questions |
| Topics | |
| Week 1: 8/28 and 8/30 | - Course overview and Syllabus highlights |
| Week 2: 9/4 and 9/6 | - History of operating systems (1.1-1.2) - Computer hardware review and operating system concepts (1.3-1.5) |
| Week 3: 9/11 and 9/13 | - Shell programming and systems programming (additional materials) - System calls and operating system structure (1.6-1.8) |
| Week 4: 9/18 and 9/21 | - Processes, implementation, and thread model (2.1-2.2, additional materials) - Thread implementation and interprocess communication (2.2-2.3) |
| Week 5: 9/25 and 9/27 | - Semaphores and mutexes (2.3) - Scheduling (2.4) |
| Week 6: 10/2 and 10/4 | - Memory abstraction and virtual memory (3.1-3.3) - Page replacement algorithms (3.4, additional materials) |
| Week 7: 10/9 and 10/11 | - Paging systems and implementation (3.5-3.6) - Segmentation (3.7) |
| Week 8: 10/16 and 10/18 | - Midterm exam: class time, in classroom, covering chapter 1, chapter 2, and chapter 3 - Files and directories (4.1-4.2) |
| Week 9: 10/23 and 10/25 | - File system implementation (4.3, additional materials) - Midterm review and assignments discussions |
| Week 10: 10/30 and 11/1 | - File system management and optimization (4.4) - Example file systems (4.5) |
| Week 11: 11/6 and 11/8 | - Principles of I/O hardware and software (5.1-5.2) - I/O software layers, disk structure, storage-class memory (5.3-5.4, additional materials) |
| Week 12: 11/13 and 11/15 | - Disk scheduling, clocks, clock synchronization (5.4-5.5, additional materials) - User interfaces and power management (5.6-5.8) |
| Week 13: 11/20 | - Security and basics of cryptography (9.1-9.5) |
| Week 14: 11/27 and 11/29 | - Authentication, attacks, and defenses (9.6-9.10) |
| Week 15: 12/4 and 12/7 | - Review and assignment discussions - Final Exam: 12/7 8am to 10am, in classroom, covering chapters 2, 3, 4, 5, and 9. |
| Assignments | Date assigned | Date due |
| 1. Chapter 1 and 2 | 9/18 | 9/28 |
| 2. Chapter 3 | 10/4 | 10/13 |
| 3. Chapter 4 | 10/24 | 11/4 |
| 4. Chapter 5 | 11/10 | 11/20 |
| Programming Projects | Date assigned | Date due |
| 1. Shell programming, process and multithreading on Linux | 10/1 | 10/26 |
| 2. Process and multithreading on Linux | 11/1 | 12/1 |
![]() |
Modern Operating Systems by Andrew S. Tanenbaum Edition: 4th ISBN-10: 013359162X ISBN-13: 978-0133591620 Publisher: Prentice Hall |