WebAssembly 是一种可以使用非 JavaScript 编程语言编写代码并且能在浏览器上运行的技术方案。
您可能会将 WebAssembly 当做是另外一种目标汇编语言。这是真的,这些机器语言(x86,ARM等)中的每一种都对应于特定的机器架构。当你的代码运行在用户的机器的 web 平台上的时候,你不知道你的代码将会运行在那种机器结构上。所以 WebAssembly 和别的汇编语言是有一些不同的。所以他是一个概念机上的机器语言,不是在一个真正存在的物理机上运行的机器语言。正因如此,WebAssembly 指令有时候被称为虚拟指令。它比 JavaScript 代码更快更直接的转换成机器代码,但它们不直接和特定硬件的特定机器代码对
应。
将wasm类比java字节码,将wasm虚拟机(执行引擎类比java虚拟机)
wasm如何做到沙箱运行?
抽象出wasi-core代替wasm直接访问操作系统。
但对内存、cpu无法实现精确隔离,对I/O资源不支持隔离。
https://zhuanlan.zhihu.com/p/112387861
wasm运行时/执行引擎有哪些?
Mozilla的wasmtime、intel(中国北海团队)的wamr都是wasm社区最早的执行引擎开源项目,wasmer也是一个wasm运行时。
https://www.jianshu.com/p/bff8aa23fe4d
https://blog.csdn.net/m549393829/article/details/81839822
https://zhuanlan.zhihu.com/p/338265761
为什么能代替container?
有什么应用场景,serverless中呢?
https://zhuanlan.zhihu.com/p/341400398
wasm引擎其实和docker引擎在定位上类似,docker的镜像文件和分层、主机的环境体验能达到吗?还是比容器更加轻量的功能?
引申出wasm容器技术: