Innovation in der Betriebssystementwicklung

david manno, 123RF

Fata Morgana

Virtualisierung bringt Fahrt in die Entwicklung von Betriebssystemen, stellt aber auch gewohnte Konzepte grundsätzlich in Frage.
Termine planen, Nachrichten austauschen, Kundendaten verwalten, am besten auch vom Smartphone aus. Das alles und noch viel mehr sollen moderne ... (mehr)

Wenn man sich heute in eine technische Universität begibt und eine Vorlesung zum Thema Betriebssysteme besucht, hat sich im Grunde gegenüber früher wenig verändert. Das ist vielleicht kein Wunder, denn auch die Rechnerarchitektur ist seit vielen Jahrzehnten die gleiche. Mit ihr und ihren Beschränkungen müssen Betriebssysteme umgehen und etwa Hauptspeicher und CPU-Zeit auf quasi-gleichzeitig laufende Prozesse verteilen. An den Prinzipien hierfür hat sich seit den siebziger Jahren mit Unix wenig geändert, aber mit etwas Glück steht heute wenigstens Linux auf dem Lehrplan.

Kein Wunder, dass angesichts dessen Rob Pike vor 15 Jahren die These von der Belanglosigkeit der Forschung im Bereich der Systemsoftware formuliert hat [1]. Vermutlich wurde sie auch aus dem Frust darüber genährt, dass sein eigenes Plan9-System [2] zwar recht revolutionär war, aber außerhalb elitärer Zirkel kaum je Fuß fassen konnte. Jedenfalls vertritt Pike die Theorie, dass es etwa im Bereich der Betriebssysteme kaum relevante Forschung gebe und etwa Linux, das damals bereits im Mainstream angekommen war, gegenüber dem alten Unix nichts Neues zu bieten habe. Innovation sei dagegen eher noch bei Microsoft zu finden.

Keine Rolle spielt allerdings in Pikes Betrachtungen eine Technologie, die gerade ein Jahr vorher auf der Bildfläche erschienen war: VMware hatte 1999 das erste Virtualisierungsprodukt auf den Markt gebracht. Zwar gibt es Virtualisierung schon seit den sechziger Jahren, aber die Technologie war bis dahin auf die Partitionierung von Großrechnern wie IBMs System/370 beschränkt. Erst mit VMware begann der Virtualisierungstrend auf konventionellen Servern und Desktops, der bis heute nachschwingt.

Revolution Virtualisierung

Richtig interessant wurde das Ganze dann um das Jahr 2005 herum, als die beiden CPU-Hersteller Intel und AMD auch Hardware-Support zur Virtualisierung in ihre Chips integrierten. In der Linux-Welt dominierte lange der Xen-Hypervisor das Geschäft, aber er erfordete einen eigenen Kernel und fand lange keinen Einzug in den Entwicklerzweig von Linus Torvalds. Die Linux-Kernel-Entwickler schlugen derweil einen anderen Weg ein, den sie für besser erachteten: einen Hypervisor namens KVM (Kernel Virtual Machine), der selbst als Teil des Linux-Kernels lief. Es ist wohl nicht übertrieben zu behaupten, dass KVM heute der De-facto-Standard für Virtualisierung unter Linux ist. So ist es etwa die zugrunde liegende Technologie für die Virtualisierungslösung in Red Hat Enterprise Linux.

Selbst einige Kernel-Entwickler aus dem Solaris-Umfeld waren offensichtlich von der Tauglichkeit oder zumindest der Popularität von KVM beeindruckt und haben die komplette Infrastruktur auf den Solaris-Kernel portiert. So kann die Firma Joyent jetzt auch virtuelle KVM-Maschinen anbieten, die auf dem hauseigenen, Solaris-basierten SmartOS laufen [3].

Interessanterweise haben nun gerade die Entwickler von KVM einen neuen Weg eingeschlagen und im Oktober ein neues Betriebssystem mit dem Namen OSv vorgestellt, das sie als "Cloud OS" vermarkten. Hinter dem Projekt stecken maßgebliche Köpfe der Linux-Welt, etwa der KVM-Erfinder Avi Kivity, der KVM-Projektmanager Dor Laor sowie die Kernel-Programmierer Glauber Costa, Nadav Har'El und Pekka Enberg. Zusammen haben sie die Firma Cloudius gegründet, die OSv als freie Software veröffentlicht hat.

Minimal

Dass OSv unter einer BSD-Lizenz steht und nicht, wie etwa der Linux-Kernel, unter der GPL, weist schon darauf hin, dass das neue Betriebssystem von FreeBSD abgeleitet ist. Allerdings haben die Entwickler auch große Teile des neuen Kernels selbst geschrieben. OSv ist für den Betrieb auf Hypervisor-Systemen, insbesondere KVM, optimiert und verzichtet deshalb auf viele Funktionen moderner Betriebssysteme, etwa die Aufteilung in Kernel- und Userspace oder unterschiedliche Adressräume. Der damit erzielte Wegfall von Kontextwechseln soll zu höherer Performance führen. Anwendungen wie die Java Virtual Machine werden aus dem gleichen Grund direkt in das Betriebssystem integriert. Das minimalistische OS soll jeweils nur eine Anwendung hosten, verzichtet dazu weitgehend auf die von Unix bekannten Security-Features und überlässt sie dem Hypervisor (Abbildung 1). Auch die von Linux und Unix bekannte Konfiguration des Betriebssystems fällt mit dem neuen Konzept weg.

Abbildung 1: OSv läuft auf verschiedenen Hypervisor-Systemen und ist ein minimalistisches OS, das einzelne Anwendungen hostet.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite