4 ms·
There are two notable projects here: L4Re is a (reasonably) portable L4 userspace environment and has a large collection of ported libraries (e.g. zlib etc).
by als0 8y ago
There are two notable projects here:
L4Re is a (reasonably) portable L4 userspace environment and has a large collection of ported libraries (e.g. zlib etc).
Fiasco is the L4 microkernel they have developed for many years. It is different to the others because it is written in C++ and heavily object oriented. It also has concurrency in the kernel unlike simple systems like seL4, although at a complexity cost.
As a side note, these guys also develop L4Linux: a paravirtualized mod of Linux that runs on top of L4 as a task. This enables more realtime tasks to run alongside Linux. Kudos to these guys and their projects.
- microcolonel 8y agoI think there is a lot of promise in pulling mature components from Linux, OpenBSD, and Solaris/Illumos (or whoever does SunOS these days) across that paravirtual barrier, and progressively tailoring them toward the microkernel environment; while testing them using the systems they originate from. Over time, maybe a microkernel could become the basis of most of these former monoliths.
- nickpsecurity 8y agoThe Dresden and Genode folks do it a bit different: just virtaulize the OS as a user-mode application. Then, some add ability to reuse device drivers across VM's to get the drivers specific OS's (esp Linux) support. From there, you can slowly pull code out as standalone or native applications as you described. There's usually middleware (eg Camkes) that lets the standalone code talk to code inside the VM. I'll give Genode as an example of mixing native and VM code. https://genode.org/documentation/general-overview/index https://genode.org/documentation/general-overview/index