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.
Course learning outcomes
- Describe the common features and approaches of modern operating systems in the context of hardware resource management
- Describe the efficiency of different page replacement algorithms in memory management
- Utilise operating system functions and services to manage file systems and store/retrieve data
- Apply common process scheduling algorithms and analyse their efficiency in multi-tasking
- Implement and test inter-process synchronisation using locks, semaphores, and signals
Degree list
The following degrees include this course