Beitrag der GI-Fachgruppe 3.1.4 "Betriebssysteme"
zu den Thesen "Future Trends"
des GI-Fachausschusses 3.1 "Architektur von Rechensystemen"
Carsten Vogt, Jürgen Kleinöder
Die Fachgruppe "Betriebssysteme" sieht für die nächste Zukunft eine stetig wachsende Bedeutung von
- mobilen Systemen wie Mobiltelefonen, Persönlichen Assistenten und Notebooks,
- Steuerungen in eingebetteten Systemen (Geräte, Fahrzeuge, Maschinen etc.) sowie
- großen und verteilten Systemen zur Bearbeitung rechenintensiver Aufgaben, zur Kommunikation und zur Nutzung geographisch verteilter Kapazitäten.
Diese Bedeutung spiegelt sich in der immer stärker werdenden Durchdringung des Marktes und damit des täglichen Lebens durch derartige Systeme wider. Die Funktionalität, Leistungsfähigkeit und Benutzbarkeit heutiger Systeme ist jedoch deutlich verbesserungsfähig, so dass hier ein erheblicher Forschungs- und Entwicklungsbedarf besteht. Ziel ist dabei die Erarbeitung eines Mehrwerts für die Anwender. Anstrengungen auf den genannten Gebieten sind daher wirtschaftlich lohnend und aufgrund des nationalen und internationalen Wettbewerbs von strategischer Bedeutung.
Zur Weiterentwicklung und Verbesserung der aufgeführten Systeme kann die Betriebssystemforschung und -entwicklung besonders hinsichtlich der folgenden Punkte beitragen:
- Adaptierbarkeit, d.h. Anpassungsfähigkeit an wechselnde Gegebenheiten und Erfordernisse der Systemumgebung und -anwender.
- Sicherheit, d.h. Schutz gegen Angriffe und missbräuchliche Nutzung.
- Verlässlichkeit, d.h. Sicherstellung der jederzeitigen Verfügbarkeit korrekt arbeitender Systemfunktionen.
- Effizienz, d.h. bestmögliche Nutzung der vorhandenen Ressourcen.
Diese Systemeigenschaften liegen im unmittelbaren Blickfeld der Anwender und sind damit wichtige Ansatzstellen zur Schaffung des oben genannten Mehrwerts. Die Betriebssystemforschung liefert hier unverzichtbare Grundlagen für innovative neue Geräte und Anwendungen.
Im folgenden soll für die drei zu Beginn aufgeführten Gebiete eine Reihe konkreter Arbeitspunkte genannt werden. Ergänzend wird auf Aspekte der Entwurfsmethodik für Betriebssysteme eingegangen, die grundlegend für die Entwicklung adaptiver, sicherer, zuverlässiger und effizienter Systeme ist.
Mobilität
Mobiltelefone, Persönliche Assistenten und Notebooks werden von einer wachsenden Zahl von Anwendern intensiv genutzt. Die Forschung und Entwicklung auf diesem Gebiet ist daher von erheblicher wirtschaftlicher Bedeutung.
Entscheidend für die Qualität mobiler Systeme ist ihre Adaptierbarkeit an zur Verfügung stehende Ressourcen und an Anforderungen der Nutzer. Das Betriebssystem muss hier ein der Umgebung angepasstes Ressourcenmanagement umfassen, das bei Bedarf aus den Anwendungen heraus angesprochen werden kann. Zudem sind Benutzerschnittstellen zu unterstützen, die den wechselnden Bedürfnissen der Anwendungen angepasst werden können.
Mobile Systeme müssen sicher sein, was den Zugriff auf die darauf gespeicherten Daten und die Kommunikation mit anderen Systemen betrifft. Von außen importierter Code darf die Sicherheit des Systems nicht beeinträchtigen und darf nicht zum Systemausfall führen. Heutige Betriebssysteme weisen hier Lücken auf, die zu schließen sind.
Die Effizienz mobiler Systeme muss insbesondere hinsichtlich der Nutzung von Energie und Kommunikationsbandbreite gesteigert werden. Auch hier kommt dem Betriebssystem als Ressourcenverwalter eine zentrale Rolle zu.
Eingebettete Systeme
Moderne elektronische Geräte, Maschinen und Fahrzeuge sind in ihrer Mehrzahl heute eingebettete Systeme. Sie enthalten einen oder mehrere Prozessoren mit Steuerungssoftware und sind heute bereits häufig sehr komplexe verteilte Systeme. Auch wenn die Software im Eingebetten System für den Anwender meist nicht direkt sichtbar wird, bildet sie eine zentrale Komponente in den Produkten und hat damit gerade für die deutsche Industrie eine strategische Bedeutung.
Softwarekomponenten in eingebetten Systemen sollten in unterschiedlichen Umgebungen einsetzbar sein. Ihre leichte Anpassbarkeit an unterschiedliche Hard- und Softwareschnittstellen ist daher wichtig. Dies stellt Anforderungen insbesondere an das Betriebssystem, das solche Schnittstellen nutzt und bereitstellt.
Eingebettete Systeme müssen verlässlich sein. Sie müssen daher validiert und zertifiziert werden, wovon auch das Betriebssystem betroffen ist. Hardware, Betriebssystem und Software sind redundant auszulegen, um Ausfällen begegnen zu können. Aufgabe des Betriebssystem ist, solche redundanten Komponenten geeignet zu steuern.
Bei Systemen, die in großer Stückzahl hergestellt werden, ist der Kostenfaktor von besonderer Bedeutung. Die effiziente Verwaltung einer möglichst sparsam ausgelegten Hardware durch das Betriebssystem ist daher wirtschaftlich entscheidend.
Große Systeme und verteilte Systeme
Eine wachsende Zahl von Anwendungen stützt sich auf Datennetze zur Kommunikation und zur Nutzung entfernt liegender Informationen und Software. Große und verteilte Systeme spielen hier als Anbieter von Daten, Anwendungsprogrammen und sonstiger Anwenderunterstützung eine fundamentale Rolle.
Hinsichtlich der Adaptierbarkeit ist hier beispielsweise die Möglichkeit wichtig, "Adhoc-Föderationen" zwischen Systemen zu bilden, um bestimmte Aufgaben kooperativ zu lösen. Ebenso müssen sich Server den wechselnden Anforderungen der Clients anpassen können. Das Betriebssystem als Systemverwalter muss diesen Anforderungen Rechnung tragen. Aus Anwendersicht spielt die Managebarkeit solcher Systeme eine wichtige Rolle.
Die Zuverlässigkeit und Sicherheit in großen und verteilten Systemen ist schwieriger zu gewährleisten als in kleinen lokalen Systemen, da vielfältige, komplexe, große und kritische Anwendungen unterstützt werden müssen. Dies ist beim Entwurf entsprechender Betriebssysteme zu berücksichtigen.
In einem vernetzten System sind Ressourcen und Nutzer über verschiedene Rechnerknoten verteilt, die nur durch heterogene Kommunikationskanäle miteinander verbunden sind. Die Verwaltungsaufgaben des Betriebssystems sind hier also einerseits komplexer als in einem lokalen System, andererseits aber aufgrund teilweise knapper Ressourcen von noch entscheidenderer Bedeutung als im lokalen Fall. Unterschiedliche Anforderungen an die Ablauf und Qualität der Kommunikation durch verschiedene Anwendungen erfordern differenzierte Strategien und Algorithmen im Betriebssystem. Durch falsche Mechanismen kann das Betriebssystem leicht selbst zum Engpass in der Kommunikation werden und zusätzliche Investitionen in Kommunikationskanäle zunichte machen.
Entwurfsmethodik für Betriebssysteme
Beim Entwurf und bei der Implementierung von Betriebssystemen ist eine systematische Vorgehensweise wichtig. Sie soll unter anderem unter dem Stichwort "Design for Dependability" und durch Einsatz von Verifikationsmethoden zu nachweislich sicheren und zuverlässigen Systemen führen.
Dieses in der Softwareentwicklung generell wichtige Thema ist aufgrund der besonderen Eigenschaften von Betriebssystemsoftware hier von besonderer Bedeutung:
- Betriebssysteme sind meist sehr große und komplexe Softwaresysteme.
- Betriebssysteme sind die Bindeglieder zwischen Hardware und Anwendung(en). Daraus ergibt sich die Forderung nach besonderer Flexibilität, sowohl nach unten (Portabilität) als auch nach oben (Anwendungsorientierung).
- Betriebssysteme sollten möglichst anwendungsinvariant sein. Dies erfordert geeignete Softwarestrukturen bzw. –architekturen.
- Betriebssysteme sollten skalierbar sein – sowohl in Bezug auf Geschwindigkeit als auch auf unterschiedliche Prozessor-Technologie.
Eine komponentenbasierte Vorgehensweise soll zudem die Erweiterbarkeit und Anpassungsfähigkeit von Systemen sicherstellen. Sie hat insbesondere auch Bedeutung für Open-Source-Software, die häufig in Arbeitsteilung komponentenweise entwickelt wird.
Forschung bezüglich der Entwurfsmethodik von Betriebssystemen ist somit entscheidend für die Schaffung anpassungfähiger, effizienter, sicherer und zuverlässiger Systeme. Sie hat damit einen unmittelbaren Einfluss nicht nur auf klassische lokale Systeme, sondern auch auf die zuvor diskutierten mobilen, eingebetteten und verteilten Systeme. |