The course aims to provide students a brief historical perspective of the evolution of operating systems and their major components. The course also presents performance and functionality tradeoff in the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management (processes, threads, CPU scheduling, synchronization, and deadlock), memory management (segmentation, paging, swapping).
Upon successful completion of this course, students will be able to;
Recognize the organization of the computer systems,
Describe major components of the operating systems,
Create process concepts in terms of threading, scheduling, synchronization and deadlocks,
Describe computer memory management systems,
Assess file and I/O subsystems in operating systems,
Design multi-processing using one of contemporary programming languages.