„Mozilla“, „Fastly“, „Intel“ ir „Red Hat“ reklamuoja „WebAssembly“ kaip universalią platformą

WebAssembly

„Mozilla“, „Fastly“, „Intel“ ir „Red Hat“ susivienijo plėtoti technologijas, kurios sukuria WebAssembly universali platforma saugiai paleisti kodą bet kurioje infrastruktūroje, operacinė sistema ir įrenginys. Bendrai vykdymo laiko ir kompiliatorių plėtrai, leidžiančiai „WebAssembly“ naudoti ne tik interneto naršyklėse, buvo sukurta „Bytecode Alliance“ bendruomenė.

Norėdami sukurti nešiojamas programas pristatomas „WebAssembly“ formatu kuriuos galima vykdyti ne naršyklėje, siūloma naudoti WASI API („WebAssembly“ sistemos sąsaja), kuri suteikia programų sąsajas tiesioginiam sąveikai su operacine sistema („POSIX API“ darbui su failais, lizdais ir kt.).

Skiriamasis bruožas WAS naudojančių programų vykdymo modelioAš paleidžiu smėlio dėžės aplinkoje norint izoliuoti nuo pagrindinės sistemos ir naudoti saugumo mechanizmą, pagrįstą pajėgumų valdymu, atliekant veiksmus su kiekvienu iš išteklių (failai, katalogai, lizdai, sistemos skambučiai ir kt.), programa turi turėti atitinkamą prieigą (prieiga suteikiama tik deklaruojamam funkcionalumui).

vienas aljanso tikslų sukurta yra išspręsti šiuolaikinių modulinių programų, turinčių daug priklausomybių, sklaidos problemą. Tokiose programose kiekviena priklausomybė gali būti potencialus pažeidžiamumų ar atakų šaltinis. Įgiję priklausomybės kontrolę, galite kontroliuoti visas su ja susijusias programas.

„Bytecode Alliance“ nariai ketina parengti išsamų sprendimą norint saugiai vykdyti „WebAssembly“ programas, kurios iš pradžių nepatikimos.

Apsaugai, siūloma naudoti nanoproceso sąvokąs, kuriuose kiekvienas priklausomybės modulis yra atskirtas atskirame izoliuotame „WebAssembly“ modulyje, kurio įgaliojimai sukonfigūruoti susieti tik su šiuo moduliu (pavyzdžiui, biblioteka, skirta stygų apdorojimui, negali atidaryti tinklo lizdo ar failo).

Skirtingai nuo proceso atskyrimo, „WebAssembly“ tvarkytuvai yra lengvi ir beveik nereikalauja papildomų išteklių Be to, tvarkytojų sąveika nėra daug lėtesnė nei įprastų funkcijų iškvietimas.

Bendrai plėtrai keli „WebAssembly“ projektai, kuriuos anksčiau atskirai kūrė aljanso steigėjos, buvo perduoti „Bytecode Alliance“ sparnu:

  • buvo laikas: ± vykdymo laikas, skirtas paleisti „WebAssembly“ programas su WASI plėtiniais kaip įprastos atskiros programos. Jis palaiko „WebAssembly“ bytecode paleidimą naudojant specialų komandų eilutės įrankį ir „out-of-the-box“ vykdomųjų failų kūrimą („wasmtime“ yra įmontuotas programoje kaip biblioteka).
  • Liuceta: yra kompiliatorius ir vykdymo laikas vykdyti programas „WebAssembly“ formatu. Išskirtinis „Lucet“ bruožas yra visiško prevencinio kompiliavimo (AOT, išankstinio) naudojimas mašinos kodui, tinkamam tiesioginiam vykdymui, o ne JIT. Projektas buvo sukurtas „Fastly“ ir optimizuotas siekiant sunaudoti minimalius išteklius ir greitai paleisti naujas egzempliorius. Vykdant bendrą projektą, planuojama pakeisti „Lucet“ kompiliatorių ir naudoti „Wasmtime“ kaip bazę.
  • WAMR („WebAssembly Micro Runtime“): es kitas vykdymo laikas paleisti „WebAssembly“, iš pradžių sukūrė „Intel“, skirta naudoti daiktų interneto įrenginiuose. WAMR jis yra optimizuotas minimaliam išteklių naudojimui ir gali būti naudojamas įrenginiuose, kuriuose yra nedidelis RAM kiekis. Projektas apima vertėją ir virtualią mašiną, skirtą paleisti „WebAssembly“ baitų kodą, API („Libc“ pogrupis) ir įrankius dinamiškai valdyti programas.
  • „Cranelift“: es kodų generatorius, kuris paverčia nuo aparatūros nepriklausomą tarpinį vaizdą į mašinos kodą vykdomoji programa, optimizuota konkrečioms aparatinės įrangos platformoms. „Cranelift“ palaiko funkcijų kompiliavimo lygiagretinimą labai greitam išvesties generavimui, leidžiant jį naudoti kuriant JIT kompiliatorius („Craneelift“ pagrindu sukurtas JIT naudojamas „Wasmtime“ virtualioje mašinoje).
  • WASI: un,es atskiras WASI API diegimas („Web Assembly System Interface“), kad organizuotumėte sąveiką su operacine sistema.
  • krovinys-wasi: un krovinių pakuočių valdytojo modulis kuris įgyvendina komandą „Rust“ kodui surinkti į „WebAssembly“ bytecode naudojant WASI sąsają, kad „WebAssembly“ būtų naudojamas ne naršyklėje.
  • vat ir stipriau: jos analizatoriai analizuoti tekstą (WAT, WAST) ir „WebAssembly“ baito kodo dvejetainiai vaizdai.

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   01101001b sakė

    „Skirtingai nuo procesų atskyrimo,„ WebAssembly “tvarkytuvai yra lengvi ir beveik nereikalauja jokių papildomų išteklių ...
    „Mozilla“ ir „Red Hat“ derinyje toks „šviesos ir beveik nereikalaujančių papildomų išteklių“ pastebėjimas yra fenomenalus pokštas xD