18 ms·
There is a framework for OCaml for this: https://mirage.io/ https://mirage.io/ So if you are interested in learning OCaml and want a unikernel, this would be a
by ralls_ebfe 3y ago
There is a framework for OCaml for this: https://mirage.io/ https://mirage.io/
So if you are interested in learning OCaml and want a unikernel, this would be a possible path to take.
- JonChesterfield 3y agoOCaml is a good language but perhaps unikernel does not mean what I thought it did: > fully-standalone, specialised unikernel that runs under a Xen or KVM hypervisor. Or maybe xen / kvm are no longer called operating systems? I'm interested in having my code be responsible for thread scheduling and page tables - no OS layer to syscall into - but am not as keen on DIYing the device drivers to get it talking to the rest of the world.
- walterbell 3y agoMirageOS unikernels run directly on Xen, e.g. http://roscidus.com/blog/blog/2016/01/01/a-unikernel-firewall-for-qubesos/ http://roscidus.com/blog/blog/2016/01/01/a-unikernel-firewal... > I replace the [QubesOS] Linux firewall VM with a MirageOS unikernel. The resulting VM uses safe (bounds-checked, type-checked) OCaml code to process network traffic, uses less than a tenth of the memory of the default FirewallVM, boots several times faster, and should be much simpler to audit or extend. NanoVMs has OSS tools for golang unikernels on multiple hypervisors and cloud platforms, https://nanovms.com/dev/tutorials/running-go-unikernels https://nanovms.com/dev/tutorials/running-go-unikernels
- eyberg 3y agoNanos runs not just go but pretty much any language you want to throw at it: https://github.com/nanovms/ops-examples https://github.com/nanovms/ops-examples .
- cmrdporcupine 3y ago> I'm interested in having my code be responsible for thread scheduling and page tables But MirageOS does exactly that, last I looked. As does RustyHermit.
- eru 3y ago> Or maybe xen / kvm are no longer called operating systems? > I'm interested in having my code be responsible for thread scheduling and page tables - no OS layer to syscall into [...] You might be confusing Xen and KVM here? Xen and KVM are rather different in this regard. KVM runs on a full Linux kernel (as far as I know). But running your application as unikernels on top of Xen is more comparable to the old Exokernel concept.