Operating Systems and System Software

Betriebssysteme und Systemsoftware

Description

Operating systems are the interface between the hardware and user applications. In this course, we will explore how operating systems work, with a particular focus on the UNIX family. We will cover all aspects and concepts of operating systems, from software abstractions like processes to hardware abstractions like memory and device management.

We will explore the concepts and algorithms in the lecture, and apply this knowledge in weekly tutorials, as well as programming labs in C.

Course Information

Lecture: 3 SWS

Exercise: 2 SWS

Tutorials: 2 SWS

Language: English

Study program: Bachelor Informatik (mandatory)

Offered in: Summer semester

Prerequisites:

  • Programming Concepts
  • Introduction to Technical Computer Science
  • Basic C/shell knowledge
    We will provide a Moodle course that you should complete before the semester

Content:

  • (Introduction to C and shell programming)
  • Operating system architectures
  • Process management: processes, threads, scheduling
  • Memory management: segmentation, paging, virtual memory, allocators, page reclamation
  • File management: file systems, partitions, access control
  • I/O devices: interrupts, device controllers, I/O software, storage devices, USB devices
  • Concurrency, synchronization: critical sections, mutex, semaphores, deadlocks
  • Inter-process communication: message passing, pipes, shared memory, signals
  • User-kernel interactions: system calls, shared libraries
  • Virtualization: hypervisors, containers