Mozilla, Fastly, Intel αα·α Red Hat
ααΎααααΈαααααΎααααααα·ααΈα
αααααααααααααΆαααααα WebAssembly αααα’αΆα
ααααα·ααααα·αα
ααΆααααα
αααααα·ααΈαα»αααααΆα ααΎαααααΎα±ααααααΎ API
αα½αβαα
αααααΆααααΆαααΆαααΆα ααΆααααΌαααΆαααααΎα±ααααααΎααααααα·αααααααΎαααΆα nanoprocesses ααααααΌαα»αα’αΆαααααααΈαα½ααααααΌαααΆαααααααα ααΆαααΌαα»α WebAssembly ααΆα ααααα‘αα α’αααΆα αααααααΌαααΆααααααααΆααααααΉααααΌαα»ααααααααα»ααααα (α§ααΆα ααα αααααΆααααααααΆααααααΎαααΆαααααα’ααααααΉααα·α α’αΆα ααΎααααααααααΆα α¬α―αααΆα)α αα·αααΌα ααΆααααααααααΎαααΆααα α§αααααααααααααα WebAssembly ααΆαααααααααααΆα α αΎαααααΎαααααααΆαααααΆααααααααα α’αααααααααααΆαα’ααααααααααΆαααΊαα·αααΊαααΆαααΆαα α αα»αααΆαααααααΆαααααα ααΆααααααα’αΆα ααααΌαααΆαααααΎαα·αααααΉααααα ααααα·ααααααΌαα»ααα»ααααααα»ααααααα ααα»αααααααα ααααα·ααααααα»ααααααΌαα»αααααα αααα§ααΆα ααα α αΆαααΆα αααααΌαααααΎααΆαααΆαα½ααααααααα·ααΌαα α
α’αααΆα αααααΆαααααΎαα»αα’αΆα ααααΌαααΆααααααααΆαααα ααααα·αααααΆαα’αΆααααααααα½αα―α αα·αααααΌαααΆαααααααα α±ααααΆαα’αΆαααααααΆααααααααααΆααααααααΌαα»ααα (ααααΆααα αααα»α WASI ααααΌαααΆαααααΆααααΆαα½ααααααααα·αααααα―αααΆααα·αααααΆ - αααααααΆα) α α§ααΆα ααα αααΌαα»ααα½αα’αΆα ααααΌαααΆαααααααα·αααα·α±ααα αΌαααααΎααααΆααααΆαα αα·αααΆαα α ααΌαααααααΆααααααααα α αΎαααααα·αααΎα αααααΆαα ααΆααααααααα’αα·αααααααααααααΌαα»αααααΌαααΆααααααααααα½α α¬ααΆαααΆααααααααααααΌαααΆααααααΆαα αααα»αα’αα‘α»ααααααααΆαααΆααααα αΆα ααΆαα αΌαααααΎααΉαααααΌαααΆααααααα ααααααααΆαααΆαααααααα»αααααα ααΆααααααΆαααααΆααααα’ααααααααΎααααΌαα»αα’αΆα ααΆααΌα ααΆαααααααααααΆααα½αα±αααααααα ααΌα ααΆαα αααααααααΌαα»αααααΎαααΆαα’αααααααααΎαα»αααΆαα’αα»ααααΆαααΎααααΈααΎαααΆααααααΆαααααααΆαα ααΆαα’αα»ααααΆααααααΆααααααααααΌαααααΌαααΆααα·αα·ααα α αΎαααααα·αααΎαα½αααΆααααΆααααααΌα ααΆααααα»αααΆαα’αΆαααααααααΌαααΆαααα·ααααα αΌααααα αααααααΆαααΌαα»αααΌαααααΆαααααΌαααΆαααααΎαα αα α»ααααααααΆαα
αααααΆααααΆαα’αα·αααααααα½αααααΆαααααααααΆααααααααααα Bytecode
-
αααααααΆ - αααααααΎαααΆααααααΆααααααΎαααΆααααααα·ααΈ WebAssembly ααΆαα½αααααααααααα WASI ααΆαααααα·ααΈα―αααΆαααααααααΆα ααΆααΆααααααΆααααΆαααΎαααααΎαααΆα WebAssembly bytecode αααααααΎα§αααααααααΎααααΆαααααααΆααααΆααααααααΆαα·ααα αα·αααΆαααααΆααα―αααΆααααα’αΆα ααααα·ααααα·ααΆααα½α ααΆαα (wasmtime ααααΌαααΆααααααΎαα‘αΎααα αααα»ααααααα·ααΈααΆαααααΆααα)α Wasmtime ααΆααα ααΆαααααααααααΌαα»ααααα’αΆα ααααααααΆα αααα’αα»ααααΆαα±ααα’αααααααΎααΆαααααααΆααααααααΆααααΎαααΆααααααΆαααααααα·ααΈαααααα α§ααΆα ααα α’αααα’αΆα αααααΎααααααααααΆαααα αααααααΆααα§ααααααααααΆαααααΆαααΆααααααα -
ααΌααα - αααααα·ααΈα ααααα αα·ααααααααΎαααΆααααααΆααααααΎαααΆααααααα·ααΈαααα»ααααααα WebAssembly α ααααααααααα Lucet ααΊβααΆβααΆαβααααΎβααααΆααβααβααΆαβα αααααβαααβααααΉαβαα»αβαααβααα (AOT, αα»αβαααβααααΆ) αααα½αβα±αα JIT α αΌαβαα βαααα»αβααΌαβαααΆαααΈαβαααβααααααβαααααΆααβααΆαβααααα·ααααα·βαααβααααΆααβα αααααααααααααΌαααΆααααααΎαα‘αΎαααα Fastly α αΎαααααΌαααΆααααααα’ααΎααααΈααααΎααααΆααααααΆααα·α αα½α αααα»α αα·αα αΆααααααΎαααααΈααααΈααααΆαααΆαααα αα (ααααΎ Lucet αααΆααα αααα αααα»ααααΆαααΈαααααΆαααααααααααααΎ WebAssembly αααααΆααα’ααααααααααΆααααααΆαααΎαααααΎαααΆαααΎααααΎααΈαα½αα)α ααΆααααααα½ααααααααααα½α α’αααα ααααα Lucet ααααΌαααΆααααααααΉαααααααααα ααααΎ Wasmtime ααΆααΌαααααΆαα -
WAM (WebAssembly Micro Runtime) ααΊααΆαααααααΎαααΆααα½ααααααααααααααΆααααααΎαααΆα WebAssembly αααααααΌαα‘αΎαααααΌαααΆααααααΎαα‘αΎαααα Intel αααααΆααααααΎααααΆαααα αααα»αα§ααααα Internet of Thingsα WAMR ααααΌαβααΆαβααααΎβα±ααβαααααΎαβα‘αΎαβαααααΆααβααΆαβααααΎβααααΆααβααααΆαβαα·α βαααα»α α αΎαβα’αΆα βααααΌαβααΆαβααααΎβααΎβα§αααααβαααβααΆα RAM ααΌα α ααααααααααα½αααΆαα’ααααααααα αα·ααααΆαααΈααα·αααα·ααααααΆααααααα·ααααα· WebAssembly bytecode, API (αααα»ααααα Libc) αα·αα§ααααααααααΆααααΆαααααααααααααααα·ααΈααΆαααααα -
ααΆαααΎαααααααααα - αααΆαααΈααααααΎαααΌααααααααααααααΆαααααα·αααααααααα―αααΆαααααααααΆαααααααααααααααΉααα ααΆααΌααααΆαααΈααααα’αΆα ααααα·ααααα·ααΆααααααααΌαααΆαααααΎα±αααααααΎαα‘αΎααααααΆαααααα·ααΆαααααααΉαααΆααααΆααα Cranelift ααΆααααααΆαααααααααΆααααΆαα ααααααα»αααΆααααααΆααααΆααααααΎαααααααααΏααααα»α αααα’αα»ααααΆαα±ααααΆααααΌαααΆαααααΎααΎααααΈαααααΎααααααα·ααΈα ααααα JIT (JIT αααααΆαααΌαααααΆαααΎ Cranelift ααααΌαααΆαααααΎαα αααα»ααααΆαααΈααα·αααα·α Wasmtime); -
WASI ααΌαα - ααΆαα’αα»ααααααΆα ααααα‘αααα WASI (WebAssembly System Interface) API αααααΆαααααα αα’ααααααααααΆαα½αααααααααααααα·ααααα·ααΆαα -
cargo-wasi - αααΌαα»ααααααΆαααααααα·ααΈααααααααααααα αααααα·ααααα’αα»ααααααΆααααααααΆαααααΆααααΆαα αααααααΌα Rust αα αααα»α WebAssembly bytecode αααααααΎα ααα»α αααααΆαα WASI αααααΆααααΆαααααΎααααΆαα WebAssembly αα ααΆααααα αααααα·ααΈαα»αααα -
αααα ΠΈwasmpparser - α§αααααααααααααΆαααααα’ααααα (WAT, WAST) αα·αααααΆααααααΈααα WebAssembly bytecode α
ααΎααααΈαααααα WebAssembly ααΊα
αααΎαααΌα
Asm.js ααα»αααα
ααααα: opennet.ru