4 ms·
There exist several microkernels that don't suffer much from overhead, it's not hypothetical but decades old technology, from oldest to newest: QNX, the L4 fami
by ahartmetz 3mo ago
There exist several microkernels that don't suffer much from overhead, it's not hypothetical but decades old technology, from oldest to newest: QNX, the L4 family, Fuchsia, RedoxOS.
- adrian_b 3mo agoYes, but they remain confined to niche applications because none of them has been designed to be incorporated in a framework that would allow the gradual migration to them of the legacy applications and device drivers. Only Fuchsia might have a chance, because of the disproportionate control that Google has over the Android applications and because of the constraints imposed on those.
- vsgherzi 3mo agoUnfortunately Fuchsia seems all but dead these days
- ahartmetz 3mo agoFine by me. Technology-wise, it doesn't seem to do anything cool that hasn't been done before, and its business goals seem to be to get rid of that pesky GPL2 licensed stuff and to introduce a stable ABI for drivers (i.e. no accidental drivers for "real Linux" because of Android anymore).
- lproven 3mo agoWhat about Minix 3? Probably the most widely deployed microkernel ever: it's inside every Intel CPU for the last ~20 years. Already has a mostly-working port of the NetBSD userland. It was shaping up quite well until Andy Tanenbaum retired. Since then, nothing. Of course, Intel has never released any of its code, which is terrible -- but legal and license-compliant. https://www.osnews.com/story/136174/minix-is-dead/ https://www.osnews.com/story/136174/minix-is-dead/
- ahartmetz 3mo agoThe reason why I omitted Minix is that I don't know about its performance characteristics. Same for TRON / eTRON which is or used to be huge in the Japanese industry.
- Rochus 3mo agoI spent a lot of time with Minix 3 (see https://github.com/rochus-keller/Minix3/tree/Minix3_Book_TCC https://github.com/rochus-keller/Minix3/tree/Minix3_Book_TCC). The intention was to make the book version compile with TCC. It turned out that this version only covers a fraction of the relevant parts necessary to build a working system. Minix 3 in addition includes hundereds of assembly files. The impression created by the book of a lean C implemented kernel, or the claim "for compiling a small Minix system" are wrong. Not even the kernel is complete; the central IPC is actually implemented in assembler and linked with the kernel via some library not described in the book. Concerning performance: studies suggest that Minix 3 is significantly slower (10 to > 100 times) than L4 and even Linux (see e.g. https://www.cscjournals.org/download/issuearchive/IJE/Volume5/IJE_V5_I4.pdf https://www.cscjournals.org/download/issuearchive/IJE/Volume... or https://www.minix3.org/theses/priescu_thesis_2012.pdf https://www.minix3.org/theses/priescu_thesis_2012.pdf). Concerning "inside every Intel CPU": we actually don't know which version that was supposed to be and how much it was modified.
- lproven 3mo agoWow! Thank you for this. I had no idea -- except for the performance delta, which does not surprise me at all.