Nebulet: microkernel that implements WebAssembly in Ring 0

Nebulet is a microkernel that executes WebAssembly modules instead of ELF binaries. Furthermore, it does so in ring 0 and in the same address space as the kernel, instead of in ring 3. Normally, this would be super dangerous, but WebAssembly is designed to run safely on remote computers, so it can be securely sandboxed without losing performance.

Eventually, once the Cretonne compiler matures, applications running on Nebulet could be faster than their counterparts running on Linux due to syscalls just being function calls, low context-switch overhead, and exotic optimizations that aren’t possible on conventional operating systems.

12 Comments

  1. panzi 2018-05-30 4:15 pm EST
    • galvanash 2018-05-30 5:27 pm EST
    • FlyingJester 2018-05-30 6:13 pm EST
      • Bill Shooter of Bul 2018-05-30 9:11 pm EST
      • cdude 2018-05-31 10:38 am EST
    • Bill Shooter of Bul 2018-05-30 9:14 pm EST
      • cybergorf 2018-06-01 6:50 pm EST
  2. fretinator 2018-05-30 7:47 pm EST
    • jockm 2018-05-31 4:30 am EST
      • fretinator 2018-05-31 11:18 am EST
  3. cybergorf 2018-05-30 8:15 pm EST
  4. kwan_e 2018-05-31 12:15 am EST