Zum Inhalt springen

„Linux (Kernel)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Gu1dry (Diskussion | Beiträge)
Ausgaben und Geschichte: vor allem weitere Einzelheiten zum 3.10er Kern eingefügt, dabei Weiteres (etwas) besser übersetzt und einen kleinen Fehler in der Zeichensetzung (bei der Angabe der Ausgabenummer des 3.10ers) behoben
Zeile 134: Zeile 134:
Distributions-Kernel sind häufig intensiv [[Patch (Software)|gepatcht]], um auch Treiber zu enthalten, die noch nicht im offiziellen Kernel enthalten sind, von denen der Distributor aber glaubt, dass seine Kundschaft sie benötigen könnte und die notwendige Stabilität respektive Fehlerfreiheit dennoch gewährleistet ist.
Distributions-Kernel sind häufig intensiv [[Patch (Software)|gepatcht]], um auch Treiber zu enthalten, die noch nicht im offiziellen Kernel enthalten sind, von denen der Distributor aber glaubt, dass seine Kundschaft sie benötigen könnte und die notwendige Stabilität respektive Fehlerfreiheit dennoch gewährleistet ist.


=== Versionen und Versionsgeschichte ===
=== Ausgaben und Geschichte ===


==== Zeittafel ====
==== Zeittafel ====


Das Schaubild stellt einzelne Versionen des Linux Kernels anhand der Erscheinungsdaten auf einer Zeittafel angeordnet dar und soll dem Überblick dienen.<br />
Das Schaubild stellt einzelne Ausgaben (amerikanisch-englisch ''{{lang|en|versions}}'') des Linux-Kerns anhand der Erscheinungsdaten auf einer Zeittafel angeordnet dar und soll dem Überblick dienen.<br/>
{{Zeitleiste Linux (Kernel)}}
{{Zeitleiste Linux (Kernel)}}


==== Versionsgeschichte bis Version 2.6 ====
==== Bis Ausgabe 2.6 ====


{|class="wikitable"
{|class="wikitable"
|-class="hintergrundfarbe5"
|-class="hintergrundfarbe5"
! Zweig
! Zweig
! Version
! Ausgabe
! Veröffentlichung<ref name="kernelArchive">{{Internetquelle|url=http://www.kernel.org/|titel=The Linux Kernel Archives|sprache=englisch|kommentar=Versionsübersicht bei ''kernel.org''|hrsg=kernel.org|zugriff=2010-09-06}}</ref>
! Veröffentlichung<ref name="kernelArchive">{{Internetquelle|url=http://www.kernel.org/|titel=The Linux Kernel Archives|sprache=englisch|kommentar=Versionsübersicht bei ''kernel.org''|hrsg=kernel.org|zugriff=2010-09-06}}</ref>
! Dateien{{FN|(a)}}
! Dateien{{FN|(a)}}
Zeile 159: Zeile 159:
| {{nts|8413}}
| {{nts|8413}}
| {{nts|230}}
| {{nts|230}}
| erste Veröffentlichung; startete auf Systemen mit [[Floppy-Diskettenlaufwerk]] und [[Intel 80386|386er]]-Prozessor, lud dabei die Treiber für das [[Minix-Dateisystem]] und eine [[Finnische Sprache|finnische]] Tastatur, sowie als einziges Anwendungsprogramm den Kommandozeileninterpreter ''[[Bourne-again shell|bash]]''<ref>[http://www.heise.de/open/meldung/Happy-Birthday-Tux-155501.html Happy Birthday, Tux] – Artikel bei ''[[Heise open]]'', vom 25.&nbsp;August 2006</ref>
| erste Veröffentlichung; startete auf Systemen mit [[Floppy-Diskettenlaufwerk]] und [[Intel 80386|386er]]-Prozessor, lud dabei die Treiber für das [[Minix-Dateisystem]] und eine [[Finnische Sprache|finnische]] Tastatur, sowie als einziges Anwendungsprogramm den Befehlszeileninterpreter ''[[Bourne-again shell|bash]]''<ref>[http://www.heise.de/open/meldung/Happy-Birthday-Tux-155501.html Happy Birthday, Tux] – Artikel bei ''[[Heise open]]'', vom 25.&nbsp;August 2006</ref>
|-
|-
| 1.0
| 1.0
Zeile 312: Zeile 312:
|}
|}


==== Versionsgeschichte ab Version 2.6 ====
==== Ab Ausgabe 2.6 ====


Bei Betrachtung der zuletzt erschienenen Versionen (siehe Tabelle) erfolgt die Entwicklung einer neuen Kernel-Version in durchschnittlich 82&nbsp;Tagen. Der Kernel wird hierbei im Durchschnitt um 768&nbsp;Dateien und 325.892&nbsp;Quelltextzeilen (englisch ''{{lang|en|[[Lines of Code]]}}'') erweitert. Das mit dem Packprogramm ''[[gzip]]'' komprimierte ''[[tar]]''-Archiv (.tar.gz) wächst im Mittel um rund 2&nbsp;[[Megabyte]] mit jeder veröffentlichten Hauptversion.
Bei Betrachtung der zuletzt erschienenen Ausgaben (amerikanisch-englisch ''{{lang|en|versions}}'', siehe Tabelle) erfolgt die Entwicklung einer neuen Kernel-Version in durchschnittlich 82&nbsp;Tagen. Der Kernel wird hierbei im Durchschnitt um 768&nbsp;Dateien und 325.892&nbsp;Quelltextzeilen (englisch ''{{lang|en|[[Lines of Code]]}}'') erweitert. Das mit dem Packprogramm ''[[gzip]]'' komprimierte ''[[tar]]''-Archiv (.tar.gz) wächst im Mittel um rund 2&nbsp;[[Megabyte]] mit jeder veröffentlichten Hauptversion.


<gallery perrow="4">
<gallery perrow="4">
Zeile 325: Zeile 325:
{| class="wikitable sortable"
{| class="wikitable sortable"
|- class="hintergrundfarbe5"
|- class="hintergrundfarbe5"
! Version
! Ausgabe
! Veröffentlichung<ref name="kernelArchive" />
! Veröffentlichung<ref name="kernelArchive" />
! Anzahl der Dateien{{FN|(a)}}
! Anzahl der Dateien{{FN|(a)}}
Zeile 395: Zeile 395:
| {{nts|63721}}
| {{nts|63721}}
| {{nts|88}}
| {{nts|88}}
| wurde nachträglich mit Unterstützung für neue Hardware (wie [[Serial Attached SCSI|SAS]]) erweitert;<ref>[http://www.golem.de/1105/83224.html Linux-Kernel: Updates für Long-Term-Zweige] – Artikel bei ''[[Golem.de]]'', vom 4.&nbsp;Mai 2011</ref><br />letzte Version war ''2.6.27.62'' vom 17.&nbsp;März 2012
| wurde nachträglich mit Unterstützung für neue Hardware (wie [[Serial Attached SCSI|SAS]]) erweitert;<ref>[http://www.golem.de/1105/83224.html Linux-Kernel: Updates für Long-Term-Zweige] – Artikel bei ''[[Golem.de]]'', vom 4.&nbsp;Mai 2011</ref><br />letzte Ausgabe war ''2.6.27.62'' vom 17.&nbsp;März 2012
|-
|-
| {{Version|o|2.6.28|sortKey=2,628}}
| {{Version|o|2.6.28|sortKey=2,628}}
Zeile 435: Zeile 435:
| {{nts|81901}}
| {{nts|81901}}
| {{nts|84}}
| {{nts|84}}
| '''Aktuelle Version:''' ''2.6.32.61'' vom 10. Juni 2013
| '''Aktuelle Ausgabe:''' ''2.6.32.61'' vom 10. Juni 2013
|-
|-
| {{Version|o|2.6.33|sortKey=2,633}}
| {{Version|o|2.6.33|sortKey=2,633}}
Zeile 443: Zeile 443:
| {{nts|84533}}
| {{nts|84533}}
| {{nts|83}}
| {{nts|83}}
| bildet die Basis für einen Echtzeit-Zweig;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Entwicklung-von-2-6-39-angelaufen-1212541.html Kernel-Log: 2.6.39er-Entwicklung läuft, 33er-Serie wiederbelebt] – Artikel bei ''Heise open'', vom 22.&nbsp;März 2011</ref><br />letzte Version war ''2.6.33.20'' vom 7.&nbsp;November 2011<ref name="Heise_2011-09-08">[http://www.heise.de/newsticker/meldung/Hauptentwicklungsphase-von-Linux-3-2-abgeschlossen-1374691.html Hauptentwicklungsphase von Linux 3.2 abgeschlossen] – Artikel bei ''Heise online'', vom 8.&nbsp;November 2011</ref>
| bildet die Basis für einen Echtzeit-Zweig;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Entwicklung-von-2-6-39-angelaufen-1212541.html Kernel-Log: 2.6.39er-Entwicklung läuft, 33er-Serie wiederbelebt] – Artikel bei ''Heise open'', vom 22.&nbsp;März 2011</ref><br />letzte Ausgabe war ''2.6.33.20'' vom 7.&nbsp;November 2011<ref name="Heise_2011-09-08">[http://www.heise.de/newsticker/meldung/Hauptentwicklungsphase-von-Linux-3-2-abgeschlossen-1374691.html Hauptentwicklungsphase von Linux 3.2 abgeschlossen] – Artikel bei ''Heise online'', vom 8.&nbsp;November 2011</ref>
|-
|-
| {{Version|co|2.6.34|sortKey=2,634}}
| {{Version|co|2.6.34|sortKey=2,634}}
Zeile 451: Zeile 451:
| {{nts|86520}}
| {{nts|86520}}
| {{nts|82}}
| {{nts|82}}
| Grafiktreiber für neuere [[AMD Radeon]]-GPUs und die Grafikkerne von einigen erst Anfang nächsten Jahres erwartete [[Intel]]-Prozessoren, neue Dateisysteme: [[LogFS]] und [[Ceph]];<ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-34-999161.html?artikelseite=3 Linux 2.6.34: Dateisysteme, Netzwerk] – Seite 3 im Artikel bei ''Heise open'', vom 17.&nbsp;Mai 2010</ref> viele Änderungen an den Dateisystemen [[Btrfs]], [[ext4]], [[NILFS2]], [[SquashFS]] und [[XFS (Dateisystem)|XFS]],<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-34-bringt-2-Dateisysteme-984551.html Kernel-Log – Was 2.6.34 bringt (2): Dateisysteme] – Artikel bei ''Heise open'', vom 23.&nbsp;April 2010</ref> dem [[Small Computer System Interface|SCSI]]-Subsystem und dem Architektur-Code für [[ARM-Architektur|ARM]]-, [[Blackfin]]- und [[MicroBlaze]]-CPUs;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Cluster-Dateisystem-Ceph-in-2-6-34-Kernel-und-KVM-Vortraege-von-den-CLT2010-959928.html Kernel-Log: Ceph-Dateisystem in 2.6.34, Kernel- und KVM-Vorträge von den CLT2010] – Artikel bei ''Heise open'', vom 22.&nbsp;März 2010</ref> bessere Unterstützung für neue und ältere [[AMD]]- und Intel-Chips; größere Umbaumaßnahmen am Nouveau-Treiber für [[Nvidia]]-Grafik;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-34-bringt-3-Grafik-993746.html Kernel-Log – Was 2.6.34 bringt (3): Grafik] – Artikel bei ''Heise open'', vom 5.&nbsp;Mai 2010</ref><br />'''Aktuelle Version:''' ''2.6.34.14'' vom 16.&nbsp;Januar 2013
| Treiber für neuere ''[[AMD Radeon|AMD-Radeon]]''-Bildrechner (''[[Grafikprozessor]]en'' und -rechenkerne) sowie von einigen erst Anfang nächsten Jahres erwarteten Rechenwerken von ''[[Intel]]'', neue Dateisysteme: [[LogFS]] und [[Ceph]];<ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-34-999161.html?artikelseite=3 Linux 2.6.34: Dateisysteme, Netzwerk] – Seite 3 im Artikel bei ''Heise open'', vom 17.&nbsp;Mai 2010</ref> viele Änderungen an den Dateisystemen [[Btrfs]], [[ext4]], [[NILFS2]], [[SquashFS]] und [[XFS (Dateisystem)|XFS]],<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-34-bringt-2-Dateisysteme-984551.html Kernel-Log – Was 2.6.34 bringt (2): Dateisysteme] – Artikel bei ''Heise open'', vom 23.&nbsp;April 2010</ref> dem [[Small Computer System Interface|SCSI]]-Subsystem und dem Architektur-Code für [[ARM-Architektur|ARM]]-, [[Blackfin]]- und [[MicroBlaze]]-CPUs;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Cluster-Dateisystem-Ceph-in-2-6-34-Kernel-und-KVM-Vortraege-von-den-CLT2010-959928.html Kernel-Log: Ceph-Dateisystem in 2.6.34, Kernel- und KVM-Vorträge von den CLT2010] – Artikel bei ''Heise open'', vom 22.&nbsp;März 2010</ref> bessere Unterstützung für neue und ältere [[AMD]]- und Intel-Chips; größere Umbaumaßnahmen am Nouveau-Treiber für [[Nvidia]]-Grafik;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-34-bringt-3-Grafik-993746.html Kernel-Log – Was 2.6.34 bringt (3): Grafik] – Artikel bei ''Heise open'', vom 5.&nbsp;Mai 2010</ref><br />'''Aktuelle Ausgabe:''' ''2.6.34.14'' vom 16.&nbsp;Januar 2013
|-
|-
| {{Version|o|2.6.35|sortKey=2,635}}
| {{Version|o|2.6.35|sortKey=2,635}}
Zeile 459: Zeile 459:
| {{nts|88301}}
| {{nts|88301}}
| {{nts|77}}
| {{nts|77}}
| neu sind unter anderem ein verbesserter Netzwerkdurchsatz, [[Defragmentierung|defragmentierbarer]] Arbeitsspeicher und die Unterstützung für die [[Turbo Core Technology|Turbo-Core]]-Funktion moderner AMD-Prozessoren;<ref>[http://www.heise.de/newsticker/meldung/Entwicklung-von-Linux-2-6-35-laeuft-an-1012414.html Entwicklung von Linux 2.6.35 läuft an] – Artikel bei ''[[Heise online]]'', vom 31.&nbsp;Mai 2010</ref> die Unterstützung für die Stromsparfunktionen von Radeon-Grafikchips wurde verbessert, sowie die neuen [[H264]]-Dekodierfunktionen für den Grafikkern in Intels Ironlake-Prozessoren (Ironlake ist der Codename für die „Core i5“-Plattform<ref>[http://software.intel.com/sites/oss/archives/1209/platform_turboboost_powersharing.htm Spotlight: Platform Technology] (englisch) – Archivseite beim ''Intel Software Network'', vom 2.&nbsp;August 2010</ref>);<ref>[http://www.heise.de/newsticker/meldung/Eine-Flut-neuer-Stable-Kernel-und-ein-Ausblick-auf-Linux-2-6-35-1033772.html Eine Flut neuer Stable-Kernel und ein Ausblick auf Linux 2.6.35] – Artikel bei ''Heise online'', vom 6.&nbsp;Juli 2010</ref><br />letzte Version war ''2.6.35.13'' vom 13.&nbsp;März 2012<ref>[https://lkml.org/lkml/2011/8/1/324 Announcement of 2.6.35.14] (englisch) – Announcement in der ''LKML'', vom 1. August 2011, abgerufen am 7. Mai 2012</ref>
| neu sind unter anderem ein verbesserter Netzwerkdurchsatz, [[Defragmentierung|defragmentierbarer]] Arbeitsspeicher und die Unterstützung für die [[Turbo Core Technology|Turbo-Core]]-Funktion moderner AMD-Prozessoren;<ref>[http://www.heise.de/newsticker/meldung/Entwicklung-von-Linux-2-6-35-laeuft-an-1012414.html Entwicklung von Linux 2.6.35 läuft an] – Artikel bei ''Heise online'', vom 31.&nbsp;Mai 2010</ref> die Unterstützung für die Stromsparfunktionen von ''Radeon''-Bildrechnern wurde verbessert, sowie die neuen [[H264]]-Dekodierfunktionen für den Grafikkern in Intels Ironlake-Prozessoren (Ironlake ist der Codename für die „Core i5“-Plattform<ref>[http://software.intel.com/sites/oss/archives/1209/platform_turboboost_powersharing.htm Spotlight: Platform Technology] (englisch) – Archivseite beim ''Intel Software Network'', vom 2.&nbsp;August 2010</ref>);<ref>[http://www.heise.de/newsticker/meldung/Eine-Flut-neuer-Stable-Kernel-und-ein-Ausblick-auf-Linux-2-6-35-1033772.html Eine Flut neuer Stable-Kernel und ein Ausblick auf Linux 2.6.35] – Artikel bei ''Heise online'', vom 6.&nbsp;Juli 2010</ref><br />letzte Ausgabe war ''2.6.35.13'' vom 13.&nbsp;März 2012<ref>[https://lkml.org/lkml/2011/8/1/324 Announcement of 2.6.35.14] (englisch) – Announcement in der ''LKML'', vom 1. August 2011, abgerufen am 7. Mai 2012</ref>
|-
|-
| {{Version|o|2.6.36|sortKey=2,636}}
| {{Version|o|2.6.36|sortKey=2,636}}
Zeile 467: Zeile 467:
| {{nts|88707}}
| {{nts|88707}}
| {{nts|80}}
| {{nts|80}}
| neu sind – im auch „Flesh-Eating Bats with Fangs“ (englisch für „Fleischfressende Fledermäuse mit Reißzähnen“) genannten 36er Zweig<ref>[http://www.hkn.de/home-1/blog-tipps-tutorials/der-oktober-im-kernelrueckblick.php Der Oktober im Kernelrückblick] – Blog-Artikel von ''Mathias Menzer'' bei ''HKN'', von {{Datum||11|2010}} <small>(Abgerufen am: {{Datum|29|6|2013}})</small></ref><ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-36-1102066.html Die Neuerungen von Linux 2.6.36] – Artikel bei ''Heise open'', vom 21.&nbsp;Oktober 2010</ref> – unter anderem das Sicherheits-Framework [[AppArmor]], die Schnittstelle „[[LIRC]]“ (für das in Version 2.6.35 eingeführte System zur Nutzung von Infrarot-Fernbedienungen) und eine verbesserte Energieverwaltung für [[Grafikprozessor]]en;<ref>[http://www.heise.de/open/artikel/Kernel-Log-2-6-36-neue-Stable-Kernel-frische-Treiber-1053519.html Kernel-Log: 2.6.36, neue Stable-Kernel, frische Treiber] – Artikel bei ''Heise open'', vom 11.&nbsp;August 2010</ref> Unterstützung für Echtzeit-Virenscanner;<ref>[http://www.heise.de/newsticker/meldung/Hauptentwicklungsphase-des-Linux-Kernels-2-6-36-abgeschlossen-1058700.html Hauptentwicklungsphase des Linux-Kernels 2.6.36 abgeschlossen] – Artikel bei ''Heise online'', vom 16.&nbsp;August 2010</ref><br />letzte Version war ''2.6.36.4'' vom 17.&nbsp;Februar 2011
| neu sind – im auch „Flesh-Eating Bats with Fangs“ (englisch für „Fleischfressende Fledermäuse mit Reißzähnen“) genannten 36er Zweig<ref>[http://www.hkn.de/home-1/blog-tipps-tutorials/der-oktober-im-kernelrueckblick.php Der Oktober im Kernelrückblick] – Blog-Artikel von ''Mathias Menzer'' bei ''HKN'', von {{Datum||11|2010}} <small>(Abgerufen am: {{Datum|29|6|2013}})</small></ref><ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-36-1102066.html Die Neuerungen von Linux 2.6.36] – Artikel bei ''Heise open'', vom 21.&nbsp;Oktober 2010</ref> – unter anderem das Sicherheits-Framework [[AppArmor]], die Schnittstelle „[[LIRC]]“ (für das in Ausgabe 2.6.35 eingeführte System zur Nutzung von Infrarot-Fernbedienungen) und eine verbesserte Energieverwaltung für [[Grafikprozessor]]en;<ref>[http://www.heise.de/open/artikel/Kernel-Log-2-6-36-neue-Stable-Kernel-frische-Treiber-1053519.html Kernel-Log: 2.6.36, neue Stable-Kernel, frische Treiber] – Artikel bei ''Heise open'', vom 11.&nbsp;August 2010</ref> Unterstützung für Echtzeit-Virenscanner;<ref>[http://www.heise.de/newsticker/meldung/Hauptentwicklungsphase-des-Linux-Kernels-2-6-36-abgeschlossen-1058700.html Hauptentwicklungsphase des Linux-Kernels 2.6.36 abgeschlossen] – Artikel bei ''Heise online'', vom 16.&nbsp;August 2010</ref><br />letzte Ausgabe war ''2.6.36.4'' vom 17.&nbsp;Februar 2011
|-
|-
| {{Version|o|2.6.37|sortKey=2,637}}
| {{Version|o|2.6.37|sortKey=2,637}}
Zeile 475: Zeile 475:
| {{nts|92474}}
| {{nts|92474}}
| {{nts|76}}
| {{nts|76}}
| neu sind, neben den üblichen zusätzlichen Treibern (u.&nbsp;a. für [[USB 3.0]]), eine verbesserte [[Skalierbarkeit|Skalierung]] und [[Virtualisierung (Informatik)|Virtualisierung]] für [[Mehrkern-Prozessor]]en;<ref>[http://www.heise.de/newsticker/meldung/Hauptentwicklungsphase-des-Linux-Kernel-2-6-37-abgeschlossen-1128535.html Hauptentwicklungsphase des Linux-Kernel 2.6.37 abgeschlossen] – Artikel bei ''Heise online'', vom 1.&nbsp;November 2010</ref><br />letzte Version war ''2.6.37.6'' vom 27.&nbsp;März 2011
| neu sind, neben den üblichen zusätzlichen Treibern (u.&nbsp;a. für [[USB 3.0]]), eine verbesserte [[Skalierbarkeit|Skalierung]] und [[Virtualisierung (Informatik)|Virtualisierung]] für [[Mehrkern-Prozessor]]en;<ref>[http://www.heise.de/newsticker/meldung/Hauptentwicklungsphase-des-Linux-Kernel-2-6-37-abgeschlossen-1128535.html Hauptentwicklungsphase des Linux-Kernel 2.6.37 abgeschlossen] – Artikel bei ''Heise online'', vom 1.&nbsp;November 2010</ref><br />letzte Ausgabe war ''2.6.37.6'' vom 27.&nbsp;März 2011
|-
|-
| {{Version|o|2.6.38|sortKey=2,638}}
| {{Version|o|2.6.38|sortKey=2,638}}
Zeile 483: Zeile 483:
| {{nts|94144}}
| {{nts|94144}}
| {{nts|69}}
| {{nts|69}}
| Unterstützung für die [[AMD-Radeon-HD-6000-Serie]] und für AMDs [[Accelerated Processing Unit|APUs]],<ref>[http://www.heise.de/open/artikel/Kernel-Log-Wunderpatch-integriert-verbesserte-Grafiktreiber-am-Start-1165324.html Kernel-Log: Wunderpatch integriert, verbesserte Grafiktreiber am Start] – Artikel bei ''Heise open'', vom 7.&nbsp;Januar 2011</ref> sowie Verbesserungen für Audio- und Video-Verarbeitung als auch für [[Berührungsempfindlicher Bildschirm|berührungsempfindliche Bildschirme]];<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-6-Treiber-1202105.html Kernel-Log – Was 2.6.38 bringt (6): Treiber] – Artikel bei ''Heise open'', vom 9.&nbsp;März 2011</ref><br />letzte Version war ''2.6.38.8'' vom 3.&nbsp;Juni 2011
| Unterstützung für die [[AMD-Radeon-HD-6000-Serie]] und für AMDs [[Accelerated Processing Unit|APUs]],<ref>[http://www.heise.de/open/artikel/Kernel-Log-Wunderpatch-integriert-verbesserte-Grafiktreiber-am-Start-1165324.html Kernel-Log: Wunderpatch integriert, verbesserte Grafiktreiber am Start] – Artikel bei ''Heise open'', vom 7.&nbsp;Januar 2011</ref> sowie Verbesserungen für Audio- und Video-Verarbeitung als auch für [[Berührungsempfindlicher Bildschirm|berührungsempfindliche Bildschirme]];<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-38-bringt-6-Treiber-1202105.html Kernel-Log – Was 2.6.38 bringt (6): Treiber] – Artikel bei ''Heise open'', vom 9.&nbsp;März 2011</ref><br />letzte Ausgabe war ''2.6.38.8'' vom 3.&nbsp;Juni 2011
|-
|-
| {{Version|o|2.6.39|sortKey=2,639}}
| {{Version|o|2.6.39|sortKey=2,639}}
Zeile 491: Zeile 491:
| {{nts|95994}}
| {{nts|95994}}
| {{nts|65}}
| {{nts|65}}
| Unterstützung für das Optimierungs-Werkzeug ''[[IP set]]'';<ref>[http://www.heise.de/open/artikel/Kernel-Log-Erster-Release-Candidate-von-Linux-2-6-39-1217118.html Kernel-Log: Erster Release Candidate von Linux 2.6.39] – Artikel bei ''Heise open'', vom 30.&nbsp;März 2011</ref><ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-39-1242011.html Die Neuerungen von Linux 2.6.39] – Artikel bei ''Heise open'', vom 19.&nbsp;Mai 2011</ref><br />letzte Version war ''2.6.39.4'' vom 3.&nbsp;August 2011
| Unterstützung für das Optimierungs-Werkzeug ''[[IP set]]'';<ref>[http://www.heise.de/open/artikel/Kernel-Log-Erster-Release-Candidate-von-Linux-2-6-39-1217118.html Kernel-Log: Erster Release Candidate von Linux 2.6.39] – Artikel bei ''Heise open'', vom 30.&nbsp;März 2011</ref><ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-39-1242011.html Die Neuerungen von Linux 2.6.39] – Artikel bei ''Heise open'', vom 19.&nbsp;Mai 2011</ref><br />letzte Ausgabe war ''2.6.39.4'' vom 3.&nbsp;August 2011
|-
|-
| {{Version|co|3.0|sortKey=3,0}}
| {{Version|co|3.0|sortKey=3,0}}
Zeile 499: Zeile 499:
| {{nts|96676}}
| {{nts|96676}}
| {{nts|64}}
| {{nts|64}}
| neues Versionsnummernschema,<ref>[http://www.heise.de/newsticker/meldung/Erste-Vorabversion-von-Linux-3-0-erschienen-1252084.html Erste Vorabversion von Linux 3.0 erschienen] – Artikel bei ''Heise online'', vom 30.&nbsp;Mai 2011</ref> zudem neue Treiber u.&nbsp;a. für (virtuelle) Netzwerkgeräte und den Fernseh-Standard [[DVB-T2]], sowie allgemein verbesserte Virtualisierung (u.&nbsp;a. durch abschließende Arbeiten an dem Hypervisor ''[[Xen]]'') und viele kleine Verbesserungen (wie z.&nbsp;B. Schreib- und Lösch-Optimierungen für Dateisysteme);<ref>[http://www.golem.de/1107/85080.html Kernel: Linux 3.0 ist fertig] – Artikel bei ''Golem.de'', vom 22.&nbsp;Juli 2011</ref><ref>[http://www.heise.de/newsticker/meldung/Linux-Kernel-3-0-freigegeben-1279618.html Linux-Kernel 3.0 freigegeben] – Artikel bei ''Heise online'', vom 22.&nbsp;Juli 2011</ref><br />'''Aktuelle Version:''' ''3.0.85'' vom 3. Juli 2013
| neues Versionsnummernschema,<ref>[http://www.heise.de/newsticker/meldung/Erste-Vorabversion-von-Linux-3-0-erschienen-1252084.html Erste Vorabversion von Linux 3.0 erschienen] – Artikel bei ''Heise online'', vom 30.&nbsp;Mai 2011</ref> zudem neue Treiber u.&nbsp;a. für (virtuelle) Netzwerkgeräte und den Fernseh-Standard [[DVB-T2]], sowie allgemein verbesserte Virtualisierung (u.&nbsp;a. durch abschließende Arbeiten an dem Hypervisor ''[[Xen]]'') und viele kleine Verbesserungen (wie z.&nbsp;B. Schreib- und Lösch-Optimierungen für Dateisysteme);<ref>[http://www.golem.de/1107/85080.html Kernel: Linux 3.0 ist fertig] – Artikel bei ''Golem.de'', vom 22.&nbsp;Juli 2011</ref><ref>[http://www.heise.de/newsticker/meldung/Linux-Kernel-3-0-freigegeben-1279618.html Linux-Kernel 3.0 freigegeben] – Artikel bei ''Heise online'', vom 22.&nbsp;Juli 2011</ref><br />'''Aktuelle Ausgabe:''' ''3.0.85'' vom 3. Juli 2013
|-
|-
| {{Version|o|3.1|sortKey=3,1}}
| {{Version|o|3.1|sortKey=3,1}}
Zeile 507: Zeile 507:
| {{nts|97334}}
| {{nts|97334}}
| {{nts|94}}
| {{nts|94}}
| neu ist u.&nbsp;a. die Unterstützung der Prozessor-Plattform ''[[OpenRISC]]'';<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-1-bringt-3-Architektur-Infrastruktur-Virtualisierung-1344563.html Kernel-Log – Was 3.1 bringt (3): Architektur, Infrastruktur, Virtualisierung] – Artikel bei ''Heise open'', vom 17.&nbsp;September 2011</ref><br />letzte Version war ''3.1.10'' vom 18.&nbsp;Januar 2012
| neu ist u.&nbsp;a. die Unterstützung der Prozessor-Plattform ''[[OpenRISC]]'';<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-1-bringt-3-Architektur-Infrastruktur-Virtualisierung-1344563.html Kernel-Log – Was 3.1 bringt (3): Architektur, Infrastruktur, Virtualisierung] – Artikel bei ''Heise open'', vom 17.&nbsp;September 2011</ref><br />letzte Ausgabe war ''3.1.10'' vom 18.&nbsp;Januar 2012
|-
|-
| {{Version|co|3.2|sortKey=3,2}}
| {{Version|co|3.2|sortKey=3,2}}
Zeile 515: Zeile 515:
| ≈ {{nts|74500}}
| ≈ {{nts|74500}}
| {{nts|73}}
| {{nts|73}}
| neu ist u.&nbsp;a. die Unterstützung für die ''Qualcom-Hexagon-Prozessor-Architektur'';<ref name="Heise_2011-09-08" /><br />'''Aktuelle Version:''' ''3.2.47'' vom 19. Juni 2013
| neu ist u.&nbsp;a. die Unterstützung für die ''Qualcom-Hexagon-Prozessor-Architektur'';<ref name="Heise_2011-09-08" /><br />'''Aktuelle Ausgabe:''' ''3.2.48'' vom 29. Juni 2013
|-
|-
| {{Version|o|3.3|sortKey=3,3}}
| {{Version|o|3.3|sortKey=3,3}}
Zeile 523: Zeile 523:
| ≈ {{nts|75300}}
| ≈ {{nts|75300}}
| {{nts|74}}
| {{nts|74}}
| neu ist u.&nbsp;a. die Unterstützung für die ''[[Android (Betriebssystem)|Android]]''-Plattform;<ref>[http://www.heise.de/open/meldung/Android-Treiber-sollen-in-Kernel-3-3-einfliessen-1400888.html Android-Treiber sollen in Kernel 3.3 einfließen] – Artikel bei ''Heise open'', vom 23. Dezember 2011</ref><br />letzte Version war ''3.3.8'' vom 1.&nbsp;Juni 2012
| neu ist u.&nbsp;a. die Unterstützung für die ''[[Android (Betriebssystem)|Android]]''-Plattform;<ref>[http://www.heise.de/open/meldung/Android-Treiber-sollen-in-Kernel-3-3-einfliessen-1400888.html Android-Treiber sollen in Kernel 3.3 einfließen] – Artikel bei ''Heise open'', vom 23. Dezember 2011</ref><br />letzte Ausgabe war ''3.3.8'' vom 1.&nbsp;Juni 2012
|-
|-
| {{Version|co|3.4|sortKey=3,4}}
| {{Version|co|3.4|sortKey=3,4}}
Zeile 531: Zeile 531:
| ≈ {{nts|76500}}
| ≈ {{nts|76500}}
| {{nts|63}}
| {{nts|63}}
| neu ist u.&nbsp;a. die Unterstützung der Stromspartechnik ''RC6'';<ref>[http://www.golem.de/news/sandy-bridge-stromsparoption-rc6-in-linux-kernel-funktionstuechtig-1202-89809.html Sandy Bridge: Stromsparoption RC6 in Linux-Kernel funktionstüchtig] – Artikel bei ''Golem.de'', vom 15. Februar 2012 (Abgerufen am: 21. Mai 2012)</ref><ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-3-bringt-4-Treiber-1464001.html Kernel-Log – Was 3.3 bringt (4): Treiber] – Artikel bei ''Heise open'', vom 8. März 2012 (Abgerufen am: 21. Mai 2012)</ref><ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-4-1572878.html Die Neuerungen von Linux 3.4] – Artikel bei ''Heise open'', vom 21. Mai 2012 (Abgerufen am: 21. Mai 2012)</ref><br />'''Aktuelle Version:''' ''3.4.52'' vom 3. Juli 2013
| neu ist u.&nbsp;a. die Unterstützung der Stromspartechnik ''RC6'';<ref>[http://www.golem.de/news/sandy-bridge-stromsparoption-rc6-in-linux-kernel-funktionstuechtig-1202-89809.html Sandy Bridge: Stromsparoption RC6 in Linux-Kernel funktionstüchtig] – Artikel bei ''Golem.de'', vom 15. Februar 2012 (Abgerufen am: 21. Mai 2012)</ref><ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-3-bringt-4-Treiber-1464001.html Kernel-Log – Was 3.3 bringt (4): Treiber] – Artikel bei ''Heise open'', vom 8. März 2012 (Abgerufen am: 21. Mai 2012)</ref><ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-4-1572878.html Die Neuerungen von Linux 3.4] – Artikel bei ''Heise open'', vom 21. Mai 2012 (Abgerufen am: 21. Mai 2012)</ref><br />'''Aktuelle Ausgabe:''' ''3.4.52'' vom 3. Juli 2013
|-
|-
| {{Version|o|3.5|sortKey=3,5}}
| {{Version|o|3.5|sortKey=3,5}}
Zeile 539: Zeile 539:
| ≈ {{nts|77200}}
| ≈ {{nts|77200}}
| {{nts|62}}
| {{nts|62}}
| die Unterstützung für die veralteten Netzwerk-Standards ''[[Token Ring]]'' und ''Econet'' wurde entfernt;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-1-Netzwerk-1624233.html Kernel-Log – Was 3.5 bringt (1): Netzwerk] – Artikel bei ''Heise open'', vom 25. Juni 2012 (Abgerufen am: 27. Juni 2012)</ref><br />Letzte Version war ''3.5.7'' vom 12.&nbsp;Oktober 2012
| die Unterstützung für die veralteten Netzwerk-Standards ''[[Token Ring]]'' und ''Econet'' wurde entfernt;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-5-bringt-1-Netzwerk-1624233.html Kernel-Log – Was 3.5 bringt (1): Netzwerk] – Artikel bei ''Heise open'', vom 25. Juni 2012 (Abgerufen am: 27. Juni 2012)</ref><br />letzte Ausgabe war ''3.5.7'' vom 12.&nbsp;Oktober 2012
|-
|-
| {{Version|o|3.6|sortKey=3,6}}
| {{Version|o|3.6|sortKey=3,6}}
Zeile 547: Zeile 547:
| ≈ {{nts|78500}}
| ≈ {{nts|78500}}
| {{nts|71}}
| {{nts|71}}
| u.&nbsp;a. wurde die Energiespar- oder Schlaffunktion, für den [[Bereitschaftsbetrieb]] und [[Ruhezustand]] des gesamten Systems, weiterentwickelt;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Entwicklung-von-Linux-3-6-laeuft-1656817.html Kernel-Log: Entwicklung von Linux 3.6 läuft] – Artikel bei ''Heise open'', vom 2. August 2012 (Abgerufen am: 25. Juli 2012)</ref><br />Letzte Version war ''3.6.11'' vom 17.&nbsp;Dezember 2012
| u.&nbsp;a. wurde die Energiespar- oder Schlaffunktion, für den [[Bereitschaftsbetrieb]] und [[Ruhezustand]] des gesamten Systems, weiterentwickelt;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Entwicklung-von-Linux-3-6-laeuft-1656817.html Kernel-Log: Entwicklung von Linux 3.6 läuft] – Artikel bei ''Heise open'', vom 2. August 2012 (Abgerufen am: 25. Juli 2012)</ref><br />letzte Ausgabe war ''3.6.11'' vom 17.&nbsp;Dezember 2012
|-
|-
| {{Version|o|3.7|sortKey=3,7}}
| {{Version|o|3.7|sortKey=3,7}}
Zeile 555: Zeile 555:
| ≈ {{nts|79800}}
| ≈ {{nts|79800}}
| {{nts|71}}
| {{nts|71}}
| u.&nbsp;a. [[Network Address Translation|NAT]] für [[IPv6]], Unterstützung für den [[ARM-Architektur|ARM]]-64-Bit-Befehlssatz und ''[[Ext4]]''-Größenänderungen für Laufwerke die größer sind als 16 Terabyte, größere Veränderungen an den Grafiktreibern für Nvidia-, Intel- und AMD-Grafik und verbesserte Hardware-Unterstützung für Helligkeitsregelung und Stromsparfunktionen von Soundkarten;<ref>[http://www.heise.de/newsticker/meldung/Linux-Kernel-3-7-veroeffentlicht-1760312.html Die Neuerungen von Linux 3.7] – Artikel bei ''Heise open'', vom 11. Dezember 2012 (Abgerufen am: 13. Dezember 2012)</ref><br />Letzte Version war ''3.7.10'' vom 27.&nbsp;Februar 2013
| u.&nbsp;a. [[Network Address Translation|NAT]] für [[IPv6]], Unterstützung für den [[ARM-Architektur|ARM]]-64-Bit-Befehlssatz und ''[[Ext4]]''-Größenänderungen für Laufwerke die größer sind als 16 Terabyte, größere Veränderungen an den Grafiktreibern für Nvidia-, Intel- und AMD-Grafik und verbesserte Hardware-Unterstützung für Helligkeitsregelung und Stromsparfunktionen von Soundkarten;<ref>[http://www.heise.de/newsticker/meldung/Linux-Kernel-3-7-veroeffentlicht-1760312.html Die Neuerungen von Linux 3.7] – Artikel bei ''Heise open'', vom 11. Dezember 2012 (Abgerufen am: 13. Dezember 2012)</ref><br />letzte Ausgabe war ''3.7.10'' vom 27.&nbsp;Februar 2013
|-
|-
| {{Version|o|3.8|sortKey=3,8}}
| {{Version|o|3.8|sortKey=3,8}}
Zeile 563: Zeile 563:
| ≈ {{nts|84623}}
| ≈ {{nts|84623}}
| {{nts|70}}
| {{nts|70}}
| u.&nbsp;a. wurde die Unterstützung für das Dateisystem ''[[F2FS]]'' eingefügt<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-8-bringt-1-Dateisysteme-und-Storage-1788185.html Kernel-Log – Was 3.8 bringt (1): Dateisysteme und Storage] – Artikel bei ''Heise open'', vom 21. Januar 2013 (Abgerufen am: 16. Februar 2013)</ref> und die Unterstützung für ''[[Intel 80386|i386]]''-Prozessoren entfernt;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-8-bringt-2-Infrastruktur-1800418.html Kernel-Log – Was 3.8 bringt (2): Infrastruktur] – Artikel bei ''Heise open'', vom 8. Februar 2013 (Abgerufen am: 16. Februar 2013)</ref> soll als Basis für die nächste ''Android''-Ausgabe dienen;<ref name="Golem-2013-03-06">[http://www.golem.de/news/linux-kernel-torvalds-schliesst-merge-fenster-fuer-linux-3-9-1303-97966.html Linux Kernel: Torvalds schließt Merge-Fenster für Linux 3.9] – Artikel bei ''Golem.de'', vom 4. März 2013 (Abgerufen am: 6. März 2013)</ref><br />Letzte Version war ''3.8.13'' vom 11. Mai 2013
| u.&nbsp;a. wurde die Unterstützung für das Dateisystem ''[[F2FS]]'' eingefügt<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-8-bringt-1-Dateisysteme-und-Storage-1788185.html Kernel-Log – Was 3.8 bringt (1): Dateisysteme und Storage] – Artikel bei ''Heise open'', vom 21. Januar 2013 (Abgerufen am: 16. Februar 2013)</ref> und die Unterstützung für ''[[Intel 80386|i386]]''-Prozessoren entfernt;<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-8-bringt-2-Infrastruktur-1800418.html Kernel-Log – Was 3.8 bringt (2): Infrastruktur] – Artikel bei ''Heise open'', vom 8. Februar 2013 (Abgerufen am: 16. Februar 2013)</ref> soll als Basis für die nächste ''Android''-Ausgabe dienen;<ref name="Golem-2013-03-06">[http://www.golem.de/news/linux-kernel-torvalds-schliesst-merge-fenster-fuer-linux-3-9-1303-97966.html Linux Kernel: Torvalds schließt Merge-Fenster für Linux 3.9] – Artikel bei ''Golem.de'', vom 4. März 2013 (Abgerufen am: 6. März 2013)</ref><br />letzte Ausgabe war ''3.8.13'' vom 11. Mai 2013
|-
|-
| {{Version|co|3.9|sortKey=3,9}}
| {{Version|co|3.9|sortKey=3,9}}
Zeile 571: Zeile 571:
| ≈ {{nts|82000}}
| ≈ {{nts|82000}}
| {{nts|69}}
| {{nts|69}}
| u.&nbsp;a. wurde die Unterstützung für 32-Bit-Prozessoren der Baureihe ''HTP'' (von ''Meta'')<ref>[http://www.imgtec.com/meta/meta.asp Meta SoC Processors] (englisch) – Seite bei ''[[Imagination Technologies]]'' (Abgerufen am: 7. März 2013)</ref> sowie ''ARC&nbsp;700'' (von ''[[Synopsys]]'')<ref>[http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/ARC700/Pages/default.aspx DesignWare ARC 700 Processor Core Family] (englisch) – Seite bei ''[[Synopsys]]'' (Abgerufen am: 7. März 2013)</ref> hinzugefügt und die Treiber für das Dateisystem ''[[btrfs]]'' um eine erste Unterstützung für ''[[Redundant Array of Independent Disks|Raid]] 5'' und ''6'' erweitert;<ref name="Golem-2013-03-06" /><ref>[http://www.pro-linux.de/news/1/19520/linux-kernel-39-tritt-in-die-testphase-ein.html Linux-Kernel 3.9 tritt in die Testphase ein] – Artikel bei ''[[Pro-Linux]]'', vom 4. März 2013 (Abgerufen am: 7. März 2013)</ref><br />'''Aktuelle Version:''' ''3.9.9'' vom 3. Juli 2013
| u.&nbsp;a. wurde die Unterstützung für 32-Bit-Prozessoren der Baureihe ''HTP'' (von ''Meta'')<ref>[http://www.imgtec.com/meta/meta.asp Meta SoC Processors] (englisch) – Seite bei ''[[Imagination Technologies]]'' (Abgerufen am: 7. März 2013)</ref> sowie ''ARC&nbsp;700'' (von ''[[Synopsys]]'')<ref>[http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/ARC700/Pages/default.aspx DesignWare ARC 700 Processor Core Family] (englisch) – Seite bei ''[[Synopsys]]'' (Abgerufen am: 7. März 2013)</ref> hinzugefügt und die Treiber für das Dateisystem ''[[btrfs]]'' um eine erste Unterstützung für ''[[Redundant Array of Independent Disks|Raid]] 5'' und ''6'' erweitert;<ref name="Golem-2013-03-06" /><ref>[http://www.pro-linux.de/news/1/19520/linux-kernel-39-tritt-in-die-testphase-ein.html Linux-Kernel 3.9 tritt in die Testphase ein] – Artikel bei ''[[Pro-Linux]]'', vom 4. März 2013 (Abgerufen am: 7. März 2013)</ref><br />'''Aktuelle Ausgabe:''' ''3.9.9'' vom 3. Juli 2013
|-
|-
| {{Version|c|3.10|sortKey=3,10}}
| {{Version|c|3.10|sortKey=3,10}}
| {{dts|30|06|2013|noFormat=ja}}
| {{dts|30|06|2013|noFormat=ja}}
| {{nts|43016}}
| {{nts|16955489}}
| ≈ {{nts|83100}}<!-- "https://www.computerbase.de/downloads/system/linux-kernel/", abgerufen am 8.7.2013 -->
| {{nts|63}}
| unter anderem Unterstützung für Bewegtbildbeschleuniger (amerikanisch-englisch ''{{lang|en|video acceleration}}'') in ''[[AMD Radeon|Radeon]]''-Rechenwerken (ab der ''[[ATI-Radeon-HD-4000-Serie|HD-4000-Serie]]''), erste 3D-Unterstützung für KVM und öffentliche 2D-Unterstützung für Nvidias [[Nvidia Tegra|''Tegra2'' und ''Tegra3'']] auf denen später Nvidias ebenso öffentliche 3D-Treiber aufbauen sollen, zudem wurden die Echtzeitfähigkeiten verbessert sowie die Nutzung von schnellen Festspeichern (''[[Solid-State-Drive|SSDs]]'') als Zwischenspeicher (''[[Cache]]'') für langsamere herkömmliche [[Festplattenlaufwerk|Festplattenspeicher]];<ref>[http://www.heise.de/open/artikel/Kernel-Log-Was-3-10-bringt-4-Treiber-1897241.html Kernel-Log – Was 3.10 bringt (4): Treiber] – Artikel bei ''Heise open'', vom {{Datum|28|6|2013}} <small>(Abgerufen am: {{Datum|8|7|2013}})</small></ref><ref name="Heise open, 2013-07-01">[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-10-1898006.html Die Neuerungen von Linux 3.10] – Artikel bei ''Heise open'', vom {{Datum|1|7|2013}} <small>(Abgerufen am: {{Datum|8|7|2013}})</small></ref><ref>[http://www.golem.de/news/linux-kernel-3-10-tickt-ein-wenig-weniger-1307-100116.html Linux Kernel 3.10 tickt ein wenig weniger] – Artikel bei ''Golem.de'', vom {{Datum|1|7|2013}} <small>(Abgerufen am: {{Datum|8|7|2013}})</small></ref> Unterstützung für die Netzwerkverbindungs- und Datenübertragungstechnik ''[[InfiniBand]]'';<ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-9-1844759.html?artikelseite=3 Die Neuerungen von Linux 3.9: <nowiki>[..]</nowiki> Was 3.10 bringt] – Artikel <small>(Seite 3 von 3)</small> bei ''Heise open'', vom 29. April 2013 <small>(Abgerufen am: 29. April 2013)</small></ref><br/>'''Aktuelle Ausgabe:''' ''3.10'' vom 30. Juni 2013
|-
| {{Version|p|3.11|sortKey=3,11}}
| {{dts||9|2013|noFormat=ja}}
|
|
|
|
|
|
|
|
| voraussichtliche Freigabe der ''zswap'' genannte Erweiterung zur Datenverdichtung (''[[Datenkomprimierung]]'') im Arbeitsspeicher<ref name="Heise open, 2013-07-01"/><br/>die Ausgabe (oder ''Version''): ''3.11'' wird voraussichtlich im {{Datum||9|2013}} aus- und freigegeben
| u.&nbsp;a. Unterstützung für [[InfiniBand]];<ref>[http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-9-1844759.html?artikelseite=3 Die Neuerungen von Linux 3.9: <nowiki>[..]</nowiki> Was 3.10 bringt] – Artikel (Seite 3 von 3) bei ''Heise open'', vom 29. April 2013 (Abgerufen am: 29. April 2013)</ref><br/>'''Aktuelle Version:''' ''3.10 vom 30. Juni 2013
|-
|-
| colspan="7" | {{Version|l|zeige=111111}}
| colspan="7" | {{Version|l|zeige=111111}}
|}
|}
'''Anmerkungen'''<ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Verbesserungen-allerorten-Die-Neuerungen-von-Linux-2-6-25-221493.html|titel=Die Neuerungen von Linux 2.6.25|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=6|datum=2008-04-17|hrsg=[[Heise online]]|autor=Thorsten Leemhuis|zugriff=2010-09-28}}</ref><ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-31-763959.html|titel=Die Neuerungen von Linux 2.6.31|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=6|datum=2009-09-10|hrsg=[[Heise online]]|autor=Thorsten Leemhuis|zugriff=2010-09-28}}</ref><ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-38-1203073.html|titel=Die Neuerungen von Linux 2.6.38|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=8|datum=2011-03-15|hrsg=[[Heise online]]|autor=Thorsten Leemhuis|zugriff=2011-03-15}}</ref><ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-0-1279228.html|titel=Die Neuerungen von Linux 3.0|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=4|hrsg=[[Heise online]]|autor=Thorsten Leemhuis|datum=2011-07-22|zugriff=2011-07-25}}</ref><br />
'''Anmerkungen'''<ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Verbesserungen-allerorten-Die-Neuerungen-von-Linux-2-6-25-221493.html|titel=Die Neuerungen von Linux 2.6.25|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=6|datum=2008-04-17|hrsg=Heise online|autor=Thorsten Leemhuis|zugriff=2010-09-28}}</ref><ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-31-763959.html|titel=Die Neuerungen von Linux 2.6.31|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=6|datum=2009-09-10|hrsg=Heise online|autor=Thorsten Leemhuis|zugriff=2010-09-28}}</ref><ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-2-6-38-1203073.html|titel=Die Neuerungen von Linux 2.6.38|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=8|datum=2011-03-15|hrsg=Heise online|autor=Thorsten Leemhuis|zugriff=2011-03-15}}</ref><ref>{{Internetquelle|url=http://www.heise.de/open/artikel/Die-Neuerungen-von-Linux-3-0-1279228.html|titel=Die Neuerungen von Linux 3.0|titelerg=Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels|seiten=4|hrsg=Heise online|autor=Thorsten Leemhuis|datum=2011-07-22|zugriff=2011-07-25}}</ref><br />
{{FNZ|(a)|Dateien gezählt mit: <code><nowiki>find . -type f -not -regex '\./\.git/.*'|wc -l</nowiki></code>}}
{{FNZ|(a)|Dateien gezählt mit: <code><nowiki>find . -type f -not -regex '\./\.git/.*'|wc -l</nowiki></code>}}
{{FNZ|(b)|[[Lines of Code|Quelltextzeilen]] gezählt mit: <code><nowiki>find . -type f -not -regex '\./\.git.*'|xargs cat|wc -l</nowiki></code>}}
{{FNZ|(b)|[[Lines of Code|Quelltextzeilen]] gezählt mit: <code><nowiki>find . -type f -not -regex '\./\.git.*'|xargs cat|wc -l</nowiki></code>}}

Version vom 8. Juli 2013, 13:11 Uhr

Linux
Tux, der Linux-Pinguin
Startender Systemkern (Version 3.0.0) in Debian
Entwickler Linus Torvalds u. v. m.
Lizenz(en) GPLv2 (only)[1][2], enthält verschiedene Closed Source BLOBs[3]
Erstveröff. 17. September 1991
Akt. Version 3.10 (30. Juni 2013)
Architektur(en) IA-32, AMD64, Alpha AXP, Sun SPARC, Motorola 68000, PowerPC, ARM, Hitachi SuperH, IBM S/390, MIPS, HP PA-RISC, IA-64, AXIS CRIS, Atmel AVR32, Renesas H8/300, Blackfin und weitere
Sprache(n) Englisch
www.kernel.org

Linux (deutsch [ˈliːnʊks]) ist ein Betriebssystemkern (englisch kernel). Er wurde im Jahr 1991 von dem Finnen Linus Torvalds ursprünglich für die x86-Architektur entwickelt und unter der freien GNU General Public License (GPL) veröffentlicht. Der Kern (Kernel) findet in einer Vielzahl von Distributionen und Betriebssystemen seine Anwendung.

Der Begriff Linux setzt sich aus dem Namen Linus und dem X aus Unix zusammen und zeigt die Ähnlichkeit mit Unix an. Er bezeichnet im üblichen Sprachgebrauch nicht nur den Linux-Kern selbst, sondern auch Linux-Distributionen und Linux-basierte Systeme. Das führte zum GNU/Linux-Namensstreit.

Grundlegende Technologie

Grob-Struktur des Linux-Kernels

Aufgaben des Kernels

Der Kernel eines Betriebssystems bildet die hardwareabstrahierende Schicht (Hardwareabstraktionsschicht), das heißt, er stellt der auf dieser Basis aufsetzenden Software eine einheitliche Schnittstelle (API) zur Verfügung, die unabhängig von der Rechnerarchitektur ist. Die Software kann so immer auf die Schnittstelle zugreifen und braucht die Hardware selbst, die sie nutzt, nicht genauer zu kennen. Linux ist dabei ein modularer monolithischer Betriebssystemkern und zuständig für Speicherverwaltung, Prozessverwaltung, Multitasking, Lastverteilung, Sicherheitserzwingung und Eingabe/Ausgabe-Operationen auf verschiedenen Geräten.

Programmiersprache

Linux ist fast ausschließlich in der Programmiersprache C geschrieben, wobei einige GNU-C-Erweiterungen benutzt werden. Eine Ausnahme bilden die architekturabhängigen Teile des Codes (im Verzeichnis arch innerhalb der Linux-Sourcen), wie zum Beispiel der Beginn des Systemstarts (Bootvorgang), der in Assemblersprache geschrieben ist.

Funktionsweise

Bei einem strikt monolithischen Kernel wird der gesamte Quellcode inklusive aller Treiber in das Kernel-Image (den ausführbaren Kernel) kompiliert. Im Gegensatz dazu kann Linux Module benutzen, die während des Betriebs geladen und wieder entfernt werden können. Damit wird die Flexibilität erreicht, um unterschiedlichste Hardware ansprechen zu können, ohne sämtliche (auch nicht benötigte) Treiber und andere Systemteile im Speicher halten zu müssen.

Sind Teile der Hardwarespezifikationen nicht genügend offengelegt, so stützt sich Linux notfalls über spezielle VM86-Modi auch auf das BIOS des Systems, u. a. auf die Erweiterungen gemäß den Standards APM, ACPI und VESA. Um unter diesen Voraussetzungen x86-kompatible Hardware z. B. auf der DEC-Alpha-Plattform zu betreiben, werden teilweise sogar Emulatoren zur Ausführung entsprechenden ROM-Codes verwendet. Linux selbst übernimmt das System beim Bootprozess typischerweise in dem Moment, wo der BIOS-Bootloader erfolgreich war und alle Systeminitialisierungen des BIOS abgeschlossen sind.

Der Kernel ist ein Betriebssystemkern und darf nicht als das eigentliche Betriebssystem verstanden werden. Dieses setzt sich aus dem Kern und weiteren grundlegenden Bibliotheken und Programmen (die den Computer erst bedienbar machen) zusammen.

Siehe auch: Gerätenamen unter Linux, Network Block Device, Netfilter, Linux (Betriebssystem)

Architektur

Anwenderprogramme (z.B. Textverarbeitung, Tabellenkalkulation oder Browser) User Mode
Complex Libraries (GLib, GTK+, Qt, SDL, EFL)
Simple Libraries sin, opendbm
C-Standard-Bibliothek: glibc open, exec, sbrk, socket, fopen, calloc
Systemaufrufe TRAP, CALL, BRK, INT (je nach Hardware) Kernel Mode
Kernel (Gerätetreiber, Prozesse, Netzwerk, Dateisystem)
Hardware (Prozessor(en), Speicher, Geräte)

Linux ist ein monolithischer Kernel. Die Treiber im Kernel und die Kernel-Module laufen im privilegierten Modus (x86: Ring 0), haben also unbeschränkten Zugriff auf die Hardware. Einige wenige Module des Kernels laufen im eingeschränkten Benutzermodus (x86: Ring 3). Die Level 1 und 2 der x86-Architektur werden von Linux nicht genutzt, da sie auf vielen anderen Architekturen nicht existieren und der Kernel auf allen unterstützten Architekturen im Wesentlichen gleich funktionieren soll.

Nahezu jeder Treiber kann auch als Modul zur Verfügung stehen und vom System dann dynamisch nachgeladen werden. Ausgenommen davon sind Treiber, die für das Starten des Systems verantwortlich sind, bevor auf das Dateisystem zugegriffen werden kann. Man kann allerdings den Kernel so konfigurieren, dass ein Cramfs- oder Initramfs-Dateisystem vor dem tatsächlichen Root-Dateisystem geladen wird, welches die weiteren für den Startprozess notwendigen Module enthält. Dadurch kann die Kernelgröße verringert und die Flexibilität drastisch erhöht werden.

Im System laufende Programme bekommen wiederum vom Kernel Prozessorzeit zugewiesen. Jeder dieser Prozesse erhält einen eigenen, geschützten Speicherbereich und kann nur über Systemaufrufe auf die Gerätetreiber und das Betriebssystem zugreifen. Die Prozesse laufen dabei im Benutzermodus (user mode), während der Kernel im Kernel-Modus (kernel mode) arbeitet. Die Privilegien im Benutzermodus sind sehr eingeschränkt. Abstraktion und Speicherschutz sind nahezu vollkommen, ein direkter Zugriff wird nur sehr selten und unter genau kontrollierten Bedingungen gestattet. Dies hat den Vorteil, dass kein Programm z. B. durch einen Fehler das System zum Absturz bringen kann.

Linux stellt wie sein Vorbild Unix eine vollständige Abstraktion und Virtualisierung für nahezu alle Betriebsmittel bereit (z. B. virtueller Speicher, Illusion eines eigenen Prozessors usw.).

Die Tatsache, dass Linux nicht auf einem Mikrokernel basiert, war Thema eines berühmten Flame Wars zwischen Linus Torvalds und Andrew S. Tanenbaum. Anfang der 1990er Jahre, als Linux entwickelt wurde, galten monolithische Kernels als obsolet (Linux war zu diesem Zeitpunkt noch rein monolithisch). Die Diskussion und Zusammenfassungen sind im Artikel Geschichte von Linux näher beschrieben.

Durch Erweiterungen wie FUSE und durch die zunehmende Verwendung von Kernel-Prozessen fließen mittlerweile auch Mikrokernel-Konzepte ein.

Portierbarkeit

Obwohl Linus Torvalds eigentlich nicht beabsichtigt hatte, einen portierbaren Kernel zu schreiben, hat sich Linux dank des GNU Compilers GCC weitreichend in diese Richtung entwickelt. Es ist inzwischen mit eines der am häufigsten portierten Systeme (nur noch NetBSD läuft auf etwa gleich vielen Architekturen). Das Repertoire reicht dabei von eher selten anzutreffenden Betriebsumgebungen wie dem iPAQ-Handheld-Computer, Digitalkameras oder Großrechnern wie IBMs System z bis hin zu normalen persönlichen Rechnern (PCs).

Obwohl die Portierung auf die S/390 ursprünglich ein vom IBM-Management nicht genehmigtes Unterfangen war (siehe auch: Skunk works), plant IBM auch die nächste IBM-Supercomputergeneration Blue Gene mit einem eigenen Linux-Port auszustatten.

Ursprünglich hatte Torvalds eine ganz andere Art von Portierbarkeit für sein System angestrebt, nämlich die Möglichkeit, freie GPL- und andere quelloffene Software leicht unter Linux kompilieren zu können. Dieses Ziel wurde bereits sehr früh erreicht und macht sicherlich einen guten Teil des Erfolges von Linux aus, da es jedem eine einfache Möglichkeit bietet, auf einem freien System freie Software laufen zu lassen.

Linux läuft gegenwärtig auf den folgenden Architekturen:

Binärschnittstellen der ARM-Architektur

Linux unterstützt zwei verschiedene Binärschnittstellen für ARM-Prozessoren. Die ältere Binärschnittstelle wird mit dem Akronym OABI (old application binary interface) bezeichnet und unterstützt die Prozessorarchitekturen bis einschließlich ARMv4, während die neuere Binärschnittstelle, die mit EABI (embedded application binary interface) bezeichnet wird, die Prozessorarchitekturen ab einschließlich ARMv4 unterstützt. Der bedeutendste Unterschied der Binärschnittstellen in Bezug auf Systemleistung ist die sehr viel bessere Unterstützung von Software-emulierten Gleitkommarechnungen durch EABI.[5]

User Mode Linux

Ein besonderer Port ist das User Mode Linux (UML). Prinzipiell handelt es sich dabei um einen Port von Linux auf sein eigenes Systemcall-Interface. Dies ermöglicht es, einen Linux-Kernel als normalen Prozess auf einem laufenden Linux-System zu starten. Der User-Mode-Kernel greift dann nicht selbst auf die Hardware zu, sondern reicht entsprechende Anforderungen an den echten Kernel durch. Durch diese Konstellation werden „Sandkästen“ ähnlich den virtuellen Maschinen von Java oder den jails von FreeBSD möglich, in denen ein normaler Benutzer Root-Rechte haben kann, ohne dem tatsächlichen System schaden zu können.

µClinux

µClinux ist eine Linux-Variante für Computer ohne Memory Management Unit (MMU) und kommt vorwiegend auf Mikrocontrollern und eingebetteten Systemen zum Einsatz. Seit Linux-Version 2.6 ist µClinux Teil des Linux-Projektes.

Kernel-Versionen

Anzahl der Zeilen des Source-Codes

Auf der Website kernel.org werden alle alten und neuen Kernel-Versionen archiviert. Die dort befindlichen Referenzkernel werden auch als Vanilla-Kernel bezeichnet (von umgangssprachlich engl. vanilla für Standard bzw. ohne Extras im Vergleich zu Distributionskernels). Auf diesem bauen die sogenannten Distributionskernel auf, die von den einzelnen Linux-Distributionen um weitere Funktionen ergänzt werden. Die Kernel-Version des geladenen Betriebssystems kann mit dem Befehl uname -r abgefragt werden.

Versionsnummern-Schema

Die frühen Kernelversionen (0.01 bis 0.99) hatten noch kein klares Nummerierungsschema. Version 1.0 sollte die erste „stabile“ Linux-Version werden. Beginnend mit Version 1.0 folgen die Versionsnummern von Linux einem bestimmten Schema:

Die erste Ziffer wird nur bei grundlegenden Änderungen in der Systemarchitektur angehoben. Während der Entwicklung des 2.5er Kernels kam wegen der relativ grundlegenden Änderungen, verglichen mit dem 2.4er Kernel, die Diskussion unter den Kernel-Programmierern auf, den nächsten Produktionskernel als 3.0 zu deklarieren. Torvalds war aber aus verschiedenen Gründen dagegen, sodass der resultierende Kernel als 2.6 bezeichnet wurde.

Die zweite Ziffer gibt das jeweilige „Majorrelease“ an. Bisher wurden stabile Versionen (sogenannte Produktionskernel) von den Entwicklern stets durch gerade Ziffern wie 2.2, 2.4 und 2.6 gekennzeichnet, während die Testversionen (sogenannte Entwicklerkernel) immer ungerade Ziffern trugen, wie zum Beispiel 2.3 und 2.5; diese Trennung ist aber seit Juli 2004 ausgesetzt, es gab keinen Entwicklerkernel mit der Nummer 2.7, stattdessen wurden die Änderungen laufend in die 2.6er-Serie eingearbeitet.

Zusätzlich bezeichnet eine dritte Zahl das „Minorrelease“, das die eigentliche Version kennzeichnet. Werden neue Funktionen hinzugefügt, steigt die dritte Zahl an. Der Kernel wird damit zum Beispiel mit einer Versionsnummer wie 2.6.7 bestimmt.

Um die Korrektur eines schwerwiegenden NFS-Fehlers schneller verbreiten zu können, wurde mit der Version 2.6.8.1 erstmals eine vierte Ziffer eingeführt. Seit März 2005 (Kernel 2.6.11) wird diese Nummerierung offiziell verwendet.[6] So ist es möglich, die Stabilität des Kernels trotz teilweise sehr schneller Veröffentlichungszyklen zu gewährleisten und Korrekturen von kritischen Fehlern innerhalb weniger Stunden in den offiziellen Kernel zu übernehmen – wobei sich die vierte Ziffer erhöht (z. B. von 2.6.11.1 auf 2.6.11.2). Die Minorreleasenummer, also die dritte Ziffer, wird hingegen nur bei Einführung neuer Funktionen hochgezählt.

Im Mai 2011 erklärte Linus Torvalds die nach der Version 2.6.39 kommende Version nicht 2.6.40 sondern 3.0 zu benennen.[7] Als Grund dafür führte er an, dass die Versionsnummern seiner Meinung nach zu hoch wurden. Die Versionsnummer '3' würde gleichzeitig für das dritte Jahrzehnt stehen, welches für den Linux-Kernel mit seinem 20. Geburtstag anfangen wird. Zukünftig wird bei neuen Versionen die zweite Ziffer erhöht und die dritte steht – anstelle wie bisher die 4. – für Bugfixreleases.

Entwicklerversion

Neue Funktionen finden sich im sogenannten -mm Kernel des Kernelentwicklers Andrew Morton und werden anschließend in den Hauptzweig von Torvalds übernommen. Somit werden große Unterschiede zwischen Entwicklungs- und Produktionskernel und damit verbundene Portierungsprobleme zwischen den beiden Serien vermieden. Durch dieses Verfahren gibt es auch weniger Differenzen zwischen dem offiziellen Kernel und den Distributionskernel (früher wurden Features des Entwicklungszweiges von den Distributoren häufig in ihre eigenen Kernels rückintegriert). Allerdings litt 2004/2005 die Stabilität des 2.6er Kernels unter den häufig zu schnell übernommenen Änderungen. Ende Juli 2005 wurde deshalb ein neues Entwicklungsmodell beschlossen, das nach dem Erscheinen der Version 2.6.13 erstmals zur Anwendung kommt: Neuerungen werden nur noch in den ersten zwei Wochen der Kernelentwicklung angenommen, wobei anschließend eine Qualitätssicherung bis zum endgültigen Erscheinen der neuen Version erfolgt.

Pflege der Kernel-Versionen

Während Torvalds die neuesten Entwicklungsversionen veröffentlicht, wurde die Pflege der älteren „stabilen“ Versionen an andere Programmierer abgegeben. Gegenwärtig ist David Weinehall für die 2.0er Serie verantwortlich, Marc-Christian Petersen (zuvor Alan Cox) für den Kernel 2.2, Willy Tarreau (zuvor Marcelo Tosatti) für den Kernel 2.4, Greg Kroah-Hartman und Chris Wright für die aktuellen stabilen Kernel 2.6.x.y(-stable), Linus Torvalds für die aktuellen „normalen“ Kernel 2.6.x, und Andrew Morton für seinen experimentellen -mm-Zweig, basierend auf dem neuesten 2.6.x. Zusätzlich zu diesen offiziellen und über Kernel.org oder einen seiner Mirrors zu beziehenden Kernel-Quellcodes kann man auch alternative „Kernel-Trees“ aus anderen Quellen benutzen. Distributoren von Linux-basierten Betriebssystemen pflegen meistens ihre eigenen Versionen des Kernels und beschäftigen zu diesem Zwecke fest angestellte Kernel-Hacker, die ihre Änderungen meist auch in die offiziellen Kernels einfließen lassen.

Distributions-Kernel sind häufig intensiv gepatcht, um auch Treiber zu enthalten, die noch nicht im offiziellen Kernel enthalten sind, von denen der Distributor aber glaubt, dass seine Kundschaft sie benötigen könnte und die notwendige Stabilität respektive Fehlerfreiheit dennoch gewährleistet ist.

Ausgaben und Geschichte

Zeittafel

Das Schaubild stellt einzelne Ausgaben (amerikanisch-englisch versions) des Linux-Kerns anhand der Erscheinungsdaten auf einer Zeittafel angeordnet dar und soll dem Überblick dienen.

Bis Ausgabe 2.6

Zweig Ausgabe Veröffentlichung[8] Dateien (a) Quellcode-
zeilen
 (b)
Größe
in kB (c)
Bemerkungen
Ältere Version; nicht mehr unterstützt: 0.01 17. September 1991
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
erste Veröffentlichung; startete auf Systemen mit Floppy-Diskettenlaufwerk und 386er-Prozessor, lud dabei die Treiber für das Minix-Dateisystem und eine finnische Tastatur, sowie als einziges Anwendungsprogramm den Befehlszeileninterpreter bash[9]
1.0 Ältere Version; nicht mehr unterstützt: 1.0.0 13. März 1994
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
1.1 Ältere Version; nicht mehr unterstützt: 1.1.0 6. April 1994
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Entwicklungsversion
Ältere Version; nicht mehr unterstützt: 1.1.95 2. März 1995
Vorlage:nts ist VERALTET – siehe dort.
1.2 Ältere Version; nicht mehr unterstützt: 1.2.0 7. März 1995
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
erste Portierungen auf weitere Prozessorarchitekturen, mit Alpha, MIPS und SPARC[10]
Ältere Version; nicht mehr unterstützt: 1.2.13 2. August 1995
Vorlage:nts ist VERALTET – siehe dort.
1.3 Ältere Version; nicht mehr unterstützt: 1.3.0 12. Juni 1995
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Entwicklungsversion mit erster Unterstützung für Mehrprozessorsysteme[10]
Ältere Version; nicht mehr unterstützt: 1.3.100 10. Mai 1996
Vorlage:nts ist VERALTET – siehe dort.
2.0 Ältere Version; nicht mehr unterstützt: 2.0.0 9. Juni 1996
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
erste Unterstützung für symmetrische Mehrprozessorsysteme[10]
Ältere Version; nicht mehr unterstützt: 2.0.40 8. Februar 2004
Vorlage:nts ist VERALTET – siehe dort.
2.1 Ältere Version; nicht mehr unterstützt: 2.1.0 30. September 1996
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Entwicklungsversion
Ältere Version; nicht mehr unterstützt: 2.2.0-pre9 21. Januar 1999
Vorlage:nts ist VERALTET – siehe dort.
2.2 Ältere Version; nicht mehr unterstützt: 2.2.0 26. Januar 1999
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
erste Unterstützung für das Netzwerkprotokoll IPv6 sowie Portierung auf die Plattformen UltraSPARC und PA-RISC[10]
Ältere Version; nicht mehr unterstützt: 2.2.26 24. Februar 2004
Vorlage:nts ist VERALTET – siehe dort.
2.3 Ältere Version; nicht mehr unterstützt: 2.3.0 11. Mai 1999
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Entwicklungsversion
Ältere Version; nicht mehr unterstützt: 2.3.99-pre9 23. Mai 2000
Vorlage:nts ist VERALTET – siehe dort.
2.4 Ältere Version; nicht mehr unterstützt: 2.4.0 4. Januar 2001
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
erste Unterstützung für den Energieverwaltungsstandard ACPI und für den Datenbus USB;[10] letzter gepflegter Zweig vor 2.6[11]
Ältere Version; nicht mehr unterstützt: 2.4.37 2. Dezember 2008
Vorlage:nts ist VERALTET – siehe dort.
Letzte Version war 2.4.37.11 vom 18. Dezember 2010
2.5 Ältere Version; nicht mehr unterstützt: 2.5.0 23. November 2001
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Entwicklungsversion
Ältere Version; nicht mehr unterstützt: 2.5.75 10. Juli 2003
Vorlage:nts ist VERALTET – siehe dort.
2.6 Ältere Version; nicht mehr unterstützt: 2.6.0 18. Dezember 2003
Vorlage:nts ist VERALTET – siehe dort.
neues Versionsschema, dabei wurden die bisherigen Entwicklerzweige durch einen stetigen Entwicklungsprozess ersetzt[10]
→ für alle nachfolgenden Versionen siehe Abschnitt „Versionsgeschichte ab Version 2.6“
Legende:
Alte Version
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Ab Ausgabe 2.6

Bei Betrachtung der zuletzt erschienenen Ausgaben (amerikanisch-englisch versions, siehe Tabelle) erfolgt die Entwicklung einer neuen Kernel-Version in durchschnittlich 82 Tagen. Der Kernel wird hierbei im Durchschnitt um 768 Dateien und 325.892 Quelltextzeilen (englisch Lines of Code) erweitert. Das mit dem Packprogramm gzip komprimierte tar-Archiv (.tar.gz) wächst im Mittel um rund 2 Megabyte mit jeder veröffentlichten Hauptversion.

Ausgabe Veröffentlichung[8] Anzahl der Dateien (a) Quelltext-
zeilen
 (b)
Größe
in kB (c)
Zeitraum
in Tagen (d)
Bemerkungen
Ältere Version; nicht mehr unterstützt: 2.6.20
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
erste Unterstützung für den Virtualisierer KVM[12]
Ältere Version; nicht mehr unterstützt: 2.6.21
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.22
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.23
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.24
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.25
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.26
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.27
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
wurde nachträglich mit Unterstützung für neue Hardware (wie SAS) erweitert;[13]
letzte Ausgabe war 2.6.27.62 vom 17. März 2012
Ältere Version; nicht mehr unterstützt: 2.6.28
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.29
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; nicht mehr unterstützt: 2.6.30
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
USB-3.0-Unterstützung
Ältere Version; nicht mehr unterstützt: 2.6.31
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Ältere Version; noch unterstützt: 2.6.32
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Aktuelle Ausgabe: 2.6.32.61 vom 10. Juni 2013
Ältere Version; nicht mehr unterstützt: 2.6.33
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
bildet die Basis für einen Echtzeit-Zweig;[14]
letzte Ausgabe war 2.6.33.20 vom 7. November 2011[15]
Ältere Version; noch unterstützt: 2.6.34
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Treiber für neuere AMD-Radeon-Bildrechner (Grafikprozessoren und -rechenkerne) sowie von einigen erst Anfang nächsten Jahres erwarteten Rechenwerken von Intel, neue Dateisysteme: LogFS und Ceph;[16] viele Änderungen an den Dateisystemen Btrfs, ext4, NILFS2, SquashFS und XFS,[17] dem SCSI-Subsystem und dem Architektur-Code für ARM-, Blackfin- und MicroBlaze-CPUs;[18] bessere Unterstützung für neue und ältere AMD- und Intel-Chips; größere Umbaumaßnahmen am Nouveau-Treiber für Nvidia-Grafik;[19]
Aktuelle Ausgabe: 2.6.34.14 vom 16. Januar 2013
Ältere Version; nicht mehr unterstützt: 2.6.35
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neu sind unter anderem ein verbesserter Netzwerkdurchsatz, defragmentierbarer Arbeitsspeicher und die Unterstützung für die Turbo-Core-Funktion moderner AMD-Prozessoren;[20] die Unterstützung für die Stromsparfunktionen von Radeon-Bildrechnern wurde verbessert, sowie die neuen H264-Dekodierfunktionen für den Grafikkern in Intels Ironlake-Prozessoren (Ironlake ist der Codename für die „Core i5“-Plattform[21]);[22]
letzte Ausgabe war 2.6.35.13 vom 13. März 2012[23]
Ältere Version; nicht mehr unterstützt: 2.6.36
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neu sind – im auch „Flesh-Eating Bats with Fangs“ (englisch für „Fleischfressende Fledermäuse mit Reißzähnen“) genannten 36er Zweig[24][25] – unter anderem das Sicherheits-Framework AppArmor, die Schnittstelle „LIRC“ (für das in Ausgabe 2.6.35 eingeführte System zur Nutzung von Infrarot-Fernbedienungen) und eine verbesserte Energieverwaltung für Grafikprozessoren;[26] Unterstützung für Echtzeit-Virenscanner;[27]
letzte Ausgabe war 2.6.36.4 vom 17. Februar 2011
Ältere Version; nicht mehr unterstützt: 2.6.37
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neu sind, neben den üblichen zusätzlichen Treibern (u. a. für USB 3.0), eine verbesserte Skalierung und Virtualisierung für Mehrkern-Prozessoren;[28]
letzte Ausgabe war 2.6.37.6 vom 27. März 2011
Ältere Version; nicht mehr unterstützt: 2.6.38
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Unterstützung für die AMD-Radeon-HD-6000-Serie und für AMDs APUs,[29] sowie Verbesserungen für Audio- und Video-Verarbeitung als auch für berührungsempfindliche Bildschirme;[30]
letzte Ausgabe war 2.6.38.8 vom 3. Juni 2011
Ältere Version; nicht mehr unterstützt: 2.6.39
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Unterstützung für das Optimierungs-Werkzeug IP set;[31][32]
letzte Ausgabe war 2.6.39.4 vom 3. August 2011
Ältere Version; noch unterstützt: 3.0
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neues Versionsnummernschema,[33] zudem neue Treiber u. a. für (virtuelle) Netzwerkgeräte und den Fernseh-Standard DVB-T2, sowie allgemein verbesserte Virtualisierung (u. a. durch abschließende Arbeiten an dem Hypervisor Xen) und viele kleine Verbesserungen (wie z. B. Schreib- und Lösch-Optimierungen für Dateisysteme);[34][35]
Aktuelle Ausgabe: 3.0.85 vom 3. Juli 2013
Ältere Version; nicht mehr unterstützt: 3.1
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neu ist u. a. die Unterstützung der Prozessor-Plattform OpenRISC;[36]
letzte Ausgabe war 3.1.10 vom 18. Januar 2012
Ältere Version; noch unterstützt: 3.2
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neu ist u. a. die Unterstützung für die Qualcom-Hexagon-Prozessor-Architektur;[15]
Aktuelle Ausgabe: 3.2.48 vom 29. Juni 2013
Ältere Version; nicht mehr unterstützt: 3.3
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neu ist u. a. die Unterstützung für die Android-Plattform;[37]
letzte Ausgabe war 3.3.8 vom 1. Juni 2012
Ältere Version; noch unterstützt: 3.4
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
neu ist u. a. die Unterstützung der Stromspartechnik RC6;[38][39][40]
Aktuelle Ausgabe: 3.4.52 vom 3. Juli 2013
Ältere Version; nicht mehr unterstützt: 3.5
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
die Unterstützung für die veralteten Netzwerk-Standards Token Ring und Econet wurde entfernt;[41]
letzte Ausgabe war 3.5.7 vom 12. Oktober 2012
Ältere Version; nicht mehr unterstützt: 3.6
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
u. a. wurde die Energiespar- oder Schlaffunktion, für den Bereitschaftsbetrieb und Ruhezustand des gesamten Systems, weiterentwickelt;[42]
letzte Ausgabe war 3.6.11 vom 17. Dezember 2012
Ältere Version; nicht mehr unterstützt: 3.7
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
u. a. NAT für IPv6, Unterstützung für den ARM-64-Bit-Befehlssatz und Ext4-Größenänderungen für Laufwerke die größer sind als 16 Terabyte, größere Veränderungen an den Grafiktreibern für Nvidia-, Intel- und AMD-Grafik und verbesserte Hardware-Unterstützung für Helligkeitsregelung und Stromsparfunktionen von Soundkarten;[43]
letzte Ausgabe war 3.7.10 vom 27. Februar 2013
Ältere Version; nicht mehr unterstützt: 3.8
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
u. a. wurde die Unterstützung für das Dateisystem F2FS eingefügt[44] und die Unterstützung für i386-Prozessoren entfernt;[45] soll als Basis für die nächste Android-Ausgabe dienen;[46]
letzte Ausgabe war 3.8.13 vom 11. Mai 2013
Ältere Version; noch unterstützt: 3.9
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
u. a. wurde die Unterstützung für 32-Bit-Prozessoren der Baureihe HTP (von Meta)[47] sowie ARC 700 (von Synopsys)[48] hinzugefügt und die Treiber für das Dateisystem btrfs um eine erste Unterstützung für Raid 5 und 6 erweitert;[46][49]
Aktuelle Ausgabe: 3.9.9 vom 3. Juli 2013
Aktuelle Version: 3.10
Vorlage:dts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
Vorlage:nts ist VERALTET – siehe dort.
unter anderem Unterstützung für Bewegtbildbeschleuniger (amerikanisch-englisch video acceleration) in Radeon-Rechenwerken (ab der HD-4000-Serie), erste 3D-Unterstützung für KVM und öffentliche 2D-Unterstützung für Nvidias Tegra2 und Tegra3 auf denen später Nvidias ebenso öffentliche 3D-Treiber aufbauen sollen, zudem wurden die Echtzeitfähigkeiten verbessert sowie die Nutzung von schnellen Festspeichern (SSDs) als Zwischenspeicher (Cache) für langsamere herkömmliche Festplattenspeicher;[50][51][52] Unterstützung für die Netzwerkverbindungs- und Datenübertragungstechnik InfiniBand;[53]
Aktuelle Ausgabe: 3.10 vom 30. Juni 2013
Zukünftige Version: 3.11
Vorlage:dts ist VERALTET – siehe dort.
voraussichtliche Freigabe der zswap genannte Erweiterung zur Datenverdichtung (Datenkomprimierung) im Arbeitsspeicher[51]
die Ausgabe (oder Version): 3.11 wird voraussichtlich im Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. aus- und freigegeben
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Aktuelle Vorabversion
Zukünftige Version

Anmerkungen[54][55][56][57]

(a) 
Dateien gezählt mit: find . -type f -not -regex '\./\.git/.*'|wc -l
(b) 
Quelltextzeilen gezählt mit: find . -type f -not -regex '\./\.git.*'|xargs cat|wc -l
(c) 
Größe in kB bezogen auf ein mit gzip komprimiertes tar-Archiv (.tar.gz)[8]
(d) 
Der genannte Entwicklungszeitraum bezieht sich lediglich auf die Zusammenführung bereits entwickelter Programmteile, welche selbst teilweise mehrere Jahre zuvor bis zur Zusammenführung entwickelt wurden.

Neuerungen im Kernel 2.6

Die Kernel-Reihe 2.6 wurde ab Dezember 2001 auf Basis der damaligen 2.4er-Reihe entwickelt und wies umfangreiche Neuerungen auf. Für die Entwicklung war der neue Quelltext übersichtlicher und leichter zu pflegen, während Anwender durch die Überarbeitung des sogenannten Prozess-Schedulers sowie des I/O-Bereiches und von geringeren Latenzzeiten profitierten.[58] Dies wurde durch eine Reihe von Maßnahmen erreicht, die im Folgenden aufgezeigt werden:

Neue Prozess-Scheduler

In einem Multitasking-fähigen Betriebssystem muss es eine Instanz geben, die den Prozessen, die laufen wollen, Rechenzeit zuteilt. Diese Instanz bildet der Prozess-Scheduler. Seit dem Erscheinen von Linux 2.6 wurde mehrfach grundlegend am Scheduler gearbeitet.

Für die ersten Kernel 2.6 war von Ingo Molnár ein gegenüber Linux 2.4 ganz neuer Scheduler konzipiert und implementiert worden, der sogenannte O(1)-Scheduler. Dieser erhielt seinen Namen, weil die relevanten Algorithmen, auf denen der Scheduler basierte, die Zeitkomplexität haben. Dies bedeutet, dass die vom Scheduler für eigene Aufgaben benötigte Prozessorzeit unabhängig von der Anzahl der verwalteten Prozesse bzw. Threads ist. Insbesondere wurde etwa auf das Durchsuchen aller Prozesse nach dem momentan wichtigsten Prozess verzichtet.

Der O(1)-Scheduler arbeitete auch bei sehr vielen Prozessen überaus effizient und benötigte selbst sehr wenig Rechenzeit. Er verwendete prinzipiell zwei verkettete Listen, in denen die Prozesse eingetragen waren, die noch laufen wollten, und diejenigen, die bereits gelaufen sind. Wenn alle Prozesse in der zweiten Liste standen, wurden die Datenfelder getauscht, und das Spiel begann von neuem. Der Scheduler war darüber hinaus so ausgelegt, dass Prozesse, die große Mengen Rechenzeit in Anspruch nehmen wollen, gegenüber interaktiven Prozessen benachteiligt werden, wenn beide zur gleichen Zeit laufen wollen.

Interaktive Prozesse benötigen in der Regel nur sehr wenig Rechenzeit, sind dafür aber sehr zeitkritisch (so will der Benutzer beispielsweise nicht lange auf eine Reaktion der grafischen Oberfläche warten). Der O(1)-Scheduler besaß Heuristiken, um festzustellen, ob ein Prozess interaktiv ist oder die CPU eher lange belegt.

Der interne „Takt“ des Kernels wurde ab dem Kernel 2.6 von 100 auf 1000 Hertz erhöht, das heißt, die kürzestmögliche Länge einer Zeitscheibe beträgt nun eine Millisekunde. Auch hiervon profitieren besonders die interaktiven Prozesse, da sie früher „wieder an der Reihe sind“. Da dies aber zu einer erhöhten CPU-Last und somit zu einem größeren Stromverbrauch führt, entschied man, den Takt ab dem Kernel 2.6.13 auf 250 Hertz voreinzustellen. Bei der Konfiguration des Kernels sind jedoch auch noch die Werte 100, 300 und 1000 Hertz wählbar.

Mit der Kernelversion 2.6.23 wurde im Oktober 2007 der O(1)-Scheduler durch einen sogenannten Completely Fair Scheduler (kurz CFS) ersetzt, der ebenfalls von Ingo Molnár entwickelt wurde. Der CFS als gegenwärtig einziger im Hauptentwicklungszweig verfügbarer Scheduler ist unter den Kernel-Entwicklern teilweise umstritten, da er seinen Schwerpunkt auf Skalierbarkeit auch bei Servern mit vielen Prozessorkernen legt. Entwickler wie Con Kolivas sind der Meinung, dass unter dieser Schwerpunktsetzung sowie einigen Designentscheidungen im CFS die Leistung auf typischen Desktop-Systemen leide.[59]

Präemptiver Kernel

Der Kernel ist ab Version 2.6 in den meisten Funktionen präemptiv, d. h., selbst wenn das System gerade im Kernel-Modus Aufgaben ausführt, kann dieser Vorgang durch einen Prozess aus dem User-Modus unterbrochen werden. Der Kernel macht dann weiter, wenn der Usermodus-Prozess seine Zeitscheibe aufgebraucht hat oder selbst einen neue Zeitplanung (englisch Re-Schedule) anfordert, also dem Zeitplaner (englisch Scheduler) mitteilt, dass er einen anderen Task ausführen kann. Dies funktioniert, bis auf einige Kernel-Funktionen, die atomar (nicht unterbrechbar) ablaufen müssen, sehr gut und kommt ebenfalls der Interaktivität zugute.

Zugriffskontrolllisten

Mit dem Kernel 2.6 werden für Linux erstmals Zugriffskontrolllisten (englisch access control lists) nativ eingeführt. Diese sehr feinkörnige Rechteverwaltung ermöglicht es vor allem Systemadministratoren, die Rechte auf einem Dateisystem unabhängig vom Gruppen- und Nutzermodell zu gestalten und dabei faktisch beliebig viele spezielle Rechte pro Datei zu setzen. Die mangelnde Unterstützung von Zugriffskontrolllisten von Linux wurde vorher als massive Schwäche des Systems im Rahmen der Rechteverwaltung und der Möglichkeiten zur sicheren Konfiguration gesehen.

Die Unterstützung von Zugriffskontrolllisten funktioniert dabei mit den Dateisystemen ext2, ext3, jfs und XFS nativ.

Inotify

Mit dem Kernel 2.6.13 hielt erstmals ein Inotify genannter Mechanismus Einzug in den Kernel. Dieser ermöglicht das permanente Überwachen von Dateien und Verzeichnissen: Wird eines der überwachten Objekte geändert oder ein neues Objekt im Überwachungsraum erschaffen, gibt Inotify eine Meldung aus, die wiederum andere Programme zu definierten Tätigkeiten veranlassen kann. Dies ist insbesondere für Such- und Indexierungsmechanismen der Datenbestände von entscheidender Bedeutung, und ermöglicht erst den sinnvollen Einsatz von Desktop-Suchmaschinen wie Strigi oder Meta Tracker. Ohne eine solche Benachrichtigungsfunktion des Kernels müsste ein Prozess die zu überwachende Datei bzw. den zu überwachenden Verzeichnis in bestimmten Zeitintervallen auf Änderungen überprüfen, was im Gegensatz zu Inotify zusätzliche Performance-Einbußen mit sich brächte.

Weitere wichtige Änderungen

Soweit es möglich ist, wurde in Linux 2.6 die Maximalzahl für bestimmte Ressourcen angehoben. Die Anzahl von möglichen Benutzern und Gruppen erhöhte sich von 65.000 auf über 4 Milliarden, ebenso wie die Anzahl der Prozess-IDs (von 32.000 auf 1 Milliarde) und die Anzahl der Geräte (Major/Minor-Nummern). Weitere leistungssteigernde Maßnahmen betrafen die I/O-Scheduler, das Threading mit der neuen Native POSIX Thread Library und den Netzwerk-Stack, der nun ebenfalls in den meisten Tests O(1) skaliert ist. Außerdem wurde für die Verwaltung der I/O-Gerätedateien das früher genutzte devfs durch das neuere udev ersetzt, was viele Unzulänglichkeiten, wie zum Beispiel ein zu großes /dev/-Verzeichnis, beseitigt. Außerdem kann so eine einheitliche und konsistente Gerätebenennung erfolgen, die beständig bleibt, was vorher nicht der Fall war.

Entwicklungsprozess

Linus Torvalds 2002

Die Entwicklung von Linux liegt durch die GNU General Public License und durch ein sehr offenes Entwicklungsmodell nicht in der Hand von Einzelpersonen, Konzernen oder Ländern, sondern in der Hand einer weltweiten Gemeinschaft vieler Programmierer, die sich hauptsächlich über das Internet austauschen. In vielen Mailinglisten, aber auch in Foren und im Usenet besteht für jedermann die Möglichkeit, die Diskussionen über den Kernel zu verfolgen, sich daran zu beteiligen und auch aktive Beiträge zur Entwicklung zu leisten. Durch diese unkomplizierte Vorgehensweise ist eine schnelle und stetige Entwicklung gewährleistet, die auch die Möglichkeit mit sich bringt, dass jeder dem Kernel Fähigkeiten zukommen lassen kann, die er benötigt.

Eingegrenzt wird dies nur durch die Kontrolle von Linus Torvalds und einigen besonders verdienten Programmierern, die das letzte Wort über die Aufnahme von Verbesserungen und Patches in die offizielle Version haben. Manche Linux-Distributoren bauen auch eigene Funktionen in den Kernel ein, die im offiziellen Kernel (noch) nicht vorhanden sind.

Änderungen der Herkunftskontrolle

Der Entwicklungsprozess des Kernels ist wie der Kernel selbst ebenfalls immer weiterentwickelt worden. So führte der Rechtsprozess der SCO Group um angeblich illegal übertragenen Code in Linux zur Einführung eines „Linux Developer's Certificate of Origin“, das von Linus Torvalds und Andrew Morton bekanntgegeben wurde.[60] Diese Änderung griff das Problem auf, dass nach dem bis dahin gültigen Modell des Linux-Entwicklungsprozesses die Herkunft einer Erweiterung oder Verbesserung des Kernels nicht nachvollzogen werden konnte.

“These days, most of the patches in the kernel don't actually get sent directly to me. That not just wouldn't scale, but the fact is, there's a lot of subsystems I have no clue about, and thus no way of judging how good the patch is. So I end up seeing mostly the maintainers of the subsystem, and when a bug happens, what I want to see is the maintainer name, not a random developer who I don't even know if he is active any more. So at least for me, the _chain_ is actually mostly more important than the actual originator.

There is also another issue, namely the fact than when I (or anybody else, for that matter) get an emailed patch, the only thing I can see directly is the sender information, and that's the part I trust. When Andrew sends me a patch, I trust it because it comes from him – even if the original author may be somebody I don't know. So the _path_ the patch came in through actually documents that chain of trust – we all tend to know the „next hop“, but we do _not_ necessarily have direct knowledge of the full chain.

So what I'm suggesting is that we start „signing off“ on patches, to show the path it has come through, and to document that chain of trust. It also allows middle parties to edit the patch without somehow „losing“ their names – quite often the patch that reaches the final kernel is not exactly the same as the original one, as it has gone through a few layers of people.”

„Zurzeit werden die meisten Patches für den Kernel nicht direkt an mich gesandt. Das wäre einfach nicht machbar. Tatsache ist, dass es eine Menge Untersysteme gibt, mit denen ich überhaupt nicht vertraut bin und ich somit keine Möglichkeit habe zu entscheiden, wie gut der Patch ist. Deshalb läuft es meist darauf hinaus, die Pfleger (Maintainer) des Untersystemes zu treffen. Falls ein Fehler auftritt, will ich den Namen eines Pflegers und nicht irgendeines Entwicklers sehen, von dem ich nicht einmal weiß, ob er noch aktiv ist. Daher ist für mich auf jeden Fall die _Kette_ wichtiger als der tatsächliche Urheber. Auch gibt es ein anderes Problem, nämlich dass ich, falls man mir (oder irgendjemand anderem) einen Patch über E-Mail schickt, einzig die Senderinformation direkt sehen kann, und das ist der Teil, dem ich traue. Wenn Andrew mir einen Patch schickt, vertraue ich dem Patch, weil er von Andrew kommt – auch wenn der eigentliche Urheber jemand ist, den ich nicht kenne. Also belegt tatsächlich der _Weg_, den der Patch zu mir nahm, diese Kette des Vertrauens – wir alle neigen dazu, das jeweils nächste „Glied“ zu kennen, aber _nicht_ unbedingt unmittelbares Wissen über die gesamte Kette zu haben. Was ich also vorschlage ist, dass wir anfangen, Patches „abzuzeichnen“, um den Weg, den sie genommen haben, aufzuzeigen und diese Kette des Vertrauens zu dokumentieren. Das erlaubt es darüber hinaus vermittelnden Gruppen, den Patch zu verändern, ohne dass dabei der Name von jemanden „auf der Strecke bleibt“ – ziemlich oft ist die Patchversion, die letztendlich in den Kernel aufgenommen wird, nicht genau die ursprüngliche, ist sie doch durch einige Entwicklerschichten gegangen.“

Linus Torvalds: Linux-Kernel Archive,[61] 23. Mai 2004

Das Versionskontrollsystem Git

Die Versionskontrolle des Kernels unterliegt dem Programm Git. Dies wurde speziell für den Kernel entwickelt und auf dessen Bedürfnisse hin optimiert. Es wurde im April 2005 eingeführt, nachdem sich abgezeichnet hatte, dass das alte Versionskontrollsystem BitKeeper nicht mehr lange für die Kernelentwicklung genutzt werden konnte.

Lizenzbesonderheiten

Proprietärer Code und Freiheitsbegriff

Die heute von Linus Torvalds herausgegebene Fassung des Kernels enthält proprietäre Objekte in Maschinensprache (BLOBs) und ist daher nicht mehr ausschließlich Freie Software. Richard Stallman bezweifelt sogar, dass sie legal kopiert werden darf, da diese BLOBs im Widerspruch zur GPL stünden und die Rechte aus der GPL daher erlöschen würden.[62] Resultierend daraus rät die Free Software Foundation deshalb dazu, nur BLOB-freie Versionen von Linux einzusetzen, bei denen diese Bestandteile entfernt wurden. Die Macher der Debian-Distribution haben entschieden, dies so zu handhaben.

Der Kernel unter der GPL 2

Die bei GPL-Software übliche Klausel, dass statt der Version 2 der GPL auch eine neuere Version verwendet werden kann, fehlt beim Linux-Kernel.[63] Die Entscheidung, ob die im Juni 2007 erschienene Version 3 der Lizenz für Linux verwendet wird, ist damit prinzipiell nur mit Zustimmung aller Entwickler möglich. In einer Umfrage haben sich Torvalds und die meisten anderen Entwickler für die Beibehaltung der Version 2 der Lizenz ausgesprochen.

Literatur

  • Wolfgang Mauerer: Linux-Kernelarchitektur. Konzepte, Strukturen und Algorithmen von Kernel 2.6. Hanser Fachbuchverlag, München u. a. 2003, ISBN 3-446-22566-8
  • Robert Love: Linux-Kernel-Handbuch. Leitfaden zu Design und Implementierung von Kernel 2.6. Addison-Wesley, München u. a. 2005, ISBN 3-8273-2204-9
Commons: Linux (Kernel) – Album mit Bildern, Videos und Audiodateien

Einzelnachweise

  1. COPYING. Abgerufen am 30. Oktober 2012.
  2. Linus Torvalds kritisiert den zweiten GPLv3-Entwurf. Heise Online, 28. Juli 2006, abgerufen am 30. Oktober 2012.
  3. GNU Linux-libre. Abgerufen am 30. Oktober 2012.
  4. Katherine Noyes: Linux 3.8: Hello 2013, Goodbye 386 Chips. In: Linux News. Linux Foundation, 20. Februar 2013, abgerufen am 14. April 2013 (englisch).
  5. linuxfordevices.com, Why ARM's EABI matters
  6. Thorsten Leemhuis: Neue Kernel-Serie mit Linux 2.6.11.1 gestartet auf heise.de, 7. März 2005
  7. Ankündigungsmail von Version 3.0-rc1
  8. a b c The Linux Kernel Archives. kernel.org, abgerufen am 6. September 2010 (englisch, Versionsübersicht bei kernel.org).
  9. Happy Birthday, Tux – Artikel bei Heise open, vom 25. August 2006
  10. a b c d e f Die Woche: Linux wird 3.0 – Artikel bei Heise open, vom 1. Juni 2011
  11. LKML: Willy Tarreau: Linux 2.4.37.10 + 2.4 EOL plans (englisch) – Mitteilung bei der Linux-Kernel Mailing List, vom 6. September 2010 (Abgerufen am: 16. September 2012)
  12. Die Woche: Xen hat KVM vorbeiziehen lassen – Artikel bei Heise open, vom 16. Juni 2011
  13. Linux-Kernel: Updates für Long-Term-Zweige – Artikel bei Golem.de, vom 4. Mai 2011
  14. Kernel-Log: 2.6.39er-Entwicklung läuft, 33er-Serie wiederbelebt – Artikel bei Heise open, vom 22. März 2011
  15. a b Hauptentwicklungsphase von Linux 3.2 abgeschlossen – Artikel bei Heise online, vom 8. November 2011
  16. Linux 2.6.34: Dateisysteme, Netzwerk – Seite 3 im Artikel bei Heise open, vom 17. Mai 2010
  17. Kernel-Log – Was 2.6.34 bringt (2): Dateisysteme – Artikel bei Heise open, vom 23. April 2010
  18. Kernel-Log: Ceph-Dateisystem in 2.6.34, Kernel- und KVM-Vorträge von den CLT2010 – Artikel bei Heise open, vom 22. März 2010
  19. Kernel-Log – Was 2.6.34 bringt (3): Grafik – Artikel bei Heise open, vom 5. Mai 2010
  20. Entwicklung von Linux 2.6.35 läuft an – Artikel bei Heise online, vom 31. Mai 2010
  21. Spotlight: Platform Technology (englisch) – Archivseite beim Intel Software Network, vom 2. August 2010
  22. Eine Flut neuer Stable-Kernel und ein Ausblick auf Linux 2.6.35 – Artikel bei Heise online, vom 6. Juli 2010
  23. Announcement of 2.6.35.14 (englisch) – Announcement in der LKML, vom 1. August 2011, abgerufen am 7. Mai 2012
  24. Der Oktober im Kernelrückblick – Blog-Artikel von Mathias Menzer bei HKN, von Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. (Abgerufen am: Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.)
  25. Die Neuerungen von Linux 2.6.36 – Artikel bei Heise open, vom 21. Oktober 2010
  26. Kernel-Log: 2.6.36, neue Stable-Kernel, frische Treiber – Artikel bei Heise open, vom 11. August 2010
  27. Hauptentwicklungsphase des Linux-Kernels 2.6.36 abgeschlossen – Artikel bei Heise online, vom 16. August 2010
  28. Hauptentwicklungsphase des Linux-Kernel 2.6.37 abgeschlossen – Artikel bei Heise online, vom 1. November 2010
  29. Kernel-Log: Wunderpatch integriert, verbesserte Grafiktreiber am Start – Artikel bei Heise open, vom 7. Januar 2011
  30. Kernel-Log – Was 2.6.38 bringt (6): Treiber – Artikel bei Heise open, vom 9. März 2011
  31. Kernel-Log: Erster Release Candidate von Linux 2.6.39 – Artikel bei Heise open, vom 30. März 2011
  32. Die Neuerungen von Linux 2.6.39 – Artikel bei Heise open, vom 19. Mai 2011
  33. Erste Vorabversion von Linux 3.0 erschienen – Artikel bei Heise online, vom 30. Mai 2011
  34. Kernel: Linux 3.0 ist fertig – Artikel bei Golem.de, vom 22. Juli 2011
  35. Linux-Kernel 3.0 freigegeben – Artikel bei Heise online, vom 22. Juli 2011
  36. Kernel-Log – Was 3.1 bringt (3): Architektur, Infrastruktur, Virtualisierung – Artikel bei Heise open, vom 17. September 2011
  37. Android-Treiber sollen in Kernel 3.3 einfließen – Artikel bei Heise open, vom 23. Dezember 2011
  38. Sandy Bridge: Stromsparoption RC6 in Linux-Kernel funktionstüchtig – Artikel bei Golem.de, vom 15. Februar 2012 (Abgerufen am: 21. Mai 2012)
  39. Kernel-Log – Was 3.3 bringt (4): Treiber – Artikel bei Heise open, vom 8. März 2012 (Abgerufen am: 21. Mai 2012)
  40. Die Neuerungen von Linux 3.4 – Artikel bei Heise open, vom 21. Mai 2012 (Abgerufen am: 21. Mai 2012)
  41. Kernel-Log – Was 3.5 bringt (1): Netzwerk – Artikel bei Heise open, vom 25. Juni 2012 (Abgerufen am: 27. Juni 2012)
  42. Kernel-Log: Entwicklung von Linux 3.6 läuft – Artikel bei Heise open, vom 2. August 2012 (Abgerufen am: 25. Juli 2012)
  43. Die Neuerungen von Linux 3.7 – Artikel bei Heise open, vom 11. Dezember 2012 (Abgerufen am: 13. Dezember 2012)
  44. Kernel-Log – Was 3.8 bringt (1): Dateisysteme und Storage – Artikel bei Heise open, vom 21. Januar 2013 (Abgerufen am: 16. Februar 2013)
  45. Kernel-Log – Was 3.8 bringt (2): Infrastruktur – Artikel bei Heise open, vom 8. Februar 2013 (Abgerufen am: 16. Februar 2013)
  46. a b Linux Kernel: Torvalds schließt Merge-Fenster für Linux 3.9 – Artikel bei Golem.de, vom 4. März 2013 (Abgerufen am: 6. März 2013)
  47. Meta SoC Processors (englisch) – Seite bei Imagination Technologies (Abgerufen am: 7. März 2013)
  48. DesignWare ARC 700 Processor Core Family (englisch) – Seite bei Synopsys (Abgerufen am: 7. März 2013)
  49. Linux-Kernel 3.9 tritt in die Testphase ein – Artikel bei Pro-Linux, vom 4. März 2013 (Abgerufen am: 7. März 2013)
  50. Kernel-Log – Was 3.10 bringt (4): Treiber – Artikel bei Heise open, vom Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. (Abgerufen am: Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.)
  51. a b Die Neuerungen von Linux 3.10 – Artikel bei Heise open, vom Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. (Abgerufen am: Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.)
  52. Linux Kernel 3.10 tickt ein wenig weniger – Artikel bei Golem.de, vom Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. (Abgerufen am: Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.)
  53. Die Neuerungen von Linux 3.9: [..] Was 3.10 bringt – Artikel (Seite 3 von 3) bei Heise open, vom 29. April 2013 (Abgerufen am: 29. April 2013)
  54. Thorsten Leemhuis: Die Neuerungen von Linux 2.6.25. Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels. Heise online, 17. April 2008, S. 6, abgerufen am 28. September 2010.
  55. Thorsten Leemhuis: Die Neuerungen von Linux 2.6.31. Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels. Heise online, 10. September 2009, S. 6, abgerufen am 28. September 2010.
  56. Thorsten Leemhuis: Die Neuerungen von Linux 2.6.38. Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels. Heise online, 15. März 2011, S. 8, abgerufen am 15. März 2011.
  57. Thorsten Leemhuis: Die Neuerungen von Linux 3.0. Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels. Heise online, 22. Juli 2011, S. 4, abgerufen am 25. Juli 2011.
  58. Dr. Oliver Diedrich: The Next Generation – Linux 2.6: Fit für die Zukunft in der c't 24/2003, Seite 194
  59. Artikel im Linux-Magazin zu Problemen des Completely Fair Schedulers
  60. Pressemitteilung OSDL: Developer's Certificate of Origin, 2004
  61. Linux-Kernel Archive: [RFD] Explicitly documenting patch submission, 23. Mai 2004
  62. Linux, GNU, and freedom (englisch) – Seite beim GNU-Projekt; Stand: 12. April 2009
  63. Linus Torvalds: GPL V3 and Linux – Dead Copyright Holders. 25. Januar 2006, abgerufen am 24. März 2009 (Nachricht auf der Linux-Kernel-Mailingliste).