Architektur von Linux (Übersicht)

Grundprinzipien

Subsysteme

Dies ist eine logische Einteilung, die von mir stammt und nicht mit der (Un-)Systematik des tatsächlichen Kernel-Quelltextes übereinstimmen muß!

ê Im Prinzip „darf“ jeder Kernelteil auf jeden anderen zugreifen.
è keine exakte Hierarchie!

Es wäre möglich, zwischen diesen Subsystemen eine Abhängigkeitsrelation zu ergründen. Dabei müßte man zwischen den Soll-Abhängigkeiten eines (vielleicht einmal systematisch geplanten Grundsystems) und den Ist- Abhängigkeiten des realen Systems unterscheiden. Das reale System enthält jedoch viele intrusive Abhängigkeiten, z.B. ist es nicht möglich, eine Datenstuktur des zum VFS-Layer gehörenden Buffer Cache zu ändern, ohne sämtliche Gerãtetreiber modifizieren zu müssen (und Gerãtetreiber gibt es sehr viele in Linux, die Größenordnung geht bald in die Hunderte). Es ist im Linux-Kernel gang und gäbe, daß die interne Realisierung von Datenstrukturen z.B. eines Low-Level-Subsystems überall in höheren Schichten benutzt wird, im Extremfall sogar fast über den gesamten Kernel-Quelltext verstreut.

Aus diesem Grund habe ich auf das Aufmalen irgendwelcher Architekturbilder verzichtet, die oft in Büchern über den Linux-Kernel zu finden sind.

1Symmetric Multi Processing

1