WASI projekt Mozilla na použitie WebAssembly mimo prehliadača

WASI projekt Mozilla na použitie WebAssembly mimo prehliadača

Vývojári Mozilly predstavili projekt WASI (WebAssembly System Interface), ktorá pracuje na definovaní softvérových rozhraní, pomocou ktorých je možné usporiadať interakciu aplikácií dodávaných vo formáte WebAssembly s operačným systémom.

Cieľom projektu je poskytnúť API, ktoré rozširuje použitie WebAssembly a umožňuje vám vytvárať programy pravidelne založené V tejto technológii, ktorá beží mimo prehliadačaSú prenosné na akúkoľvek platformu a preukazujú vysokú úroveň bezpečnosti.

Čo je to WASI?

WASI umožňuje prostrediu WebAssembly prístup k funkciám poskytovaným operačným systémomako sú súbory, systém súborov, sieťové zásuvky, časovače a generátory náhodných čísel.

Rozhranie WASI API je pôvodne vyvinuté ako neviazané na prehliadač a ako samostatné riešenie z JavaScript / Web API, ale zároveň poskytuje primeranú úroveň izolácie systému main (aplikácie bežia v karanténe) a umožňuje vám explicitne definovať oprávnenie dané aplikácii v štýle CloudABI a Capsicum.

BOL SOM používa bezpečnostný model založený na správe povolení, v rámci ktorého môže program vykonávať iba zámerne autorizované akcie.

Podobne ako WebAssembly obmedzuje prístup na úrovni funkcií importu, WASI riadi prístup k schopnostiam systému.

Súbory, adresáre, sokety a ďalšie prostriedky sú spojené so špeciálnym typom deskriptora súborov (kapacita) a aplikácia musí mať oprávnenie na vykonanie akcie na každom zo zdrojov.

Povolenia sa spravujú hierarchicky, to znamená, že sa automaticky otvorí prístup k adresáru a prístup ku všetkým súborom, ktoré obsahuje.

vzhľadom na to, že WebAssembly je platformová nezávislá jazyková verzia assembleru, použitím JIT sa dá dosiahnuť úroveň výkonu blízka natívnemu kódu, pri zachovaní schopnosti prevádzky na rôznych hardvérových platformách a operačných systémoch.

V súčasnosti projekt poskytuje wasi-core modulu implementáciu základného POSIX API (súbory, zásuvky, atď.), Ktorému v súčasnosti chýba podpora pre zámky a asynchrónne I / O.

V budúcnosti plánuje sa vytvorenie modulov s implementáciou API na vykonávanie kryptografických operácií, prácu s 3D grafikou, interakcia so senzormi, operácie s procesmi (hovor vidlice zatiaľ nie je podporovaný) a spracovávať multimediálne údaje.

Prototypy komponentov

Wasmtime je runtime, ktorý je zodpovedný za vykonávanie aplikácií založených na WebAssembly s rozšíreniami WASI ako obyčajnými samostatnými aplikáciami.

Se podporuje spustenie bytecode WebAssembly pomocou špeciálneho nástroja príkazového riadku a návrh spustiteľného súboru pripravený na použitie (wasmtime je v aplikácii zabudovaný ako knižnica).

Na dosiahnutie príslušnej úrovne výkonu sa používa kompilátor JIT založený na generátore kódu nadmorskej výšky.

Lucet je ďalšou runtime verziou projektu Fastly (zverejnenie kódu je naplánované dnes alebo zajtra).

WASI SDK- Nástroje na kompiláciu aplikácií C / C ++ vo formáte webovej zostavy pomocou Clang 8.0.

Cieľ zostavy s podporou WASI pre jazyk Rust, ktorý umožňuje kompilovať Rust kód do WebAssembly.

Wasi-sysroot je implementácia štandardnej knižnice libc pre WASI, založený na Muslovom kóde, ako aj runtime vrstvu na preloženie funkcií poskytovaných knižnicou do systémových volaní rôznych operačných systémov, aby sa dosiahla možnosť spustenia aplikácie WASI na rôznych operačných systémoch.

V rámci projektu sa tiež vyvíja knižnica polyfill JavaScript s implementáciou WASI na spúšťanie aplikácií v prehliadači., ktorá umožňuje aplikovať model riadenia prístupu „schopností“ na kód spustený v prehliadači.

Z plánov je potrebné spomenúť vytvorenie modulového systému založeného na WASI pre integráciu do izolovaných doplnkových aplikácií s ďalšími funkciami poskytovanými vo formáte WebAssembly.

Jednou z hlavných úloh WebAssembly je zabezpečiť prenosnosť, predvídateľnosť správania a identitu vykonávania kódu na rôznych platformách.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.