Hallo,
ich brauche ein wenig Klärung der Begriffe generisch und modular in Bezug auf Treiber:
"Generische Treiber sind im Linux-Kernel fest einkompiliert und werden beim Booten immer geladen, während sich modulare Treiber in der initrd befinden und nur bei Bedarf geladen werden."
Kann man das so sagen?
Begriffsklärung: generisch vs. modular
Begriffsklärung: generisch vs. modular
WHEEZY amd64: AMD X2 BE-2400, Nvidia Geforce GT-9800 green
JESSIE amd64: Levono x201 Laptop
JESSIE amd64: Levono x201 Laptop
Re: Begriffsklärung: generisch vs. modular
Nein. Die initrd bzw. initramfs ist schlicht ein Archiv mit Dateien die schon zur Zeit des bootens zur verfügung stehen. Da kann man modulare Treiber reinpacken aber auch irgend welche anderen Programme oder Dateien, von denen man meint dass man sie schon zur zeit des Bootens braucht. (Sei es weil man nicht darauf warten möchte bis das Dateisystem eingehängt ist um sie zu benutzen oder weil man sie schlicht für's debuging oder die Fehlerbehebung haben will wenn das Booten fehlschlägt.) Modulare Treiber können auch ganz ohne initrd genutzt werden. Problematisch wird das nur wenn der Modulare Treiber auf ner HD liegt, die nur genutzt werden kann wenn der Treiber selbst zur Verfügung steht (z.B. Weil es der Treiber für die Festplatte oder das Dateisystem daruaf ist.)
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Begriffsklärung: generisch vs. modular
Okay, aber was ist mit den generischen Treibern? Die werden also beim Systemstart immer geladen?
WHEEZY amd64: AMD X2 BE-2400, Nvidia Geforce GT-9800 green
JESSIE amd64: Levono x201 Laptop
JESSIE amd64: Levono x201 Laptop
Re: Begriffsklärung: generisch vs. modular
Ich bin absichtlich nicht auf die Eigentlcihe Frage eingegangen weil ich mir nicht sicher bin. Aber ich antworte doch mal:
generische Treiber sind Teil des Kernels müssen also gar nicht geladen werden. Sie sind schlicht da und nicht vom Kernel abzugrenzen. Das ist wie der Curser im xterm. Der ist einfach Teil vom Programm.
Zu den Modulen soll jemand anderes was schreiben. Das sind auf jeden fall keine Eigenständigen Programme oder so.
generische Treiber sind Teil des Kernels müssen also gar nicht geladen werden. Sie sind schlicht da und nicht vom Kernel abzugrenzen. Das ist wie der Curser im xterm. Der ist einfach Teil vom Programm.
Zu den Modulen soll jemand anderes was schreiben. Das sind auf jeden fall keine Eigenständigen Programme oder so.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Begriffsklärung: generisch vs. modular
So in etwa stelle ich es mir auch vor. Der Linux-Kernel wird beim Booten mit den enthaltenen "generischen" Treibern in einem Rutsch in den Arbeitsspeicher geladen. Abgrenzungen oder Zusätze sind an dieser Stelle nicht mehr möglich.
Die einzige Möglichkeit, Einfluss auf die generischen Treiber zu nehmen besteht also darin, den Quellcode des Linux-Kernels anzupassen und ihn danach selbst zu kompilieren.
Im kompilierten Zustand, in dem der Kernel bei Systemstart vorliegt, ist kein Einfluss auf in ihm enthaltene Treiber mehr möglich.
Ist es so richtig formuliert?
Die einzige Möglichkeit, Einfluss auf die generischen Treiber zu nehmen besteht also darin, den Quellcode des Linux-Kernels anzupassen und ihn danach selbst zu kompilieren.
Im kompilierten Zustand, in dem der Kernel bei Systemstart vorliegt, ist kein Einfluss auf in ihm enthaltene Treiber mehr möglich.
Ist es so richtig formuliert?
WHEEZY amd64: AMD X2 BE-2400, Nvidia Geforce GT-9800 green
JESSIE amd64: Levono x201 Laptop
JESSIE amd64: Levono x201 Laptop
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: Begriffsklärung: generisch vs. modular
Ich rate mal - sound ist der generische sound-Treiber, egal ob fest oder modular und snd-hda-intel oder snd-cs4236 oder... sind dann die
Hardware-bezogenen Treiber.
Ebenso scsi-support und dann die untergeordneten Gruppen oder
network support und dann ipv4 ipv6, hardware...
Der generische Treiber ist wohl so eine art Oberschicht.
Hardware-bezogenen Treiber.
Ebenso scsi-support und dann die untergeordneten Gruppen oder
network support und dann ipv4 ipv6, hardware...
Der generische Treiber ist wohl so eine art Oberschicht.
- spiralnebelverdreher
- Beiträge: 1298
- Registriert: 23.12.2005 22:29:03
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
Re: Begriffsklärung: generisch vs. modular
Nicht ganz.spaceship hat geschrieben: Die einzige Möglichkeit, Einfluss auf die generischen Treiber zu nehmen besteht also darin, den Quellcode des Linux-Kernels anzupassen und ihn danach selbst zu kompilieren.
Im kompilierten Zustand, in dem der Kernel bei Systemstart vorliegt, ist kein Einfluss auf in ihm enthaltene Treiber mehr möglich.
Ist es so richtig formuliert?
Hab mich vor einigen Jahren mal etwas damit beschäftigt und damals wurde unterschieden zwischen einem monolithischen Kernel und einem modularisierten Kernel.
Der monolithische Kernel enthält alle Treiber direkt und kann keine Module nachladen. Der modulariserte Kernel kann während der Laufzeit zusätzliche Module nachladen - das kann der monolithische Kernel nicht.
Bei jedem Kernel kannst Du zum (Zeitpunkt der Erstellung) Einfluß nehmen
- direkt über den Quellcode sowie
- über Konfigurationsparameter.
Beim modularisierten Kernel kannst Du die nachzuladenden Module ebenfalls über den Quellcode (zum Zeitpunkt der Modulkompilierung) und Konfigurationsdateien beeinflussen - zum Zeitpunkt des Nachladens des Moduls.
Weiterhin kannst Du auch zur Laufzeit noch (begrenzt) Einfluß auf den Kernel nehmen. Dazu dient das /proc Dateisystem. Mit sysctl Befehlen kannst Du den Kernel steuern.