WASI Mozilla projekto por uzi WebAssembly ekster la retumilo

WASI Mozilla projekto por uzi WebAssembly ekster la retumilo

Programistoj de Mozilla prezentis la projekton WASI (WebAssembly System Interface), kiu laboras pri difinado de programaj interfacoj uzeblaj por organizi la interagadon de aplikoj liveritaj en formato WebAssembly kun la operaciumo.

La celo de la projekto estas provizi API, kiu plilongigas la uzon de WebAssembly kaj permesas krei programojn regula bazita En ĉi tiu teknologio, kiu funkcias ekster la retumiloIli estas porteblaj al iu ajn platformo kaj montras altan nivelon de sekureco.

Kio estas WASI?

WASI permesas al la medio WebAssembly aliri la funkciojn provizitajn de la operaciumokiel dosieroj, dosiersistemo, retaj ingoj, tempigiloj kaj hazardaj nombrogeneratoroj.

La WASI-API estas komence evoluigita kiel ne-retumila ligita kaj memstara de la JavaScript / Reta API, sed samtempe provizas taŭgan nivelon de sistemo izolado main (programoj funkcias en sandbox) kaj permesas al vi eksplicite difini la aŭtoritaton donitan al la apliko laŭ la stilo de CloudABI kaj Capsicum.

WASI uzas sekurecan modelon bazitan sur permesadministrado, ene de kiu programo povas nur intence plenumi rajtigitajn agojn.

Simile al kiel WebAssembly limigas aliron je nivelo de importaj funkcioj, WASI regas aliron al sistemaj kapabloj.

Dosieroj, adresaroj, ingoj kaj aliaj rimedoj estas asociitaj kun speciala speco de dosierpriskribilo (kapablo), kaj la aplikaĵo devas havi permesojn plenumi agon pri ĉiu el la rimedoj.

Permesoj estas administrataj hierarkie, do aliro al la adresaro aŭtomate malfermiĝas kaj aliro al ĉiuj dosieroj, kiujn ĝi enhavas.

Ekde WebAssembly estas platformo sendependa asembla lingvo versio, la uzo de JIT povas atingi nivelon de rendimento proksima al denaska kodo, konservante la kapablon funkcii per diversaj aparataj platformoj kaj operaciumoj.

Nuntempe la projekto provizas la ŭi-kernan modulon per la efektivigo de la baza POSIX-API (dosieroj, ingoj, ktp.), Al kiu nuntempe mankas subteno por seruroj kaj nesinkronaj I / O.

En la estonteco, estas planite krei modulojn kun API-efektivigo por plenumi kriptigajn operaciojn, labori kun 3D-grafikaĵoj, interagas kun sensiloj, operacioj kun procezoj (la forka alvoko ankoraŭ ne estas subtenata) kaj prilaboras plurmediajn datumojn.

Komponentaj prototipoj

Wasmtime estas rultempo, kiu respondecas pri ekzekutado de programoj bazitaj sur WebAssembly kun WASI-etendaĵoj kiel ordinaraj memstaraj aplikoj.

Se subtenas lanĉadon de WebAssembly-bajtokodo helpe de speciala komandlinia utilaĵo kaj projektado de prete uzeblaj plenumeblaj dosieroj (wasmtime estas enkonstruita en la aplikaĵo kiel biblioteko).

Por atingi la taŭgan rendimenton, JIT-kompililo bazita sur la altkoda generatoro estas uzata.

Lucet estas alia rultempa versio de la projekto Fastly (la kodo estas antaŭvidita hodiaŭ aŭ morgaŭ).

WASI SDK- Iloj por kompili C / C ++-aplikaĵojn en ttt-asembleo-formato per Clang 8.0.

Kuniga celo kun WASI-subteno por la Rust-lingvo, kiu permesas vin kompili Rust-kodon en WebAssembly.

Wasi-sysroot estas efektivigo de la norma libc-biblioteko por WASI, surbaze de Musl-kodo, same kiel rultempa tavolo por traduki la funkciojn disponigitajn de la biblioteko en sistemvokojn de diversaj operaciumoj por atingi la eblecon lanĉi WASI-aplikaĵon sur malsamaj operaciumoj.

La projekto ankaŭ disvolvas la bibliotekon JavaScript de polyfill kun efektivigo WASI por lanĉi programojn ene de la retumilo., kiu permesas apliki la modelon de aliro-kontrolo "kapabloj" al kodo ekzekutita en la retumilo.

El la planoj menciiĝas la kreo de WASI-bazita modula sistemo por integriĝo en izolitajn kromprogramajn programojn kun aldona funkcio disponigita en la formato WebAssembly.

Unu el la ĉefaj taskoj de WebAssembly estas certigi porteblon, antaŭvideblecon de konduto kaj identecon de kodekzekuto sur malsamaj platformoj.


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Estu la unua por komenti

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita.

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

bool (vera)