Credits and Contact Hours
3 credits, 43 hours
Course Instructor Name
Dr. Sami Habib, Dr. Ahmed Nasrallah
Textbook
Operating System Concepts, A. Silberschatz, P. Galvin and G. Gagne, 10th Edition.
Catalog Description
This course will cover the basic design and principles of operating system design and implementation. Concurrent processes, inter-process communication, job and process scheduling; deadlock and race conditions. Issues in memory management (virtual memory, segmentation, and paging) and auxiliary storage management (file systems, directory structuring, and protection mechanisms). Students complete several small projects that exercise their understanding of the material presented in class.
Prerequisite
CpE-207 and CpE-363
Specific Goals for the Course
Upon successful completion of this course, students will be able to:
Understand the relationship between the computer system and operating system (Student outcomes: 1, 2)
Understand the mechanism of interrupts and how it is used within a computer system (Student outcomes: 1, 2)
Specify the role of an operating system and its core modules - process management, memory management, I/O systems, protection and security. How these modules interact among themselves and how they interact with the computer system (Student outcomes: 1, 2)
Analyze and design CPU scheduling techniques, and document the outcomes in a report (Student outcomes: 2, 5)
Analyze and design process synchronization techniques, and document the outcomes in a report (Student outcomes: 2, 5)
Analyze and design deadlock techniques, and document the outcomes in a report (Student outcomes: 2, 5)
Analyze and design page replacement techniques, and document the outcomes in a report (Student outcomes: 2, 5)
Topics to Be Covered
Introduction to history, computer systems, and operating systems
Process and threads
CPU scheduling and process synchronization
Deadlock prevention and detecting techniques
Memory management techniques
Virtual memory concept
File and peripheral systems
Protection and security
Virtual Machines