Semester: 3
ECTS: 5
Lectures: 30
Practice sessions: 30
Independent work: 90
Module Code: 24-00-504-E
Semester: 3
ECTS: 5
Lectures: 30
Practice sessions: 30
Independent work: 90
Module Code: 24-00-504-E

Module title:


Operating systems


Module overview:


The objective of this module is to enable students to learn:
• operating systems and how they work
• how operating systems work with processes and threads
• concurrency and synchronization of processes
• how all the above interacts with practical use cases, like using computer to work with hard disk, multimedia systems and similar scenarios.

This module teaches students about the theoretical and practical foundations and inner workings of a modern-day operating system. Students need to understand how operating system works so that they can approach the practical aspect of using operating systems (from programming or system engineering standpoint), as this is going to be one of the core components of their future work.

It is important for students to take this module as it will greatly improve their understanding of operating system principles not only from a higher perspective of using an objective programming language to create an application or script a configuration change, but also from a lower-level perspective as it will give them deeper knowledge of how operating system handle every day, and special use-case scenarios.


Literature:


Essential reading:
1. Stallings, W. (2018) Operating systems internals and Design Principles, 190 High Holborn, London WC1V 7BH, UK, Pearson.

Recommended reading:
1. Tanenbaum, A. (2016) Modern Operating Systems, 190 High Holborn, London WC1V 7BH, UK, Pearson.

Further reading:
1. Silbershatz, A., Gagne, G., B.Galvin P. (2021) Operating System Concepts, 111 River Street, Hoboken, NJ 07030-5774, John Wiley and Sons.