Learning Outcomes:
On completion of this module, 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 to process synchronisation (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.