加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 低代码、办公协同、物联平台、操作系统、5G!
当前位置: 首页 > 综合聚焦 > 移动互联 > 应用 > 正文

为什么说WebAssembly适合小型物联网

发布时间:2023-12-26 16:36:54 所属栏目:应用 来源:DaWei
导读: WebAssembly(简称Wasm)是一种虚拟指令集体系架构(virtual ISA)。Wasm支持轻量级、高效、安全的运行,非常适合资源有限的物联网(IOT)设备。它还具有灵活性和平台独立性,因此很容易为各
WebAssembly(简称Wasm)是一种虚拟指令集体系架构(virtual ISA)。Wasm支持轻量级、高效、安全的运行,非常适合资源有限的物联网(IOT)设备。它还具有灵活性和平台独立性,因此很容易为各种硬件平台开发应用程序。

随着万物互联程度越来越高,物联网(IoT)设备的数量呈爆炸式增长。这些设备有各种各样的形状和尺寸,从巨大的工业机器到微型传感器。虽然较大的设备可能运行在Linux或其他操作系统上,但较小的或者微型设备需要不同的方法。

1、挑战
首先,让我们看看在小型物联网设备上运行传统操作系统所面临的挑战。通常这些设备功耗较低,内存和存储容量有限。如果运行一个大的操作系统(如Linux)会浪费大量的资源,这可能很快就耗尽了设备的电池寿命。

此外,这些小型设备可能缺少支持完整Linux操作系统所需的硬件,例如硬件虚拟内存所需的内存管理单元(MMU)。小型物联网设备应用各种实时操作系统(RTOS)—例如FreeRTOS、ThreadX和NuttX。因此,我们无法在这些微小的物联网设备上使用Linux容器(又名Docker)。

其次,物联网设备嵌入式开发周期与云软件有很大不同。尽管对代码进行更改并不复杂,但将其交付给最终客户却要经历一个复杂的过程。通常,每个月都有一次代码冻结,此时的所有改变需要通过整个硬件环境检测,甚至还需要对很多不同的类型的设备实施。

在成功测试新版本之后,将启动分阶段部署流程,以避免固件更新、客户投诉或服务升级等带来的问题。对于大多数客户来说,即使更改一个微小的代码到交付,可能也需要几周甚至几个月的时间。在敏捷开发和云时代,这个过程不再被接受。

2、WebAssembly
Wasm是基于堆栈的虚拟机和字节码格式的。最初是为Web浏览器插件设计的,但并不局限于Web应用程序。它是一个高效的多功能的运行环境,可广泛应用于各种应用程序——包括物联网设备。而且Wasm设计小巧,这使得它非常适合小型物联网设备。

Wasm模块的大小通常为几千字节,比典型的Linux内核或Linux容器要小得多。这种小尺寸意味着Wasm可以在内存和存储容量有限的设备上运行,并具有良好的性能。

将Wasm用于IoT设备的另一个优点是,它是一个独立于平台的运行环境。这意味着Wasm模块可以用任何编程语言编写,并在任何支持Wasm的平台上执行。这个灵活性能够使物联网设备在硬件和软件环境上开发应用更简单,无须担心是否需要担心。

开发人员可以选用他们喜欢的、擅长的编程语言编写代码,然后将其编译和在目标设备上执行。像C/C++、Rust、JavaScript都得到了很好的支持。当然也存在一些语言不太友好,但随着Wasm不断的规范化发展而得到完善。

Wasm组件在沙箱环境中执行,这意味着它们与系统的其余部分是隔离的。这使得攻击者很难利用系统中的漏洞,因为他们无法访问底层操作系统或硬件。这对于没有虚拟内存的小型物联网设备尤其重要。此外,Wasm可以在部署之前进行验证和签名,这为系统额外增加了一层安全保护。

一些Wasm运行环境支持AoT(Ahead of Time,运行前编译),它接受Wasm字节码并生成目标机代码(CPU/MCU)。这在小型IoT设备的运行中非常有用,甚至是必不可少的,因为这些设备可能没有可用的CPU和内存来执行JIT(即时编译),就像我们通常在云端或电脑桌面上做的那样。

AoT编译可以成为云服务的一部分,该服务同时管理着部署在物联网设备上软件的运行。AoT编译的代码几乎以本机速度运行,比Micropython等解释性语言(直译语言)快几个数量级。

3、结论
总的来说,在物联网设备上使用Wasm的优点远远超过潜在的缺点。Wasm是一个轻量级的、高效的、安全的运行环境,非常适合资源有限的设备。它还具有灵活性和平台独立性,可以轻松地为各种硬件和软件环境开发应用程序,并为小型物联网设备带来敏捷开发。

随着物联网设备数量的持续增长,对于开发人员来说,希望为这些设备创建高效、安全的应用程序,Wasm将成为越来越重要的工具。随着服务化边缘计算的日益重要和移动物联网的蓬勃兴起,可以预见高性能WebAssembly将在区块链未来的应用计算中越来越多的发挥重要作用。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章