Skip to main content
CPE
445
Operating Systems
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.
Prerequisites:
0612207,0612363
0612445
(3-0-3)

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