Course overview
The course aims to equip learners with the knowledge of the purpose, development and functions of operating systems, and develop skills to leverage these features in software development. Building upon prior knowledge of computer systems and software development, the course will build in-depth knowledge on the purpose and historical development of operating systems and their functions on managing hardware resources including multi-tasking and inter-process synchronisation, memory management, input/output operations, and file systems. Learners will develop skills essential for developing software that leverages the functions and services provided by operating systems.
- Virtualisation
- Concurrency
- Persistence
Course learning outcomes
- Describe the common features and approaches of modern operating systems in the context of hardware resource management.
- Describe different algorithms for memory management.
- Apply operating system functions and services to manage file systems and store/retrieve data.
- Apply theoretical concepts in securing operating systems.
- Implement and test inter-process synchronisation using locks, semaphores, and signals.
Degree list
The following degrees include this course