Operating systems 7.5 credits
About the course
The goal of the course is to introduce the students to modern operating systems design. Both practical and theoretical aspects of operating Systems will be studied. The course will cover 5 main topics, namely,
Topic 1: Introduction
This module will provide a top level description of modern operating systems.
Topic 2: kernels and processes
Introduces the students to the design and implementation of different operating system kernels in some detail.
Topic 3: concurrency, synchronization and scheduling
The module covers threads and the semantics of concurrency, synchronization of multi-threaded programs, deadlocks, race conditions, processor scheduling and other related topics.
Topic 4: memory management
The fourth module cover topics related to memory such as hardware and software address translation mechanisms, caching and virtual memory.
Topic 5: I/O and File Systems
This module introduces the File system abstraction, different storage devices and filesystems