Options
2001
Doctoral Thesis
Title
Application-oriented operating systems
Abstract
Die Mehrzahl der heutzutage produzierten Prozessoren, wird in Spezialsystemen eingesetzt, die einer einzelnen oder von einer kleinen Zahl vorher bekannter Anwendungen gewidmet sind. Der Betrieb solcher Spezialsysteme unterliegt besonderen Anforderungen, die Allzweckbetriebssysteme, wie sie auf Arbeitsplatzrechnern zum Einsatz kommen, in der Regel nicht erfüllen können. Da es vorab nicht möglich ist anzugeben, welche Anwendungen ausgeführt werden sollen, bieten Allzweckbetriebssysteme potentiellen Anwendungen vorsichtshalber eine sehr große Menge von Diensten an. Die Standardisierung solcher allgemeinen Dienste schließt ein Allzweckbetriebssystem in starre Schranken ein und erschwert die Nutzbarmachung innovativer Konzepte für die Anwendung. Das Problem von Allzweckbetriebssystemen für Spezialrechensysteme ist, dass einerseits unzählige Dienste angeboten werden, die die Anwendungen gar nicht benötigen, andererseits aber spezielle Anforderungen nicht erfüllt werden. In dieser Arbeit wird ein neuer Ansatz dargelegt, um aus anpassungsfähigen Softwarebausteinen systematisch anwendungsorientierte Betriebssysteme zu konstruieren. Anstatt die Eigenschaften eines Systems aus Standardfunktionen und Hardwareeigenschaften abzuleiten, bestimmen die Anforderungen der Anwendungen die konkrete Systemausprägung. Dies vereinfacht die Konstruktion angepasster Systeme. Solche anwendungsspezifischen Systeme werden durch Auswahl, Konfiguration und Integration geeigneter Komponenten gebildet. Dieser Ansatz ist sinnvoll selbst dann, wenn Anwendungen neue Spezialisierungen zunächst nicht nutzen und stattdessen ausschließlich auf Standardfunktionen zurückgreifen. Die Mehrzahl der Spezialsysteme benutzt nur eine Teilmenge der Standardfunktionen, so dass es vergleichsweise einfach ist, diese Teilmenge auf neue Systemdienste abzubilden, ohne dabei alle Standardfunktionen zu portieren. Die in dieser Arbeit diskutierte anwendungsorientierte Entwurfsmethodik basiert auf der Zerlegung eines Anwendungsgebietes in eine Menge von Familien szenariounabhängiger Systemabstraktionen, die je nach Bedarf zur Konstruktion eines angepassten Laufzeitsystems wiederverwendet werden. Umgebungsabhängigkeiten, die während der Zerlegung auftreten, werden getrennt als sogenannte Szenario-Aspekte modelliert und wirken eigenständig in Form von Szenario-Adaptern auf die Systemabstraktionen ein. Die Spezialisierung und Integration solcher Softwarekomponenten zu einem funktionsfähigen Gesamtsystem wird durch Komponentengerüste ergänzt, die die im Verlauf der Zerlegung eines Anwendungsgebietes identifizierten, wiederverwendbaren Elemente der Software-Architektur erfassen. Die Anwendbarkeit der Komponenten wird weiterhin durch die Bereitstellung einer umfassenden Schnittstelle verbessert. Jede dieser umfassenden Schnittstellen exportiert eine ganze Familie von Abstraktionen und wirkt dadurch als eine Art Makrokomponente. Daraus folgt, dass die Auswahl geeigneter Familienmitglieder dem System überlassen wird. Die Konzepte und Techniken, die durch die anwendungsorientierte Entwurfsmethodik eingeführt wurden, wurden bei der Entwicklung von Epos (Embedded Parallel Operating System), einem anwendungsorientierten Betriebssystem für das Gebiet des spezialisierten Hochleistungsrechnens, überprüft. Der Prototyp von Epos wurde auf einem Cluster von Arbeitsplatzrechnern implementiert und besteht aus einer Sammlung von Softwarekomponenten, aus einem statisch metaprogrammierten Komponentengerüst und schließlich einem Satz von Werkzeugen zur automatischen Auswahl, Konfiguration und Erzeugung anwendungsorientierter Systeminstanzen.
;
The majority of processors produced nowadays are targeted at dedicated computing systems that execute either a single application or a small set of previously known applications. In contrast to generic computing systems, these dedicated systems have very speciffic run-time support requirements, which are not properly fulfilled by general-purpose operating systems. The impossibility to anticipate which applications will be executed results in generic operating systems being forced to provide an extensive set of services targeted at making all resources available to all applications. The standardization of such generic system services locked general-purpose operating system inside a hard shell that prevents innovations from reaching applications. With regard to dedicated computing, these generic operating system provide uncountable services that are not used by individual applications, and yet fail to fulfill application demands. This dissertation proposes a novel strategy to systematically construct application-oriented operating systems as arrangements of adaptable software components. Instead of standard compliance and hardware properties, the features offered by such a system emanate directly from application requirements, thus enabling it to be customized according to the needs of particular applications. Such application-tailored system instances are produced by selecting, configuring, and composing proper components. Even if applications refrain from the new application-oriented services in benefit of standard interfaces, most dedicated applications require such a small subset of those interfaces that mapping them to new system services-instead of porting their traditional implementations-is usually possible. The Application-Oriented System Design multiparadigm design method proposed in this dissertation guides domain decomposition towards families of scenarioindependent system abstractions that can be reused to build a variety of run-time support systems. Environmental dependencies observed during domain decomposition are separately modeled as scenario aspects, which can be transparently applied to system abstractions with the aid of scenario adapters. The assembling of such software components to produce a functioning system is assisted by component frameworks, which capture elements of reusable software architecture identified in the course of domain engineering. Usability is improved by in ated interfaces, which export whole families of abstractions to users as if they were single macrocomponents, passing the responsibility of selecting appropriate family members to the system. The concepts and techniques introduced by application-oriented system design were verified during the development of Epos (Embedded Parallel Operating System), an application-oriented operating system for the domain of high-performance dedicated computing. The prototype of Epos implemented for the Snow cluster of workstations consists of a repository of software components that encapsulate system abstractions and scenario aspects, a statically metaprogrammed component framework, and a set of tools that is able to automatically select and con gure components in order to generate application-oriented system instances.
Thesis Note
Zugl.: Berlin, TU, Diss., 2001
FIRST
Keyword(s)
Betriebssystem
Softwarekomponente
domain engineering
Objektorientierter Entwurf
familienbasierter Entwurf
generative Programmierung
aspektorientierte Programmierung
Metaprogrammierung
software component
domain engineering
object-oriented design
familybased design
generative programming
aspect-oriented programming
static metaprogramming