Auflistung nach Autor:in "Carl, Oskar"
1 - 3 von 3
Treffer pro Seite
Sortieroptionen
- TextdokumentGroup-based Memory Management in Fyr(Tagungsband des FG-BS Herbsttreffens 2020, 2020) Weis, Torben; Zdankin, Peter; Carl, Oskar; Waltereit, MarianAlbeit being introduced decades ago, C and C++ are still the most commonly used programming languages for operating systems. These languages have no reliable mechanisms to deal with memory safety issues, such as use-after-free or data race conditions, that are a leading cause for security bugs in operating systems and other critical software. Tools such as Valgrind have been developed to identify errors, but the errors must occur during the analysis, as they are not found otherwise. Several modern programming languages such as Rust, Go and Swift have emerged aiming to solve some of the issues by providing memory safety guarantees at compile or run time. However, these languages introduce new limitations, especially concerning software development for performance-critical or resource-constrained systems. In this paper, we introduce a new approach to automatic memory management that manages the lifetime of object groups instead of individual objects. We show that group-based memory management can remove some of the restrictions of modern programming languages while satisfying important memory safety constraints. Furthermore, we show how group-based memory management is implemented in our new systems programming language Fyr.
- TextdokumentPersistent Streams: The Internet With Ephemeral Storage(Tagungsband des FG-BS Herbsttreffens 2021, 2021) Carl, Oskar; Zdankin, Peter; Schaffeld, Matthias; Matkovic, Viktor; Yu, Yang; Elbers, Timo; Weis, TorbenCommunication in the internet today is transient by default. Because of this, whenever an application needs to store data even for a moment, its provider needs to develop an application-specific solution, which is often done using client-server models. This is costly at scale, and generally requires users to concede control over the data they generate to allow application providers to generate revenue from the collected data to finance the operation of these servers. This also leads to a lock-in effect, which is prohibitive for new applications entering a market. To solve these issues, we propose persistent streams, an application-agnostic communication protocol that includes ephemeral and persistent storage and is able to handle both discrete as well as continuous (streaming) data. Including storage into the communication path removes the need for application servers completely. Even though the protocol relies on (cloud) servers as transmission and storage proxies, we expect the emergence of new storage technologies like non-volatile main memory to alleviate some issues this introduces. We also show the general applicability of this solution using different kinds of applications as examples. Overall, persistent streams have the potential to greatly reduce the burdens on application providers while also enabling users to exercise increased control over their data.
- TextdokumentRequirements and Mechanisms for Smart Home Updates(INFORMATIK 2020, 2021) Zdankin, Peter; Carl, Oskar; Waltereit, Marian; Matkovic, Viktor; Weis, TorbenThe interconnection of sensors and actuators of smart home devices creates dependencies that allow for ubiquitous services. These devices can be subject to transformative changes through software updates that might lead to unintended consequences. Users have no tools to predict the negative consequences caused by updating their smart home. In this paper, we address this problem and propose mechanisms that enable organized update planning in a smart home. We compare self-description standard approaches that allow reasoning about resulting functionality before updates are installed. Updating devices to their latest versions is not necessarily the best way to update smart homes, therefore we discuss multi-objective optimization in the update process. Finally, outsourcing functionality to external providers might reduce the complexity of certain tasks, but can also pose threats if the wrong tasks are offloaded.