Module System Software, Media and Communication Computer Science (Bachelor) (ER 3)

English language
Compact font

Color scheme

Module summary

System Software

MKIB3103

Prof. Dr. Thomas Fuchß

/

3rd Semester

Theoretische Informatik, Softwareprojekt, Informatik 2, Informatik 1

none

Having successfully completed the module, students will be able to understand and explain the functions and structures of modern operating systems and how they are embedded in various computer architectures. They will be able to use system-related knowledge to design, develop and implement performant software solutions. In addition, they are able to organize, collaborate on and successfully complete complex programming tasks in a team. They have further developed their technical, social and personal skills as well as their communication skills and self-management.

Individual exams
Course System Software

MKIB3113

Lecture

Prof. Dr. Thomas Fuchß

German

4/4

120 hours in total, including 60 hours of contact study.

Written Exam 90 Min. (graded)

The course "System Software" covers the fundamental tasks and functionalities of modern operating systems and enables students to apply these techniques independently and systematically in teams to solve system-level development tasks. The course is divided into four main thematic areas:

Fundamentals, Process Management, and Scheduling:

  • Understanding the relationship between computer architecture and operating systems.
  • Principles of processor virtualization and limited direct execution.
  • Scheduling algorithms (e.g., Round-Robin, Shortes-Job-First).

File Systems and Persistence:

  • Requirements and differences in HDDs and SSDs.
  • Structure and implementation of file systems.
  • Concepts of free-space management and crash consistency.

Memory Virtualization:

  • Principles of memory segmentation and paging.
  • Management of page frames and allocation strategies.
  • Mechanisms for isolation and memory management.

Concurrency: Processes and Threads:

  • Introduction to threads.
  • Synchronization mechanisms: Mutexes, semaphores, condition variables, monitors.
  • Patterns for parallel and concurrent programming.

In addition, the specific challenges of each topic are discussed, along with common strategies for addressing them. Practical exercises complement the lectures to facilitate the application of theoretical concepts to realistic scenarios.

Slides, videos, textbooks, and other literature:

  • Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. Operating Systems: Three Easy Pieces, (V. 1.10) Arpaci-Dusseau Books, 2023
  • Tanenbaum, Andrew S.; Bos, H. Modern Operating Systems (4th Edition) – Pearson, 2014
  • Stallings, W. Operating Systems: Internals and Design Principles (8th Edition) – Pearson, 2014


The lecture will take the form of seminars with exercises.

Course System Software Laboratory

MKIB3123

Laboratory

Prof. Dr. Carsten Sinz

German

5/4

150 hours in total, including 60 hours of contact study.

Exercise 1 Semester (not graded)

The course is organized in three exercises, covering compiler construction and interprocess communication. Starting with a scanner, the students consolidate their skills in handling large dynamic data structures, pointers, and doing low level IO. The second exercise focuses on the development of a recursive descendent parser and a short introduction to semantic analysis and code generation. The third exercise is an introduction to the field of interprocess communication. Within the exercise, elementary techniques and concepts are trained:

  • generating processes / threads
  • terminating processes / threads
  • synchronizing processes / threads

Slides and textbooks:

  • Eduard Glatz. Betriebssysteme: Grundlagen, Konzepte, Systemprogrammierung - dpunkt.verlag, 2010
  • A.V. Aho, M.S. Lam, R. Sethi und J.D. Ullman. Compiler - Prinzipien, Techniken und Werkzeuge - 2nd Edition - München: Pearson Studium, 2008.
  • D. Grune et. al. Modern compiler design - Wiley, 2000.
  • Andrew S. Tanenbaum. Betriebssysteme, Entwurf und Realisierung Teil 1 - Hanser, 1990.

Attended teamwork and three lectures.