Remix.run Logo
ahartmetz 2 days 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 2 days ago | parent | next [-]

Yes, 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 a day ago | parent [-]

Unfortunately Fuchsia seems all but dead these days

lproven a day ago | parent | prev [-]

What 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/

Rochus 11 hours ago | parent | next [-]

I spent a lot of time with Minix 3 (see 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/Volume... or 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.

ahartmetz a day ago | parent | prev [-]

The 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.