Praktikum: Advanced Systems Programming in C/Rust (IN0012, IN2106, IN2128)
Course 0000005974 in SS 2021
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 |
Maurice Bailleu Pramod Bhatotia Dimitrios Stavrakakis Jörg Thalheim |
Dates |
Thu, 16:00–18:00, virtuell |
Assignment to Modules
-
IN2106: Master-Praktikum / Advanced Practical Course
This module is included in the following catalogs:- Further Modules from Other Disciplines
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() - Sockets: 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, cgroups |
---|---|
Links |
Course documents Additional information Additional event TUMonline entry |
Equivalent Courses (e. g. in other semesters)
Semester | Title | Lecturers | Dates |
---|---|---|---|
WS 2023/4 | Praktikum: Systems Programming (IN0012, IN2106, IN2128) | Bhatotia, P. Chen, J. Giortamis, E. Meignan--Masson, I. Okelmann, P. … (total 7) | |
SS 2023 | Praktikum: Advanced Systems Programming in C/Rust (IN0012, IN2106, IN2128) | Bhatotia, P. Chen, J. Mainas, C. Misono, M. Reimers, S. … (total 6) |
Thu, 15:00–16:00, virtuell and singular or moved dates |
WS 2021/2 | Praktikum: Advanced Systems Programming in C/Rust (IN0012, IN2106, IN2128) |
Stavrakakis, D.
Responsible/Coordination: Bhatotia, P. |
Thu, 16:00–18:00, virtuell and singular or moved dates |