WALI: A thin Linux kernel interface for WebAssembly
summary
WALI implements a one-to-one Linux syscall mapping for WebAssembly, forwarding calls from Wasm to the kernel with minimal adaptation and preserving Wasm memory safety. The prototype uses the Wasm Micro Runtime and is about ~2,000 lines of code, passes ~80% of the Linux Test Project, and runs real apps like bash, SQLite and Lua. Typical syscall overhead is a ~120 ns baseline (some ops up to ~500 ns); clone/thread creation spikes to milliseconds. mmap, signals, fork/exec and high‑performance zero‑copy IO are supported.
AI-written summary · about
chapters (21)
- 0:00WALI and WebAssembly intro
- 1:06Why WebAssembly as format
- 5:36Why build WALI
- 8:26Design of the WebAssembly Linux interface
- 10:51Native apps and OS
- 12:16System call patterns
- 14:23Key syscall categories
- 16:09Process and threading
- 17:32WALI and Component Model
- 18:34Memory safety and syscalls
- 21:24Signal handling
- 23:50Testing with the Linux Test Project
- 25:36Memory mapping
- 27:42Toolchain and library modifications for WALI
- 28:45WALI performance
- 32:17WALI vs Docker/QEMU
- 34:42WALI future benefits
- 37:11Security for engines
- 38:56WebAssembly engines future
- 41:24Languages and research impact
- 43:09Closing and Q&A
related talks
13mWebAssembly & Syscalls: A Story in Tool-Building
38mWebAssembly for the backend
32mBuilding a WebAssembly-first OS – An Adventure Into the Unorthodox
29mWASM in the Kernel: evolving threat detection at runtime
53mWebAssembly
35mWebAssembly beyond the browser
01h 08mOn WebAssembly
33mWebAssembly: The Next Frontier of Cloud Computing
