Intended learning outcomes
Students who successfully complete this course will be able to:
- Identify the key objectives of an operating system and the key components of its internal architecture;
- Understand the differences between user and kernel mode and the system call concept and implementation;
- Understand relevant aspects of the implementation and use of the major concepts of operating systems, namely those related to memory management (physical and virtual), I/O and file systems, and the management of processes and threads;
- Develop applications that take advantage of the API of operating systems such as Linux;
- Understand and use different forms of virtualization, namely system virtualization supported by virtual machine monitors (hypervisors) and at the level of the operating system (containers).