Glossar

ABI (Application Binary Interface)
Schnittstelle auf Maschinenebene: welche Register Argumente tragen, wie Datenstrukturen im Speicher liegen usw. Die Systemaufruf-ABI von Linux bleibt stabil.
Ausnahme (Exception)
Von der CPU selbst ausgelöste Unterbrechung als Folge des gerade ausgeführten Befehls, etwa ein Seitenfehler oder eine Division durch null.
Benutzermodus
Eingeschränkter Betriebsmodus der CPU für Anwendungen. Privilegierte Befehle lösen eine Ausnahme aus. Auf x86 Ring 3.
Copy-on-Write (CoW)
Technik, bei der mehrere Nutzer zunächst dieselbe Speicherseite verwenden. Erst wenn einer schreibt, erhält er eine eigene Kopie. Macht fork() schnell und spart Speicher.
EEVDF
Earliest Eligible Virtual Deadline First: seit Linux 6.6 der Algorithmus für normale Tasks. Unter den Tasks, die noch CPU-Zeit „gut haben“, läuft der mit der frühesten virtuellen Deadline.
errno
Variable der C-Bibliothek (pro Thread), in der die Fehlerursache des letzten fehlgeschlagenen Aufrufs steht, z. B. ENOENT für „Datei nicht gefunden“.
GPLv2
GNU General Public License, Version 2 – die Lizenz des Linux-Kernels. Veränderte Versionen müssen bei Weitergabe ebenfalls im Quellcode verfügbar gemacht werden.
Huge Page
Speicherseite, die größer als die Standardgröße ist, auf x86-64 2 MiB oder 1 GiB. Spart Einträge in Seitentabellen und im TLB.
initramfs
Kleines Dateisystem-Archiv, das der Bootloader zusammen mit dem Kernel lädt. Der Kernel entpackt es in den RAM und startet daraus das erste Programm (/init), das das echte Root-Dateisystem vorbereitet.
Interrupt
Signal eines Geräts (oder der CPU selbst), das den laufenden Code unterbricht, damit der Kernel ein Ereignis behandeln kann.
KASLR
Kernel Address Space Layout Randomization: Der Kernel wird bei jedem Start an eine zufällige Adresse geladen, damit Angreifer die Lage von Kernel-Code nicht vorhersagen können.
Kernel-Modul
Zur Laufzeit ladbarer Teil des Kernels (Datei mit Endung .ko), meist ein Gerätetreiber oder Dateisystem.
Kernel-Thread
Task, der ausschließlich im Kernelmodus läuft und keinen eigenen User-Space-Adressraum hat. In ps erscheint er in eckigen Klammern, z. B. [kworker/0:1].
Kernelmodus
Privilegierter Betriebsmodus der CPU, in dem alle Befehle und der gesamte Speicher zugänglich sind. Auf x86 Ring 0.
Kontextwechsel
Umschalten der CPU von einem Task auf einen anderen: Register, Stack und ggf. Adressraum werden ausgetauscht.
LTS (Longterm Support)
Kernel-Version, die über mehrere Jahre mit Fehlerkorrekturen und Sicherheitsupdates versorgt wird – in der Regel die letzte Version eines Kalenderjahres.
MMU (Memory Management Unit)
Hardware-Baustein der CPU, der virtuelle in physische Adressen übersetzt und dabei Zugriffsrechte prüft.
nice-Wert
Zahl von −20 bis 19, die die Priorität eines normalen Tasks beeinflusst. Höhere Werte bedeuten „netter zu anderen“, also weniger CPU-Anteil. Jede Stufe ändert den Anteil um etwa 10 %.
OOM-Killer
Notmechanismus des Kernels: Lässt sich trotz aller Maßnahmen kein Speicher mehr freimachen, beendet er gezielt einen Prozess, meist den mit dem größten Speicherverbrauch.
Page Cache
Teil des Arbeitsspeichers, in dem der Kernel Dateiinhalte zwischenspeichert, um Zugriffe auf Datenträger zu vermeiden.
PID / TGID
Process ID. Im Kernel hat jeder Task eine eigene PID; alle Threads eines Prozesses teilen sich zusätzlich die Thread Group ID (TGID). Was Programme mit getpid() als „PID“ sehen, ist die TGID.
PID 1 (Init-Prozess)
Der erste Prozess im User Space, heute meist systemd. Er ist Vorfahr aller anderen Prozesse und übernimmt verwaiste Prozesse. Endet er, löst der Kernel eine Panic aus.
PTI (Page Table Isolation)
Schutzmaßnahme gegen die Meltdown-Lücke: Im Benutzermodus ist der Kernel-Speicher nicht in den Seitentabellen eingeblendet, beim Eintritt in den Kernel wird umgeschaltet.
Run-Queue
Warteschlange der lauffähigen Tasks einer CPU (struct rq). Jede CPU hat ihre eigene.
Seite (Page)
Kleinste Einheit, in der die MMU Speicher verwaltet, auf x86-64 meist 4 KiB groß.
Seitenfehler (Page Fault)
Ausnahme, die die MMU auslöst, wenn für eine Adresse kein gültiger Seitentabelleneintrag existiert oder die Rechte nicht passen. Meist kein Fehler, sondern Anlass für den Kernel, Speicher bereitzustellen.
Swap
Bereich auf einem Datenträger (oder komprimiert im RAM), in den der Kernel selten benutzte anonyme Speicherseiten auslagert, um Arbeitsspeicher freizumachen.
Systemaufruf (System Call)
Kontrollierter Einsprung aus einem Anwendungsprogramm in den Kernel, um eine privilegierte Dienstleistung anzufordern, z. B. eine Datei zu lesen.
Task
Die Einheit, die der Linux-Scheduler verwaltet. Prozesse und Threads sind für den Kernel gleichermaßen Tasks (struct task_struct).
TLB (Translation Lookaside Buffer)
Kleiner, sehr schneller Cache in der CPU, der kürzlich benutzte Übersetzungen von virtuellen in physische Seitenadressen speichert.
UEFI
Unified Extensible Firmware Interface: moderne Firmware-Schnittstelle, die das klassische BIOS abgelöst hat. Startet Bootloader als EFI-Programme von einer FAT-formatierten EFI-Systempartition.
vDSO
Virtual Dynamic Shared Object: eine kleine, vom Kernel in jeden Prozess eingeblendete Bibliothek, mit der einige Aufrufe (z. B. clock_gettime) ohne Moduswechsel auskommen.
Verdrängung (Preemption)
Der Scheduler entzieht einem laufenden Task die CPU, ohne dass dieser sie freiwillig abgibt, etwa weil ein wichtigerer Task lauffähig geworden ist.
VMA (Virtual Memory Area)
Zusammenhängender Bereich im Adressraum eines Prozesses mit einheitlichen Rechten und gleicher Herkunft, etwa der Code eines Programms, der Heap oder eine eingeblendete Datei (struct vm_area_struct).
Zombie-Prozess
Beendeter Prozess, dessen Exit-Status der Elternprozess noch nicht mit wait() abgeholt hat. Belegt keine Ressourcen außer seinem Eintrag in der Prozesstabelle.