還能再漲23%!AI寵兒NVIDIA成大摩明年首選AMD FSR 4.0將與RX 9070 XT顯卡同步登場羅永浩細(xì)紅線最新進(jìn)展,暫別AR,迎來AI Jarvis構(gòu)建堅(jiān)實(shí)數(shù)據(jù)地基,南京打造可信數(shù)據(jù)空間引領(lǐng)數(shù)字城市建設(shè)下單前先比價(jià)不花冤枉錢 同款圖書京東價(jià)低于抖音6折日媒感慨中國電動(dòng)汽車/智駕遙遙領(lǐng)先:本田、日產(chǎn)、三菱合并也沒戲消委會(huì)吹風(fēng)機(jī)品質(zhì)檢測結(jié)果揭曉 徠芬獨(dú)占鰲頭 共話新質(zhì)營銷力,2024梅花數(shù)據(jù)峰會(huì)圓滿落幕索尼影像專業(yè)服務(wù) PRO Support 升級(jí),成為會(huì)員至少需注冊 2 臺(tái) α 全畫幅相機(jī)、3 支 G 大師鏡頭消息稱vivo加碼電池軍備競賽:6500mAh 旗艦機(jī)+7500mAh中端機(jī)寶馬M8雙門轎跑車明年年初將停產(chǎn),后續(xù)無2026款車型比亞迪:2025 款漢家族車型城市領(lǐng)航智駕功能開啟內(nèi)測雷神預(yù)告2025年首次出席CES 將發(fā)布三款不同技術(shù)原理智能眼鏡realme真我全球首發(fā)聯(lián)發(fā)科天璣 8400 耐玩戰(zhàn)神共創(chuàng)計(jì)劃iQOO Z9 Turbo長續(xù)航版手機(jī)被曝電池加大到6400mAh,搭驍龍 8s Gen 3處理器普及放緩 銷量大跌:曝保時(shí)捷將重新評(píng)估電動(dòng)汽車計(jì)劃來京東參與榮耀Magic7 RSR 保時(shí)捷設(shè)計(jì)預(yù)售 享365天只換不修國補(bǔ)期間電視迎來換機(jī)潮,最暢銷MiniLED品牌花落誰家?美團(tuán)旗下微信社群團(tuán)購業(yè)務(wù)“團(tuán)買買”宣布年底停運(yùn)消息稱微軟正與第三方廠商洽談,試圖合作推出Xbox游戲掌機(jī)設(shè)備
  • 首頁 > 網(wǎng)絡(luò)通信頻道 > 物聯(lián)網(wǎng)

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

    2023年06月14日 15:42:44   來源:51CTO

      譯者 | 張怡

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

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

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

      1、挑戰(zhàn)

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

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

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

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

      2、WebAssembly

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

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

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

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

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

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

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

      3、發(fā)展

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

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

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

      4、結(jié)論

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

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

      文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請謹(jǐn)慎對待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。

    即時(shí)

    新聞

    明火炊具市場:三季度健康屬性貫穿全類目

    奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。

    企業(yè)IT

    重慶創(chuàng)新公積金應(yīng)用,“區(qū)塊鏈+政務(wù)服務(wù)”顯成效

    “以前都要去窗口辦,一套流程下來都要半個(gè)月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。

    3C消費(fèi)

    華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,高能實(shí)力,創(chuàng)

    華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準(zhǔn)的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實(shí)質(zhì)性的幫助,雙十一期間低至2799元,性價(jià)比很高,簡直是創(chuàng)作者們的首選。