This website is no longer updated.

As of 1.10.2022, the Faculty of Physics has been merged into the TUM School of Natural Sciences with the website https://www.nat.tum.de/. For more information read Conversion of Websites.

de | en

Praktikum: Advanced Systems Programming in C/Rust (IN0012, IN2106, IN2128)

Course 0000004583 in SS 2023

General Data

Course Type practical training
Semester Weekly Hours 6 SWS
Organisational Unit Informatics 1 - Chair of Engineering Software for Decentralized Systems (Prof. Bhatotia)
Lecturers Pramod Bhatotia
Jiyang Chen
Charalampos Mainas
Masanori Misono
Sebastian Reimers
Francisco Romao
Dates Thu, 15:00–16:00, virtuell
and 2 singular or moved dates

Assignment to Modules

Further Information

Courses are together with exams the building blocks for modules. Please keep in mind that information on the contents, learning outcomes and, especially examination conditions are given on the module level only – see section "Assignment to Modules" above.

additional remarks This course covers some of the most important aspects of systems’ programming. More specifically, we will cover the following topics through a set of programming assignments over the semester: - Kernel and system calls: How programs interact with the operating system, how to implement some system calls yourself in assembly - File I/O: Learn about file descriptors, direct i/o, memory mapped i/o, page cache etc. - Concurrency and synchronization: Learn about different threading primitives, i.e., mutexes, concurrent data structure design and how they are implemented - Memory management: Virtual memory, heap, stack and how malloc() works - Processes: Different system calls related to process handling like fork(), execve(), wait() - Networking: Different socket types, efficient ways to implement servers (io_uring) - Performance profiling: Full system profiling with modern tools based on epbf and flamegraphs - Virtualization: Hypervisors (KVM), containers, groups - Compilers: How to convert high-level languages into binary code and how to manipulate them
Links TUMonline entry

Equivalent Courses (e. g. in other semesters)

Top of page