Das Linux-Betriebssystem wird 30 Jahre alt

tux-featured

Linux feiert am 25. August 2021 einen seiner vielen Geburtstage - vor 30 Jahren, am 25. August 1991 verkündete Linus Torvalds seine Arbeit an einem freien Kernel erstmals einer breiten Öffentlichkeit. In einer Mail an eine Minix-Newsgroup verwendete er die bekannten Worte: "[…] I'm doing a (free) operating system (just a hobby, won't be big and professional […]". Linux hat jedoch auch noch weitere Geburtstage, wie etwa den 17. September 1991, als Torvalds den Quellcode der ersten Version seines Kernels online stellte. Eine richtige Ankündigung gab es jedoch erst mit dem Release Linux 0.0.2, welches am 5. Oktober 1991 veröffentlicht wurde. Heute zählt der Linux-Kernel zu den wichtigsten Stützpfeilern der Software-Welt. Vor diesem Hintergrund ist es kaum verwunderlich, dass derzeit an zahlreicher Stelle über dieses Jubiläum berichtet wird - etwa auf den Webseiten Heise.de oder Golem.de.

Entwicklungstempo und Umfang

Zum Zeitpunkt des 25. August 2021 umfasst der Kernel - mitsamt aller Dokumentationen, Kommentare, Build-Skripte und so weiter - etwa 31.479.666 Zeilen. Während im letzten Jahr mit jeder neuen Version circa 385.000 Zeilen hinzu kamen, wuchs der Kernel in den letzten 5 Jahren insgesamt um fast 10 Millionen Zeilen - mit diesem Wachstum dürfte selbst Torvalds vor 30 Jahren kaum gerechnet haben. Der Erscheinungsrhythmus betrug seit der im März 2012 erschienenen Linux-Version 3.3 fast immer neun oder zehn Wochen. Werden jedoch das Entwicklungstempo sowie der Umfang neuer Releases betrachtet, so fällt auf, dass diese in den letzten Jahren stetig gestiegen sind. Im Vergleich zu den sechs Releases vor dem 25. Geburtstag, in welche jeweils etwa 13.750 Änderungen integriert wurden, kommen derzeit etwa 16.250 Commits auf ein Release. Unter Betrachtung des gesamten Entwicklungszeitraums entspricht dies 10.4 Änderungen pro Stunde! Der Umfang neuer Versionen betrug bei den letzten sechs Versionen knapp 685.000 Zeilen - auch dieser steigt stetig, wenn auch weniger steil.

Entwickler

An der Entwicklung der Linux-Version 5.13 haben erstmals mehr als 2.000 verschiedene Entwickler mitgearbeitet. Es handelt sich dabei insbesondere um Freiwillige. Auswertungen der Linux Foundation zufolge setzen sich die Mitwirkenden aus etwa 12 Prozent Hobbyentwicklern und 84 Prozent Entwicklern, die im Auftrag ihrer Arbeitgeber an Linux mitarbeiten, zusammen. Insbesondere letztere gehören auch zu den Entwicklern, die kontinuierlich dabei sind und in letzten Releases immer wieder etwas beigetragen haben. Die Linux Foundation selbst hat neben Linus Torvalds und seiner rechten Hand Greg Kroah-Hartman nur wenige Kernel-Entwickler auf der Lohnliste. Entsprechend zersplittert ist auch der Entwicklungsprozess - viele Arbeiten müssen von anderen Organisationen und Open-Source-Projekten übernommen werden. Auch im Bereich Sicherheit fehlt es an Entwicklerressourcen. Der Kernel-Entwickler Kees Cook erläuterte dies erst Anfang August in einem Blog-Beitrag.

Kernel Version 5.14

Passend zum Jubiläum ist der neue Linux-Kernel der Version 5.14 am 29. August erschienen. Linus Torvalds nutzte die Chance und sprach direkt zu Beginn der Release-Notes auf das Ereignis an: "Mir ist klar, dass ihr alle noch mit den Galas, schicken Bällen und all den anderen Veranstaltungen zum 30. Jahrestag beschäftigt seid, aber irgendwann habt ihr sicher genug von dem ständigen Glitzer, dem Feuerwerk und dem Champagner. Ballkleid oder Frack sind auch nicht gerade das Bequemste, was es gibt. Die Feierlichkeiten werden noch ein paar Wochen weitergehen, aber vielleicht könntet ihr alle einfach mal eine Verschnaufpause von ihnen gebrauchen." Die Veröffentlichung eines neuen Kernels "zum Ausprobieren und sich daran Freuen" sei genau das Richtige für eine solche Verschnaufpause. Der Kernel 5.14 sei da und warte nur darauf getestet zu werden und daran zu erinnern, "worum es bei den Feierlichkeiten eigentlich geht". Torvalds fährt damit fort, dass die "armen, unermüdlichen Kernel-Maintainer" natürlich keine Zeit für die Feierlichkeiten haben, denn das Release bedeute für sie lediglich den Beginn des Merge-Fensters am nächsten Morgen - schließlich müsse sich jemand um die nächsten 30 Jahre kümmern. "Aber für den Rest von euch, atmet durch, baut einen Kernel, testet ihn, und dann könnt ihr euch zurück zu der scheinbar endlosen Party begeben, aus der ihr sicher gerade herausgekrochen seid.", schreibt Torvalds zum Abschluss.

Die Neuerungen im Kernel-Release 5.14 umfassen unter anderem Core-Scheduling, geheime Speicherbereiche und sicheres Hyperthreading. Des Weiteren wurde das alte IDE-Treibersystem, welches bereits seit Linux 5.2 als veraltet gilt, komplett aus Linux entfernt. Das sogenannte Core-Scheduling ist nach über drei Jahren Entwicklungszeit im Mainline-Kernel angekommen und adressiert ein konzeptionelles Problem beim Hyperthreading moderner Prozessoren. Da die Hardware-Threads beim Hyperthreading Komponenten des Prozessor-Cores gemeinsam nutzen, kann ein bösartiger Prozess auf einem Thread Änderungen, wie etwa an den Daten anderer Threads, aus dem Prozessor-Cache-Speicher auslesen. Die 2018 entdeckten Spectre-Angriffe setzen an dieser Stelle an - bislang blieb nur die Deaktivierung von Hyperthreading als sicherer Ausweg. Mit dem Core-Scheduling können ausschließlich solche Prozesse gemeinsam in einem Hardware-Thread laufen, die durch "Cookies" als zueinander gehörig markiert wurden. Weitere Vorteile des Core-Scheduling finden sich auch in der Echtzeitverarbeitung: Echtzeitprozesse können über dedizierte Cookies etwa einzelnen Prozessor-Cores fest zugeteilt werden.

Nach rund zwei Jahren Entwicklungszeit ist außerdem auch der neue System-Call memfd_secret() im Mainline-Kernel angekommen. Die vorerst standardmäßig deaktivierte Funktion erlaubt Userspace-Prozessen die Schaffung eines geheimen Speicherbereichs, welcher von keinem anderen Teil des Systems einsehbar ist. Ein solcher Speicherbereich könnte etwa zur Ablage von kryptographischen Schlüsseln oder Passwörtern eingesetzt werden.

Nähere Informationen zu den Änderungen im Release sind in den Change-Logs zu Linux 5.14 sowie auch in einem ausführlichen Beitrag von Heise.de zu finden.

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: