staging.inyokaproject.org

Kernel, monolitischer - Anfängerfrage

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Winzigweich

Anmeldungsdatum:
8. September 2009

Beiträge: 571

Ich will hier nicht den legendären Streit Stallman Tanenbaum versus Linus (oder so) reaktivieren, habe nur eine Verständnisfrage: Bekannt ist mir, dass der Linux-Kernel immer auch die wichtigsten (populärsten?) Treiber enthält. Aber wird er dadurch nicht ständig größer bzw. unhandlicher? Der Normaluser nutzt doch sicher nur 5 % der Treiber? Da erscheint mir das Microkernel-System einfach logischer: Man holt sich die Treiber, die man konkret benötigt?

Moderiert von prometheus0815:

Ins richtige Forum verschoben. Bitte beachte beim Erstellen neuer Themen die als wichtig markierten Sticky-Threads "Welche Themen gehören hier her und welche nicht?" in jedem Unterforum.

Bearbeitet von prometheus0815:

Überflüssige Zeilenumbrüche entfernt. Bitte überlasse diese unseren Webbrowsern, denn die wissen am besten, wie breit ihr Fenster gerade ist. Verwende mit einer Leerzeile erzeugte Absätze nur, um Deinen Beitrag inhaltlich zu gliedern.

prometheus0815

Anmeldungsdatum:
12. Juni 2006

Beiträge: 7478

Ein moderner Linux-Kernel ist zwar, was die grundlegende Architektur angeht, immer noch ein monolithischer. Alle mir bekannten Distributionen kompilieren aber nur die grundlegendsten Funktionalitäten und Treiber, die praktisch immer benötigt werden, direkt in das Kernel-Image. Treiber für die konkrete Hardware des jeweiligen Rechners, und nur für die, wird eigentlich immer als Modul nachgeladen. Vgl. dazu auch die (Länge der) Ausgabe von

lsmod

Zudem wandern auch immer mehr Treiber aus dem Kernelspace in den Userspace, vgl. etwa FUSE oder CUPS.

Winzigweich

(Themenstarter)

Anmeldungsdatum:
8. September 2009

Beiträge: 571

Dank!

Also kann man sagen, es handelt sich um einen modularisierten monolithischen Kernel. Hab dazu, dank des Stichwortes "lsmod" auch hier etwas leicht verständliches gefunden: http://www.linux-praxis.de/lpic1/lpi102/1.105.1.html.

Nur den letzten Satz habe ich noch nicht verstanden: Kernelspace - Userspace? Ist das nicht dasselbe wie die Modularisierung, d.h. wenn sich der Anwender also ein bestimmtes Modul holt, ist es dann nicht automatisch im Userspace?

prometheus0815

Anmeldungsdatum:
12. Juni 2006

Beiträge: 7478

Winzigweich schrieb:

Also kann man sagen, es handelt sich um einen modularisierten monolithischen Kernel.

Das trifft's ziemlich genau.

Nur den letzten Satz habe ich noch nicht verstanden: Kernelspace - Userspace? Ist das nicht dasselbe wie die Modularisierung, d.h. wenn sich der Anwender also ein bestimmtes Modul holt, ist es dann nicht automatisch im Userspace?

Nein. Kernelmodule laufen ebenfalls im Kernelspace. Das ist ein vom übrigen System abgeschirmter Speicherbereich, auf den normale Anwendungen (auch wenn sie als Root gestartet wurden) oder eben Userspace-Treiber (die aus Sicht des Systems ebenfalls Anwendungen sind) keinen direkten Zugriff haben. Ein Anwender dürfte dort selbst mit Rootrechten niemals etwas direkt hineinschreiben. Definitionen hier.

Masteredu

Avatar von Masteredu

Anmeldungsdatum:
4. November 2008

Beiträge: 211

wenn im userspace z.B ein Programm abstürtzt (CUPS) betrifft das nicht den ganzen Kernel. Wenn allerdings ein Programm im kernelspace (nvidia) abstürtzt, dann kann schon mal eine kernel panic kommen.

Winzigweich

(Themenstarter)

Anmeldungsdatum:
8. September 2009

Beiträge: 571

Danke Prometheus und Masteredu! Ich markier' mal als gelöst.

Antworten |