Mozilla,Fastly,Intel和Red Hat将WebAssembly推广为通用平台

WebAssembly

Mozilla,Fastly,Intel和Red Hat联手完成了 发展 使得 WebAssembly 通用平台 在任何基础架构上安全运行代码,操作系统和设备。 为了联合开发运行时和编译器,不仅允许在Web浏览器中使用WebAssembly,还形成了Bytecode Alliance社区。

创建可移植程序 以WebAssembly格式交付 可以在浏览器外部运行,建议使用WASI API (WebAssembly系统接口),它提供用于与操作系统直接交互的程序接口(用于处理文件,套接字等的POSIX API)。

特色 WAS的应用程序的执行模型我正在沙盒环境中启动 为了与主系统隔离并使用基于容量管理的安全机制,对于使用每个资源(文件,目录,套接字,系统调用等)的操作,应用程序必须具有相应的授权(仅提供访问权限)声明的功能)。

联盟目标的实现 被创造 解决具有很多依赖关系的现代模块化应用程序的扩散问题。 在此类应用程序中,每个依赖项都可能是漏洞或攻击的潜在来源。 获得依赖性控制使您可以控制与之关联的所有应用程序。

字节码联盟成员打算准备一个完整的解决方案 用于安全执行最初不受信任的WebAssembly应用程序。

为了保护, 建议使用纳米工艺的概念s,其中每个依赖项模块都分开 在单独的隔离WebAssembly模块中,其权限配置为仅绑定到此模块(例如,用于处理字符串的库无法打开网络套接字或文件)。

与流程分离不同, WebAssembly处理程序是轻量级的,几乎不需要其他资源 此外,处理程序之间的交互不会比调用普通函数慢很多。

为了进行联合开发,先前由该联盟的创始公司分别开发的几个与WebAssembly相关的项目已在Bytecode联盟的领导下进行了转移:

  • 消遣时间:A 运行带有WASI扩展的WebAssembly应用程序的运行时 作为常规的独立应用。 它支持使用特殊的命令行实用程序启动WebAssembly字节码,并设计开箱即用的可执行文件(wasmtime作为库内置在应用程序中)。
  • 幸运儿:编译器和运行时以WebAssembly格式运行程序。 Lucet的一个独特功能是在适用于直接执行而不是JIT的机器代码上使用完整的预防性编译(AOT,预先)。 该项目由Fastly开发,并进行了优化以消耗最少的资源并快速启动新实例,作为联合项目的一部分,计划将Lucet编译器更改为以Wasmtime为基础。
  • WAMR(WebAssembly微型运行时): es 另一个运行WebAssembly的运行时, 最初由英特尔开发,用于物联网设备。 WAMR 它针对最小的资源消耗进行了优化,可以在具有少量RAM的设备上使用。 该项目包括运行WebAssembly字节码的解释器和虚拟机,API(Libc的子集)以及动态管理应用程序的工具。
  • 吊车:es 代码生成器,可将独立于硬件的中间表示形式转换为机器代码 针对特定硬件平台优化的可执行文件。 Cranelift支持函数编译并行化,以非常快速地生成输出,使您可以使用它来创建JIT编译器(在Wasmtime虚拟机中使用基于Cranelift的JIT)。
  • WASI: WASI API的独立实现 (Web组装系统界面)来组织与操作系统的交互。
  • 货船: un 货物包装经理模块 它实现了一个命令,该命令使用WASI接口将Rust代码编译为WebAssembly字节码,以在浏览器外部使用WebAssembly。
  • wat和wasmparser: 解析器来分析文本 (WAT,WAST)和WebAssembly字节码的二进制表示形式。

发表评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   01101001b

    “与流程分离不同,WebAssembly处理程序是轻量级的,几乎不需要其他资源”。
    在Mozilla和Red Hat混合使用的情况下,对“轻量级,几乎不需要额外资源”的观察将是一个了不起的笑话xD