Microkernels ?

h2owasser

Sxe Power User
Beiträge
491
So, hab gerade das Buch von Sir Torvalds gelesen. Klasse Teil, muss ich echt sagen! Aber eine Frage ergab sich aus dem Buch, die es mir auch leider nicht von selbst beantwortete:

Linux hat KEINEN Microkernel, wie es aber wohl andere OSs haben. Heist das auch automatisch, das man Treiber immer direkt oder indirekt in den Kernel einkompilieren muss ?!?
Ich meine unter Windows.
-> neue Soundkarte. Diskette. inf-datei. und dann läuft's (manchmal)

In Linux geht das meines Wissens nicht (Auch wenn mehr Hersteller Treiber liefern würden). Liegt das an dem Prinzip des (bewußt) nicht vorhandenen Microkernels von Linux ?

Da bin ich mal gespannt, ob da ein schlauer Student 'ne Antwort drauf findet. *g*


PS. Thema scheint mir am nächsten beim Programmieren zu sein
 
Zuletzt bearbeitet:

JoelH

I love Ruby
Beiträge
653
hmm,

da gab es mal einen Newsgroup streit zwischen diesem Tanenbaum und Linus und durch zufall hab ich ihn gefunden weil ich wissen wollte was der Spruch 'Linux is obsolete' bedeutet hatte. Siehe den Jux im letzten LinuxUser.

=>

http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
 

oenone

Freier Programmierer[Mod]
Beiträge
599
Original geschrieben von h2owasser
Ich meine unter Windows.
-> neue Soundkarte. Diskette. inf-datei. und dann läuft's (manchmal)
meistens noch: neustart, damit treiber beim booten geladen werden...
 

h2owasser

Sxe Power User
Beiträge
491
Re: hmm,

Original geschrieben von JoelH
da gab es mal einen Newsgroup streit zwischen diesem Tanenbaum und Linus und durch zufall hab ich ihn gefunden weil ich wissen wollte was der Spruch 'Linux is obsolete' bedeutet hatte. Siehe den Jux im letzten LinuxUser.

=>

http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html

Naja, Linux scheint ja wohl doch nicht so obsolete zu sein. *g* Übrigens sind Teile aus dieser Diskussion eins zu eins auch im Buch drin.
Doch meine Frage wird ja dadurch nicht wirklich beantwortet. Haben monolithische Kernels zwangsläufig einkompilierte Treiber für die Hardware ?
 

Zaphod

)=-=[MySelf]=-=(
Beiträge
86
Re: Re: hmm,

Original geschrieben von h2owasser


Doch meine Frage wird ja dadurch nicht wirklich beantwortet. Haben monolithische Kernels zwangsläufig einkompilierte Treiber für die Hardware ?

... nö, siehe Linux: Treiber können als dynamisch ladbare Module bei Bedarf geladen und entladen werden ...
 

h2owasser

Sxe Power User
Beiträge
491
Re: Re: Re: hmm,

Original geschrieben von Zaphod


... nö, siehe Linux: Treiber können als dynamisch ladbare Module bei Bedarf geladen und entladen werden ...

aber nur nachdem sie zuvor als dynamisches Modul in den Kernel einkompiliert wurden, oder ?
 

thorus

GNU-Freiheitskämpfer
Beiträge
757
Re: Re: Re: Re: hmm,

Original geschrieben von h2owasser aber nur nachdem sie zuvor als dynamisches Modul in den Kernel einkompiliert wurden, oder ?
wie meinst du das?
du kannst doch dem kernel beliebig module "unterschieben", wie z.B. das NVIDIA-kernelmodul, ohne den kernel neu zu compilieren! aber natürlich muß man das modul für den kernel extra compilieren...

cu
thorus
 

h2owasser

Sxe Power User
Beiträge
491
Re: Re: Re: Re: Re: hmm,

Original geschrieben von thorus

wie meinst du das?
du kannst doch dem kernel beliebig module "unterschieben", wie z.B. das NVIDIA-kernelmodul, ohne den kernel neu zu compilieren! aber natürlich muß man das modul für den kernel extra compilieren...

cu
thorus

Oh, das ist etwas neues für mich. Ich dachte immer, die Treiber müssten schon bei der Kernelkompilierung als module mitkompiliert werden. Danke
 

oenone

Freier Programmierer[Mod]
Beiträge
599
bei der kernelkompilierung werden die module ja auch in einem extra schritt kompiliert... dazu ist das "make modules" da ;)
das kann man genausogut weglassen, nur sind die module in irgendeiner config drin und die wollen dann auch geladen werden... wenn sie nicht vorhanden sind, hagelt es fehler :)

auf bald
oenone
 

tomvomland

Tripel-As
Beiträge
223
Nun ist das aber bei den Modulen eines Monolithischen Kernels so, dass die Module mehr oder weniger genau für die verwendetete Kernel-Version gebaut werden müssen.
Deshalb gibt es von Hardware-Herstellern, die keine Open Source Module anbieten, auch so wenige Linux-Treiber als Binaries.

Das ist bei einem Mikrokernel-OS, wie Windows leichter, weil da gegen eine API programmiert wird, die über mehrere OS-Versionen gleich bleiben kann (Wenn MS so will)
Ich habe mir übrigens mal sagen lassen, dass der Übergang zwischen einem Monolithischen Kernel und einem Mikrokernel fließend wäre.

cu
tom
 
G

Gast1

Gast
Das ist bei einem Mikrokernel-OS, wie Windows leichter, weil da gegen eine API programmiert wird, die über mehrere OS-Versionen gleich bleiben kann (Wenn MS so will)

*Öhm*

Könntest Du das mal genauer erklären, was das explizit mit Microkerneln zu tun haben soll?

AFAIK ist die stabile binäre Treiberschnittstelle das entscheidende Kriterium und nicht der "Kerneltyp", siehe z.B.

http://www.pro-linux.de/news/2006/9468.html

Ich lasse mich da aber gerne korrigieren.

Nachtrag:

Wohlgemerkt, es geht mir nur darum, ob das wirklich bei einem monolithischen Kernel prinzipiell unmöglich ist, daß es -falls es möglich wäre- mit Sicherheit mehr Aufwand ist und dem Entwicklungsmodell von Linux (gibt ja noch andere monolithische Kernel) widersprechen würde, steht auf einem anderen Blatt.

Greetz,

RM
 
Zuletzt bearbeitet von einem Moderator:
G

Gast1

Gast
*ARGL*

Asche über mein Haupt. (Suchfunktion schön und gut, aber man sollte sich die Treffer dann erst recht _zweimal ansehen_).

So lasset die Toten ruhen.

AMEN.

Greetz,

RM

P.S. Ich wollte schon immer mal den "Schliemann des Monats" gewinnen.

1. Preis, eine Version dieses Programmes hier:

http://happydigger.nongnu.org/
 
Zuletzt bearbeitet von einem Moderator:
Oben