bk99.de entertain the web since 1997

Datenstrukturen und Algorithmen im Linux-Kernel

Zusammenfassung

Eine kuratierte Übersicht zeigt, wo der Linux-Kernel Bäume, Hashlisten, Heaps, Kompression und Scheduling-Algorithmen praktisch einsetzt.

Ideen

  • Rot-Schwarz-Bäume verwalten geordnete dynamische Mengen.
  • Hashtabellen beschleunigen Schlüsselzugriffe in mehreren Subsystemen.
  • Bitmaps speichern dichte Mengen mit geringem Overhead.
  • Scheduler kombinieren Datenstrukturen mit zeitkritischen Auswahlregeln.

Einsichten

  • Produktionscode zeigt Randfälle, die Lehrbuchimplementierungen auslassen.
  • Datenstrukturen werden nach Lastprofil und Kernelgrenzen gewählt.
  • Allgemeine Algorithmen erhalten domänenspezifische Synchronisierung und Speicherverwaltung.

Fakten

  • Der Kernel stellt generische Listen- und Baumhilfen bereit.
  • CFS verwendet einen Rot-Schwarz-Baum.
  • Kernelquellen enthalten mehrere Kompressionsalgorithmen.

Empfehlungen

  • Lies Aufrufer gemeinsam mit der Datenstrukturimplementation.
  • Prüfe Sperr- und Lebensdauerregeln vor Änderungen.

Referenzen

Originalartikel lesen →