On Fri, 2003-09-19 at 02:51, Boudewijn Visser wrote:
Hm, voor zo ver ik de verschillen begrepen heb is het cruciale onderscheid tussen micro en monolitische kernels veel meer kernel-space vs userland, en is het in meer of mindere mate pre-emtible zijn van de kernel geen criterium. [zoek zoek zoek... term micro kernel heeft een hoop betekenissen, maar Bill Stallings noemt ook kernel vs user, en het naar userland brengen van dingen als device drivers, vmm, filesystems etc. als de typische microkernel kenmerken.]
Klopt. Maar daar komt bij dat de meeste van deze processen automatisch pre-emptible worden, iets dat je moet emuleren in een monolithische kernel. Zolang een monolithische kernel klein is, is dat geen probleem. Maar met het huidige groeitempo van de Linux kernel begint het een beetje eng te worden. Ik vind het erg vervelend als mijn webcam driver (loadable module) mijn hele systeem laat hangen. Ik zou het veel minder erg vinden als het een user process was dat verdween terwijl ik lekker kon doorwerken.
Er zijn trouwens genoeg voorbeelden van prima werkende (en presterende) microkernels: AmigaOS, FreeBSD, JunOS, Darwin.
Blup ? FreeBSD een microkernel ?
Sorry, het was laat, ik had hoofdpijn en de crackpijp lag binnen handbereik. %-} Fuggeddabout BSD en JunOS (hoewel de splitsing van control plane en forwarding plane naar mijn mening microtrekjes vertoont, maar net als kaas is dat heel persoonlijk). Eigenlijk zijn alleen QNX en Darwin nog serieuze kandidaten en ik ben benieuwd waar OpenBeOS (NewOS) naar toe gaat.
Dat is 1 van Linus' argumenten (theorie vs praktijk ) ;-) Tsja, mijn oude C128 is ook een Turing machine (en boot een stuk sneller dan al z'n opvolgers), maar er zijn toch wel wat redenen waarom ik sommige Turing machine & programma verkies boven andere ....
Precies. Als 't doet wat ik wil gebruik ik het. Als het stuk gaat zoek ik wat anders. Dat geldt voor zowel auto en fiets als OS. Steven