3 ms·
For those that don't know.. Tannenbaum wrote the book on Operating Systems... Well a book. I think his OS Minix[2] is in there. Its on every intel CPU, but I t
by acomjean 8y ago
For those that don't know.. Tannenbaum wrote the book on Operating Systems... Well a book. I think his OS Minix[2] is in there. Its on every intel CPU, but I think that was news to Tannenbaum.
This argument was at its root a "theory" vs. "getting it done" now argument. I think thats why it resonates.
[1]https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/013359162X https://www.amazon.com/Modern-Operating-Systems-Andrew-Tanen...
[2]https://en.wikipedia.org/wiki/MINIX https://en.wikipedia.org/wiki/MINIX
This is a debate about how OS's should be structured. There is some merit to Tanenbaums MicroKernel approach, but ultimately its slower and for an OS that matters, thus Linux being ascendant . Also everywhere gcc was ported could compile and run linux.
Microkernels "lost" but there was a microkernel called "Mach" worked on by Avie Tevanian who went to Next then to Apple. I think OS-X is kinda microkernel based (if they're still using XNU which is loosely based on the mach microkernel.).
https://en.wikipedia.org/wiki/XNU https://en.wikipedia.org/wiki/XNU
I still miss HPUX RTE for PARISC(Real Time Extensions) for sending jobs to specific processors or processor sets, disabling interupts....
If you like OSs. I like the case studies in the dinosaur book: (stupid text-book prices though....)
[4] https://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720 https://www.amazon.com/Operating-System-Concepts-Abraham-Sil...
- _sdegutis 8y agoAfaik, macOS and Windows (and probably all modern kernels) use something halfway between microkernels and monoliths, I think they call it hybrid kernels. The reason being there's benefits to both approaches, so why not both?
- maxlybbert 8y agoBecause you might not like the associated drawbacks. Linux (and the BSDs) have shown that a monolithic kernel can be modular and well-organized. Mach’s descendants, L4, etc. have shown that if you want decent performance you either have to redefine “microkernel” or you have to put in an incredible amount of work to implement your simple design.
- yeahbutbut 8y ago> This basically was at its root a "theory" vs. "getting it done" argument. Because worse is better. https://www.jwz.org/doc/worse-is-better.html https://www.jwz.org/doc/worse-is-better.html
- wink 8y agoI've reread parts of it (2nd edition from 2001) on my vacation the last weeks and at least in the first half of the book there's no mention of microkernel vs Linux - on the other hand, several examples are given "this is how Windows does it, this is how Linux does it" - so there definitely don't seem to be any underhanded sidestabs in there.