The course provides knowledge of the principles of and how one can implement abstractions of hardware virtualisation of resources and timetabling of assignments; mainly as regards execution, memory and persistent storage. The structure of an operating system is studied to increase the knowledge of these concepts and also give skills in efficient use of the abstraction level that an operating system offers.
Having passed the course, the student should be able to:
explain how multi-threaded processes are structured explain how an operating system can handle several processes at the same time implement parts of the functions of an operating system.
explain how virtualisation of memory is implemented explain how memory management is implemented explain properties for different scheduling algorithms explain properties for different types of process communication explain implementation of more advanced file system.
The course consists of 12-16 lectures to which practical smaller assignments be connected. The practical assignments are intended to give an increased understanding of the concepts that are presented as well as to give the practical skills that is required to satisfy the aim of the course.
The course also has a larger assignment that should be carried out during the course. The assignment should give increased understanding of how an operating system is built in practice and how it functions.