|
|
Log in / Subscribe / Register

Linux microkernel?

Linux microkernel?

Posted Aug 29, 2022 20:08 UTC (Mon) by storner (subscriber, #119)
Parent article: Crash recovery for user-space block drivers

The first Linux development was announced 31 years ago. And one reason for starting it was that Linus didn't like MINIX - among other things due to its microkernel architecture performance issues.

I don't want to reignite that discussion, but it feels like Linux is becoming more and more supportive of a hybrid monolithic/micro kernel design where features are implemented in userspace, with only a minimum of hooks into the "core" kernel to get a reasonable performance.


to post comments

Linux microkernel?

Posted Aug 30, 2022 0:32 UTC (Tue) by developer122 (guest, #152928) [Link]

There's a lot more to the performance issues of minix and mach than just being microkernels. This came up during oxide's twitter space over their own microkernel OS [1] and the references are in the shownotes [2], but I think it was the creator of L4 who came out and said "yeah, IPC is slow...if you do it wrong!" Certainly as iouring and various shared memory approaches demonstrate, the IPC can indeed be quite fast.

[1] https://www.youtube.com/watch?v=cypmufnPfLw around 37:20 according to the shownotes
[2] https://github.com/oxidecomputer/twitter-spaces/blob/mast...

Linux microkernel?

Posted Aug 30, 2022 0:45 UTC (Tue) by dvdeug (subscriber, #10998) [Link] (2 responses)

The core is still clearly monolithic. It's very convenient to run things in userspace, and many things can be run perfectly well in userspace; I suspect the difference between reading a filesystem on CD in userspace versus kernel space is nonexistent timewise and usually unnoticable added pressure to the CPU and memory system. Like many modern systems, there's enough power to let people do things the easy, flexible way or the maximally efficient way if they need that.

Linux microkernel?

Posted Aug 30, 2022 5:50 UTC (Tue) by zev (subscriber, #88455) [Link] (1 responses)

there's enough power to let people do things the easy, flexible way or the maximally efficient way if they need that.
Agreed -- I think the general trend is clearly toward increasing flexibility and having the option (for a growing set of things) of either an in-kernel implementation or a userspace one. Though for whatever reason, it seems like whenever a new userspace option pops up the "will Linux become a microkernel?" comments inevitably appear, whereas I can't recall ever seeing the inverse when Linux grows things like (to pick some recent examples) in-kernel TLS support or KSMBD.

Linux microkernel?

Posted Aug 30, 2022 10:09 UTC (Tue) by Wol (subscriber, #4433) [Link]

Anyways, micro-kernel DESIGN brings a lot of advantages. It reduces coupling making maintenance easier for example.

But monolithic IMPLEMENTATION brings a lot of advantages too, not least speed.

That's why Linux has always been a modular system.

Whatever floats your boat, and if pushing stuff into user space brings advantages (which it clearly does in many cases, not least security), go for it!

Cheers,
Wol


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds