3 ms·
What do you mean by "reusable everywhere"? I mean, where could they be used other than in a NetBSD kernel?
by einpoklum 3y ago
What do you mean by "reusable everywhere"? I mean, where could they be used other than in a NetBSD kernel?
- boricj 3y agoAnywhere. There are lots of examples on the topic ; running NetBSD driver code inside NetBSD's user-land is the simplest use-case (https://www.netbsd.org/docs/rump/sptut.html https://www.netbsd.org/docs/rump/sptut.html), but that code is portable without modifications to just about any context possible. Check out Antti Kantee's The Design and Implementation of the Anykernel and Rump Kernels if you want details on the architecture.
- joveian 3y agoGNU Hurd for example. I haven't used it so I'm not sure of the exact status but it sounds like they are using it in some cases to make use of existing drivers in a microkernel style. There have been a few attempts to rumpify Linux but it doesn't seem like any of them succeeded and I'm not sure if anyone is still trying.