Detailseite
ATLAS: Adaptive fadenspezifische Adressräume
Fachliche Zuordnung
Sicherheit und Verlässlichkeit, Betriebs-, Kommunikations- und verteilte Systeme
Förderung
Förderung seit 2022
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 468988364
Prozesse und Adressräume werden traditionell als eng gekoppelte Konzepte verstanden. Ein Prozess hat in der Regel genau einen Adressraum für alle in ihm laufenden Kontrollflüsse (Fäden), die so über den Speicher effizient miteinander interagieren können.Der Adressraum definiert dabei ein (logisches) Speicherlayout sowie eine Abbildungsfunktion von logischen Adressen auf den dahinterliegenden Inhalt (Virtualisierung). Im ATLAS-Projekt erforschen wir neue Betriebssystemabstraktionen, die es ermöglichen, mehrere partiell unterschiedliche Abbildungsfunktionen innerhalb desselben logischen Adressraums (UNIX- Prozesses) parallel zu nutzen und so einzelnen Fäden (vollkommen transparent) eine in Teilen andere Adressraumsicht zuzuweisen.Anders als etwa beim klassischen fork() sind diese Adressraumsichten nach ihrer Erzeugung jedoch nicht entkoppelt, sondern unterscheiden sich nur in ausgewählten, "multivarianten" Bereichen.Die Adressen im logischen Adressraum werden, konzeptionell, als "universale Schnittstelle" zu den über sie referenzierten Funktions- und Datenobjekte aufgefasst, deren Implementierung nun durch Sichten -- atomar und ohne zusätzliche Indirektionen -- partiell überladbar oder in der Sichtbarkeit einschränkbar wird, vergleichbar etwa mit Implementierungsvererbung und Substitution einiger objektorienterter Programmiersprachen.Ermöglicht würde so, beispielsweise, sehr effiziente dynamische Variabilität auf Fadenebene.Ziel des Projektes ist es, die beschriebenen Adressraumsichten als Variabilitätsmechanismus zur kontextspezifischen Spezialisierung in Nutzerprozessen und innerhalb des Betriebssystemkerns zu erforschen.Dabei wollen wir beantworten, ob die vorgeschlagenen Konzepte generalisierbar sind, ob und wie sie mit hinreichend geringen Kosten umgesetzt werden können und ob die Anwendung auch im Betriebssystemkern selber es möglich macht, divergierende Anwendungsanforderungen zielgerichteter zu erfüllen.Die Beantwortung dieser Fragen erfolgt überwiegend mit konstruktiven Methoden durch Erweiterungen im Betriebssystems, Übersetzer, Binder und Lader.In drei größeren Fallstudien aus den Bereichen Instrumentierung, Sicherheit und Echtzeit, demonstrieren wir die breite Anwendbarkeit unseres Ansatzes für unterschiedliche Anwendungsfälle.
DFG-Verfahren
Sachbeihilfen