&gt; <i>a) use an extremely restricted system call API to enforce separation between processes b) have my processes be VMs for memory-safe languages for safety c) not implement a user&#x2F;kernel mode distinction within a single application because it&#x27;s just overhead at that point.</i><p>But the second two points are already covered by just writing an application and <i>not</i> running it in a virtual machine. Remember, your VMs are already running on an OS.<p>And the first -- I&#x27;m not convinced that qemu and x86 is all that much more restricted than a well jailed process. Given the complexity of the PC, and the number of critical Xen&#x2F;KVM&#x2F;... vulnerabilities, it certainly isn&#x27;t trivial to emulate securely.<p>Note, there is one advantage to unikernels, and that&#x27;s lower overhead access to network hardware than you get with the socket API. This advantage is also available with netmap.