Learning Outcomes:
Upon completion of this module, the students should be able to explain what an operating system is, and why we study operating systems; be able to use the concept of process and concurrency; understand the issues and techniques associated with process synchronization (deadlock, starvation); understand process scheduling; understand memory management, real memory and virtual memory; define and apply the concept and mechanisms of file systems; demonstrate and formulate protection and security mechanisms; and evaluate the complexity of building an operating system.