Operating System Group (OSG)
Our Research and Teaching activities are centered around operating systems: From hardware over system software up to languages and compilers with a focus on constructive methods for the design and development of adaptable and versatile system software. The group is led by Christian Dietrich
Niklas Gollenstede receives the award for the best master thesis in the field of operating systems. The award is granted annually by the SIG on Operating Systems of the German Computer Assiciation (GI Fachgruppe Betriebssysteme) solely on the base of scientific excellence. It includes a price money of 500 €. Congrats, Niklas!
For embedded systems, having a reproducible and predictable build and update process is crucial to deploy such systems in the field. In his thesis, Design and Implementation of a Light-Weight Container Runtime for Real-Time Applications, Niklas extends and improves the NixOS ecosystem to make it suitable for embedded systems. This excellent work part of the ATLAS project.
Lars Wrenger presents our paper LLFree: Scalable and Optionally-Persistent Page-Frame Allocation at the 2023 USENIX Annual Technical Conference (ATC '23) in Boston, MA, USA. The page-frame allocator ist the most fundamental memory-management component in any operating system. In the paper we present LLFree, the design and design principles for a new lock- and log-free page-frame allocator that provides for excellent scalability on multi-core platforms as well as crash consistency on nonvolatile memories. Compared to the Linux frame allocator, LLFree reduces the allocation time for concurrent 4 KiB allocations by up to 88 percent and for 2 MiB allocations by up to 98 percent. For memory compaction, LLFree decreases the number of required page movements by 64 percent. LLFree is an important bulidung block for our ParPerOS project.
For the extensive and easy to reproduce benchmark results, we got the Distinguished Artifact Award. Congrats, Lars!
Dominik Töllner presents our paper MELF: Multivariant Executables for a Heterogeneous World at the 2023 USENIX Annual Technical Conference (ATC '23) in Boston, MA, USA. In the paper we present the Multivariant ELF (MELF) approach, which makes it possible to provide multiple per-function compile-time variants within the same binary and flexibly switch between them at run-time, optionally on a per-thread granularity. As MELFs are implemented on binary level (linker, loader), they do not depend on specific language features or compilers and can be easily applied to existing projects. In case studies with SQLite, memcached, MariaDB and a benchmark for heterogeneous architectures with overlapping ISAs, we show how MELFs can be employed to provide per-client performance isolation of expensive compile-time security or debugging features and adapt to extended instruction sets, when they are actually available. The support for MELFs is an important buliding block for our ATLAS project and also related to the ParPerOS project.
Niklas Gollenstede presents our paper reUpNix: Reconfigurable and Updateable Embedded Systems at the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '23) in Orlando, FL, USA. The paper discusses reUpNix, a tool based on NixOS designed to simplify and optimize the life cycle management of embedded Linux stacks. reUpNix addresses the shortcomings of NixOS for embedded systems, reducing its installation size by up to 86% and making system updates smaller and failure atomic. It also enables integration of third-party OCI images, with fine-grained file deduplication leading to a 24% reduction in required on-disk space. The implementation of reUpNix promises to enhance the efficiency of embedded Linux systems, particularly in high-cost deployment situations like space operations. reUpNix is related to the ATLAS project.
Florian Rommel presents our paper Thread-Level Attack-Surface Reduction at the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '23) in Orlando, FL, USA. In the paper we present a new debloating technique to reduce the attack surface in running multi-threaded server processes. Unlike existing approaches, which can eliminate code only in shared libraries and for the whole process, thread-level attack-surface reduction (TLASR) eliminates unused code on a per-thread level. Technically, this works by deriving thread-specific text segment views, which in Linux are implemented by mmview concept we introduced in our OSDI '20 paper. In MariaDB, Memcached, OpenSSH and Bash we thereby reduce the number of ROP gadgets by 78–97 percent, rendering an auto-ROP utilitiy ineffective and eliminating all CVE-related functions ever reported for glibc in 97 percent of the case. TLASR is related to the ATLAS project.
Winter is coming and the ELFs have a lot of work to do in Santa's Christmas village. And the ELFs, as the name suggests, are big fans of Linux to get this work done in time. However, until now they only know about those old a crusty interfaces that we inherited from UNIX/POSIX. So, they require your help! On the way, you can learn something about old and new system calls of Linux.
The Operating System Group at the Hamburg University of Technology perpared a System-Call Advent calendar with 24 strace-filled doors for you. On every day of December, you will find a system-call, a concept or an interface of Linux that you might or might not yet know. Behind the door, there is a short article and a small programming exercise, for which we provide a commented solution on the following day.