Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.

LEARNING OUTCOMES

After completing the course, you will be able to answer the following: 

  • What is an operating system (OS), what are its components and how does it work? What is a computer’s architecture and why is an OS needed? 
  • What is an OS process? How are processes executed, and how is the execution reflected in the states of the process? What is the difference between a process and a thread? 
  • How are processes working together in the OS? How is the OS scheduling the execution of the processes? 
  • How do processes communicate and synchronize their activity?  What is a deadlock? What is a livelock? What are semaphores and mutexes? 
  • What is the memory of the computer? How is the memory organized and how is it managed by the OS using pages and frames? 
  • What is the OS shell? How can the shell be used for automating tasks using scripts?  
  • What is Linux? How does Linux work? How can new functionality be added to the operating system? 
  • What are more specialized operating systems (e.g. embedded, fault-tolerant, for a quantum computer)? 
  • What are virtualization, a virtual container and an emulator? 

You will describe the typical data structures and algorithms commonly used in operating systems. You will gain the experience and confidence of using the shell (command line) for daily tasks. At the same time, you will learn the basics of (multi-threaded) system programming using C and C++. 

Credits: 5

Schedule: 03.09.2024 - 09.12.2024

Teacher in charge (valid for whole curriculum period):

Teacher in charge (applies in this implementation): Alexandru Paler

Contact information for the course (applies in this implementation):

CEFR level (valid for whole curriculum period):

Language of instruction and studies (applies in this implementation):

Teaching language: English. Languages of study attainment: English

CONTENT, ASSESSMENT AND WORKLOAD

Content
  • valid for whole curriculum period:

    Operating system structure and elements of computer architecture. Processes and threads. Memory management and file systems. Concurrency and parallelism. Virtualization. 

Assessment Methods and Criteria
  • valid for whole curriculum period:

    Exercises and final exam.

DETAILS

Substitutes for Courses
Prerequisites

FURTHER INFORMATION

Further Information
  • valid for whole curriculum period:

    Teaching Language: English

    Teaching Period: 2024-2025 Autumn I - II
    2025-2026 Autumn I - II