| THIS STANDARD Native Linux architecture port Linux / wasm32 + HardwareJS | A wasm32 Linux kernel and wasm32 user programs execute as WebAssembly modules,
with a kernel instance on each CPU Worker. | The actual Linux kernel services the syscall. HardwareJS supplies CPUs, memory,
interrupts, and device backends. | Avoids guest-ISA translation and avoids reimplementing Linux services; software
and architecture support must be built for the new wasm32 target. |
|---|
| Full-machine emulation JSLinux · v86 · container2wasm | An existing Linux kernel and foreign-ISA userspace run inside an x86 or
RISC-V emulator. | The guest Linux kernel, after the emulator executes or translates the guest
instruction stream. | Preserves prebuilt operating systems and binaries; carries the compute and
image cost of a complete emulated machine. |
|---|
| Application toolchain Emscripten | An application is compiled to WebAssembly together with generated JavaScript
and runtime libraries. | Emscripten’s libc and runtime map supported operations onto virtual
filesystems, Workers, and browser or host services. | Excellent for porting an application to the web; it does not attempt to supply
a general Linux kernel and process model. |
|---|
| Browser Unix kernel Browsix | Programs built for extended C, C++, Go, or Node runtimes execute as browser
processes on Web Workers. | A TypeScript kernel maps processes, pipes, signals, sockets, and a shared
filesystem onto browser APIs. | Composes Unix programs without CPU emulation; the Unix semantics are supplied
by Browsix rather than a Linux source tree. |
|---|
| Standard system interface WASI | Core Wasm modules or components call standards-track interfaces implemented
by a compatible runtime. | The host runtime services only the capabilities explicitly granted to the
module or component. | Portable, composable, capability-based execution across browsers, cloud, and
embedded systems; it is not a Linux ABI or kernel. |
|---|
| Extended WASI interface WASIX | Programs compile against WASI plus extensions for threads, sockets, TTYs, fork, exec, and related POSIX facilities. | The supporting runtime implements the extended WASIX calls and their process
and I/O behavior. | Expands the POSIX-shaped surface without a full guest machine; semantics remain
the runtime’s interface rather than Linux kernel code. |
|---|
| Node-oriented runtime WebContainers | Node.js applications, package managers, and operating-system-like commands run
inside a browser tab. | The WebContainers runtime supplies the filesystem, processes, networking
bridges, and Node-facing environment. | Deeply optimized for Node toolchains and interactive web development; it does
not expose the general Linux ABI. |
|---|