4 ms·
Very interesting. I couldn't find a high-level overview of how they're approaching this though. It seems like they might be re-implementing some Linux APIs, but
by naasking 3y ago
Very interesting. I couldn't find a high-level overview of how they're approaching this though. It seems like they might be re-implementing some Linux APIs, but I have the impression that it runs all those APIs in a single process, like hosting a UNIX or Linux kernel as a guest OS, which would be a fairly large TCB. Is there a reference document that describes the system architecture in more detail? Their handbook is a little thin on details.
- snvzz 3y agoI agree such a document would be helpful. However, there's a talk[0] from three years ago. I would imagine the architecture has changed since then. 0. https://www.youtube.com/watch?v=BzwpdOpNFpQ https://www.youtube.com/watch?v=BzwpdOpNFpQ
- naasking 3y agoThis was the best I found: https://docs.managarm.org/handbook/sys-arch/thoreir/index.html https://docs.managarm.org/handbook/sys-arch/thoreir/index.ht... So as I suspected, posix-subsystem is a single process that provides the POSIX support for all other process, so it's a single point of failure: https://docs.managarm.org/handbook/sys-arch/posix/index.html https://docs.managarm.org/handbook/sys-arch/posix/index.html It's interesting that they have some kind of subsystem to run code in kernel space too, very against typical microkernel thinking for isolation/safety reasons.
- snvzz 3y agofrom the documentation, it is not clear to me what shape the posix subsystem has. It might be a library. thor seems to be an actual "bottleneck".