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