Somewhat related is MirageOS, a microkernel library for producing applications that run directly in a hypervisor, like Xen. So no virtual environment necessary. And thanks to the memory safety of OCaml (given certain assumptions about the style of programming, because any sufficiently versatile language comes with footguns) you don’t even really need the virtual memory system and other conveniences of a modern operating system.
A couple of other interesting articles from the nanos team by way of the /r/unikernel subreddit:<p><a href="https://nanovms.com/dev/tutorials/debugging-nanos-unikernels-with-gdb-and-ops" rel="nofollow">https://nanovms.com/dev/tutorials/debugging-nanos-unikernels...</a><p><a href="https://nanovms.com/dev/tutorials/finding-memory-management-errors-in-nanos" rel="nofollow">https://nanovms.com/dev/tutorials/finding-memory-management-...</a><p><a href="https://nanovms.com/dev/tutorials/profiling-and-tracing-nanos-unikernel" rel="nofollow">https://nanovms.com/dev/tutorials/profiling-and-tracing-nano...</a>
From the FAQs:<p>> Does this Work for My Mac M1 or M2?<p>> No one has reported trying to run this on a Mac M1 or M2 yet but since these run ARM we don't feel that it is a good laptop to be using if you are deploying to X86 servers. At best you will experience slowness as the machines will need to emulate a different architecture. This isn't something we expect software updates to fix and both Docker and VMWare state the same thing. Even if you wish to deploy to ARM servers we don't feel that the M1s and M2s are going to be helpful as they are very different from most commodity ARM servers.<p>Erm... they're not Mac people then...<p>EDIT: I was probably being a bit grumpy - read the full replies below for further context...
It would be great if the picture demo running the node application included timestamps. The landing page keeps using "fast" to mean "bandwidth" but without any mention of latency - my primary question is how long it takes to boot the kernel and start launching the userland process (i.e. cold start time) but there's no mention of that.
See also <a href="https://github.com/direktiv/vorteil" rel="nofollow">https://github.com/direktiv/vorteil</a><p>The above also wrote a Uni kernel but it seems they abandoned that as was too large a problem and just link and package now
Whats the difference to OSv?<p><a href="https://github.com/cloudius-systems/osv" rel="nofollow">https://github.com/cloudius-systems/osv</a>
Mmm. Fascinating ... am wondering already how well the JVM would run on it. Also maybe this could the solution I've been looking for for "Just enough OS for Virtualbox" and have it run on baremetal. VBox has one of the best VM management UIs in my opinion.
Cool, so this is a bit like MS-DOS?<p>With the splitting of applications into microservices all running in separate containers this does make a lot of sense again. Why have a full multiuser os running for each process. Will look into this more.