A nano-kernel (nK) a cross between a second boot-loader, and a micro-kernel. The nK does not provide memory isolation or process segregation. It's only role is to bootstrap high-level VMs in kernel space.
A nK serves a special type of system where all programs are JIT compiled by the kernel before execution.
- no context switching – everything runs in CPU ring 0
- no paging – isolation must be provided by the VM, not the hardware
- direct hardware access – programs directly access the hardware
+------------+-------------+--------------+
| js apps | lua apps | dart apps | user space applciations
+------------+-------------+--------------+
| v8 | lua vm | dartvm | various virtual machines
+------------+-------------+--------------+
| v8-binding | lua-binding | dart-binding | bindings/shims to kernel
+------------+-------------+--------------+
| nK kernel api | minimal necessary api to hardware
+-----------------------------------------+
| platform dependent nK | implementation of api (asm, etc)
+-----------------------------------------+
| hardware | x86
+-----------------------------------------+