Remix.run Logo
yjftsjthsd-h 2 days ago

If there was a usable microkernel, then its filesystems would almost certainly be implemented in userspace; that's kinda the point of a microkernel. I can't speak to how Darwin does things, but I will point out that Linux and the BSDs have filesystems as userspace processes courtesy of FUSE; in their architecture that has a performance hit (caused by the context switching needed, I believe recently improved by use of io_uring), but it is a worked example of what you want.

betaby 2 days ago | parent [-]

I'm aware of FUSE and used NTFS driver though it back then. So we should expect similar performance with microkernels?

yjftsjthsd-h 2 days ago | parent [-]

It depends:) Old microkernels infamously did have awful perf because they took that context switch hit on everything, not just filesystems. I am told, though, that that was solved a long time ago and modern microkernels have fairly good performance. I'm not a kernel dev, though; you'll have to do your own research to get details.