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 |