【轻松码术师】webassembly 工作原理

132 阅读1分钟

初识

  1. W3C 标准
  2. 特性:可移植,体积小,加载块

核心架构

二进制规范(虚拟机支持),高级编程语言(语言核心库),编译工具链

webassembly 运行时:原理:能力

  1. 模块加载和解析(WasmLoader)
  • 加载
  • 解码
  • 格式校验
  • 初始化
  • 多模块链接

(运行时为二进制文件生成 WebAssembly 模块实例对象)

(初始化:数据区[全局数据区,方法区,间接对象区,线性内存区])

  1. 执行引擎
  • 执行方法区中的字节码
    • 解释执行
    • 运行期编译执行
  • 调度内存管理器,进行内存分配
  • 垃圾回收机制,进行复杂对象管理
  1. 和宿主的交互接口(WASI)