Overview
Academic contacts
Offerings
Requisites
Enrolment rules
Other learning activities
Learning activities
Learning outcomes
Demonstrate a critical understanding of the concepts of process and how the processes are managed in an operating system.
Demonstrate a critical understanding of how a typical Unix file system is implemented on a mass storage media such as a hard disk.
Demonstrate a critical understanding of various interprocess communication mechanisms.
Demonstrate a critical understanding of various memory management schemes and the related hardware support, including paging, segmentation, virtual memory, and various cache technologies for speeding up memory access.
Demonstrate an understanding of concurrency related issues such as deadlock and race conditions and the methods and techniques to handle these issues.
Demonstrate an understanding of how the hardware resources are abstracted and made available to the upper layer software as an operating system programming interface.
Demonstrate the ability to manage processes in multiple process programs.
Demonstrate the ability to access and manipulate files, directories and various special files in a system program.
Demonstrate the ability to using signals and appropriate interprocess communication mechanisms in the design and implementation of multiple process programs, including data exchange and process synchronisation.
Demonstrate the ability to design and implement client and server programs using TCP and UDP protocols.
Have a solid understanding of the standard Unix programming interface and demonstrate the abilities and skills to designing and implementing systems programs that make an efficient use of the system resources via the programming interface.
Develop and demonstrate skills in self-learning, communications, research, trialand-error, etc., to implement system software.