自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么WebAssembly適合小型物聯(lián)網(wǎng)?

譯文 精選
物聯(lián)網(wǎng) 物聯(lián)網(wǎng)應用
隨著萬物互聯(lián)程度越來越高,物聯(lián)網(wǎng)(IoT)設備的數(shù)量呈爆炸式增長。這些設備有各種各樣的形狀和尺寸,從巨大的工業(yè)機器到微型傳感器。雖然較大的設備可能運行在Linux或其他操作系統(tǒng)上,但較小的或者微型設備需要不同的方法。

作者 | Dan Mihai Dumitriu

譯者 | 張怡

WebAssembly(簡稱Wasm)是一種虛擬指令集體系架構(virtual ISA)。Wasm支持輕量級、高效、安全的運行,非常適合資源有限的物聯(lián)網(wǎng)(IOT)設備。它還具有靈活性和平臺獨立性,因此很容易為各種硬件平臺開發(fā)應用程序。

隨著萬物互聯(lián)程度越來越高,物聯(lián)網(wǎng)(IoT)設備的數(shù)量呈爆炸式增長。這些設備有各種各樣的形狀和尺寸,從巨大的工業(yè)機器到微型傳感器。雖然較大的設備可能運行在Linux或其他操作系統(tǒng)上,但較小的或者微型設備需要不同的方法。

為什么WebAssembly (Wasm)是小型物聯(lián)網(wǎng)設備的完美選擇呢?因為這些設備對于Linux來說太“大材小用”了,它們可能只需要使用電池供電。

1、挑戰(zhàn)

首先,讓我們看看在小型物聯(lián)網(wǎng)設備上運行傳統(tǒng)操作系統(tǒng)所面臨的挑戰(zhàn)。通常這些設備功耗較低,內(nèi)存和存儲容量有限。如果運行一個大的操作系統(tǒng)(如Linux)會浪費大量的資源,這可能很快就耗盡了設備的電池壽命。

此外,這些小型設備可能缺少支持完整Linux操作系統(tǒng)所需的硬件,例如硬件虛擬內(nèi)存所需的內(nèi)存管理單元(MMU)。小型物聯(lián)網(wǎng)設備應用各種實時操作系統(tǒng)(RTOS)——例如FreeRTOS、ThreadX和NuttX。因此,我們無法在這些微小的物聯(lián)網(wǎng)設備上使用Linux容器(又名Docker)。

其次,物聯(lián)網(wǎng)設備嵌入式開發(fā)周期與云軟件有很大不同。盡管對代碼進行更改并不復雜,但將其交付給最終客戶卻要經(jīng)歷一個復雜的過程。通常,每個月都有一次代碼凍結,在此期間,所有修改都要經(jīng)過完整的硬件在環(huán)測試,甚至還需要在許多不同類型的設備上進行。

在成功測試新版本之后,將啟動分階段部署流程,以避免固件更新、客戶投訴或服務升級等帶來的問題。對于大多數(shù)客戶來說,即使更改一個微小的代碼到交付,可能也需要幾周甚至幾個月的時間。在敏捷開發(fā)和云時代,這個過程不再被接受。

2、WebAssembly

Wasm是基于堆棧的虛擬機和字節(jié)碼格式的。最初是為Web瀏覽器插件設計的,但并不局限于Web應用程序。它是一個高效的多功能的運行環(huán)境,可廣泛應用于各種應用程序——包括物聯(lián)網(wǎng)設備。而且Wasm設計小巧,這使得它非常適合小型物聯(lián)網(wǎng)設備。

Wasm模塊的大小通常為幾千字節(jié),比典型的Linux內(nèi)核或Linux容器要小得多。這種小尺寸意味著Wasm可以在內(nèi)存和存儲容量有限的設備上運行,并具有良好的性能。

將Wasm用于IoT設備的另一個優(yōu)點是,它是一個獨立于平臺的運行環(huán)境。這意味著Wasm模塊可以用任何編程語言編寫,并在任何支持Wasm的平臺上執(zhí)行。這種靈活性使得物聯(lián)網(wǎng)設備開發(fā)應用程序變得更加容易,無論硬件或軟件環(huán)境如何都不用發(fā)愁。

開發(fā)人員可以選用他們喜歡的、擅長的編程語言編寫代碼,然后將其編譯和在目標設備上執(zhí)行。像C/C++、Rust、JavaScript都得到了很好的支持。當然也存在一些語言不太友好,但隨著Wasm不斷的規(guī)范化發(fā)展而得到完善。

Wasm組件在沙箱環(huán)境中執(zhí)行,這意味著它們與系統(tǒng)的其余部分是隔離的。這使得攻擊者很難利用系統(tǒng)中的漏洞,因為他們無法訪問底層操作系統(tǒng)或硬件。這對于沒有虛擬內(nèi)存的小型物聯(lián)網(wǎng)設備尤其重要。此外,Wasm可以在部署之前進行驗證和簽名,這為系統(tǒng)額外增加了一層安全保護。

一些Wasm運行環(huán)境支持AoT(Ahead of Time,運行前編譯),它接受Wasm字節(jié)碼并生成目標機代碼(CPU/MCU)。這在小型IoT設備的運行中非常有用,甚至是必不可少的,因為這些設備可能沒有可用的CPU和內(nèi)存來執(zhí)行JIT(即時編譯),就像我們通常在云端或電腦桌面上做的那樣。

AoT編譯可以成為云服務的一部分,該服務同時管理著部署在物聯(lián)網(wǎng)設備上軟件的運行。AoT編譯的代碼幾乎以本機速度運行,比Micropython等解釋性語言(直譯語言)快幾個數(shù)量級。

3、發(fā)展

雖然Wasm已經(jīng)出現(xiàn)好幾年了,但它仍然是一項相對較新的技術。與傳統(tǒng)編程語言和架構相比,Wasm可用的工具和庫并不多。Wasm的某些規(guī)范仍在發(fā)展中,比如對Python等主流語言所需的GC的本地支持。然而,隨著越來越多的開發(fā)人員在各種應用程序中采用Wasm,這種情況正在迅速改變。

Wasm在物聯(lián)網(wǎng)設備上使用的另一個困難,是缺乏對特定于某個硬件的功能的支持。由于Wasm是一個獨立于平臺的運行環(huán)境,所以它不能直接訪問設備的硬件或傳感器等外圍設備。

開發(fā)人員必須使用Wasm和本機代碼的組合來訪問設備的硬件,并創(chuàng)建一個WASI API來擴展硬件功能。Wasm社區(qū)正在努力標準化WASI (WebAssembly System Interface)規(guī)范中的各種系統(tǒng)接口。

4、結論

總的來說,在物聯(lián)網(wǎng)設備上使用Wasm的優(yōu)點遠遠超過潛在的缺點。Wasm是一個輕量級的、高效的、安全的運行環(huán)境,非常適合資源有限的設備。它還具有靈活性和平臺獨立性,可以輕松地為各種硬件和軟件環(huán)境開發(fā)應用程序,并為小型物聯(lián)網(wǎng)設備帶來敏捷開發(fā)。

隨著物聯(lián)網(wǎng)設備數(shù)量的持續(xù)增長,對于開發(fā)人員來說,希望為這些設備創(chuàng)建高效、安全的應用程序,Wasm將成為越來越重要的工具。隨著邊緣計算的日益重要和物聯(lián)網(wǎng)的蓬勃興起,可以預見WebAssembly將在未來的計算中發(fā)揮重要作用。

——譯者介紹——

張怡,51CTO社區(qū)編輯,主要研究人工智能算法實現(xiàn)以及場景應用,對機器學習算法和自動控制算法有所了解和掌握。

原文鏈接:https://thenewstack.io/why-webassembly-is-perfect-for-tiny-iot-devices/

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2018-12-24 06:56:12

物聯(lián)網(wǎng)網(wǎng)絡協(xié)議MiWi

2019-03-19 08:59:13

物聯(lián)網(wǎng)IOT技術

2020-04-01 11:19:03

物聯(lián)網(wǎng)LPWANIOT

2020-11-05 10:50:09

物聯(lián)網(wǎng)數(shù)據(jù)技術

2019-08-05 08:42:37

物聯(lián)網(wǎng)IOT技術

2019-04-09 16:25:02

制造商SMB制造業(yè)

2019-09-24 09:47:20

IOT大數(shù)據(jù)物聯(lián)網(wǎng)

2019-08-12 07:29:28

餐館物聯(lián)網(wǎng)IOT

2019-01-18 09:56:39

工業(yè)物聯(lián)網(wǎng)IIOT物聯(lián)網(wǎng)

2019-12-31 13:01:28

物聯(lián)網(wǎng)智能家居網(wǎng)絡安全

2018-04-09 22:17:44

物聯(lián)網(wǎng)物聯(lián)網(wǎng)設備智能

2021-09-30 10:19:29

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2020-10-20 11:33:36

聯(lián)網(wǎng)安全

2021-02-28 13:22:29

物聯(lián)網(wǎng)5G技術

2022-11-07 11:22:33

2019-05-30 08:18:27

物聯(lián)網(wǎng)IOT技術

2018-03-09 06:51:42

物聯(lián)網(wǎng)金融信息化

2018-08-15 08:07:06

2022-02-11 11:17:24

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2019-10-10 17:17:24

物聯(lián)網(wǎng)智能冰箱用戶體驗
點贊
收藏

51CTO技術棧公眾號