Detailseite
AHA: Automatische Hardware-Abstraktion im Betriebssystembau
Antragsteller
Professor Dr.-Ing. Daniel Lohmann
Fachliche Zuordnung
Sicherheit und Verlässlichkeit, Betriebs-, Kommunikations- und verteilte Systeme
Rechnerarchitektur, eingebettete und massiv parallele Systeme
Rechnerarchitektur, eingebettete und massiv parallele Systeme
Förderung
Förderung von 2017 bis 2024
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 391305160
Betriebssysteme dienen seit jeher der Abstraktion und Ergänzung der Fähigkeiten der unterliegenden Hardware: Die Systemaufrufschnittstelle generalisiert und erweitert konzeptionell den vom Prozessor angebotenen Instruktionssatz durch Teilinterpretation und Multiplexing der Hardwareressourcen; sie vereinfacht so die Entwicklung und Portierbarkeit von Anwendungen. Die Betriebssystemimplementierung bildet die Systemaufrufe auf Hardwarezugriffe ab, wobei auch hier die Hardware oft nicht direkt verwendet wird, sondern mit dem Hardware Abstraction Layer (HAL) über eine weitere, teilinterpretierende Abstraktionsschicht. Der Preis für Abstraktion und Generalisierung sind Ineffizienzen (bzgl. Speicher- bedarf, Energiebedarf, Ereignislatenzen, Vorhersagbarkeit, Sicherheit, ...) für die konkrete Anwendung: Die Mächtigkeit der generalisierten Konzepte wird nicht vollumfänglich benutzt - aber dennoch bereit gestellt. Hardwareressourcen werden durch Multiplexing virtualisiert - selbst wenn im konkreten Fall eine direkte Abbildung möglich und zielführender wäre.Das Ziel von AHA (Automatisierte Hardware-Abstraktion im Betriebssystembau) ist die Verbesserung nichtfunktionaler Eigenschaften von Systemsoftware durch eine automatisierte statische Spezialisierung der durch das Betriebssystem bereitgestellten Brücke zwischen Anwendung und Hardware. Dabei soll erforscht werden, wie ausgehend von einer konkreten Anwendung und ihrer Interaktion mit dem Betriebssystem semantisch äquivalente, aber unterschiedlich direkt auf Hardwareeigenschaften abbildbare Implementierungen der Betriebssystemfunktionalität generiert werden können. "Anwendung" und "Be- triebssystemfunktionalität" stehen dabei im Rahmen des Vorhabens für die Domäne der eingebetteten Spezialzwecksysteme (automotives Steuergerät, IoT-Gerät, eingebetteter Serverknoten ...); "Hardware" sowohl für übliche eingebettete Mehrkernplattformen (Infineon AURIX, ARM, ...) unter Ausnutzung ihrer spezifischen Eigenarten als insbesondere auch für komplett anwendungsspezifisch spezialisierbare Hardware (wie RISC-V). Im Extremfall wird die konkret erforderliche Betriebssystemsemantik automatisiert direkt in Befehlssatz, Pipeline und Peripherie der Prozessoren instanziiert. Für den Anwendungsentwickler transparent kann somit dieselbe Betriebssystemfunktionalität in verschiedenen Spezialisierungsstufen gewählt werden: Von "klassisch" softwarebasiert über anwendungs- und hardwarezentrisch spezialisiert für Standardhardware bis zu vollständig in Hardware spezialisiert.Die grundlegende Forschungsfrage, die mit AHA somit beantwortet werden kann und soll ist: Was ist das mögliche Maß an anwendungs- und hardwarespezifischer Spezialisierung/Generalisierung der Systemsoftware? Welche Effizienzgewinne lassen sich durch problembezogene Spezialisierung erzielen unter der Prämisse, dass diese automatisiert in verschiedenen Spezialisierungstiefen und bis in die Hardware möglich ist?
DFG-Verfahren
Sachbeihilfen