WASI një projekt Mozilla për të përdorur WebAssemble jashtë shfletuesit

WASI një projekt Mozilla për të përdorur WebAssemble jashtë shfletuesit

Zhvilluesit e Mozilla prezantuan projektin WASI (Ndërfaqja e Sistemit WebAssemble), e cila po punon në përcaktimin e ndërfaqeve softuerike që mund të përdoren për të organizuar ndërveprimin e aplikacioneve të dorëzuara në formatin WebAssemble me sistemin operativ.

Qëllimi i projektit është të sigurojë një API që zgjeron përdorimin e WebAssemble dhe ju lejon të krijoni programe me bazë të rregullt Në këtë teknologji që funksionon jashtë shfletuesitAto janë të lëvizshme për çdo platformë dhe demonstrojnë një nivel të lartë sigurie.

Çfarë është WASI?

WASI lejon që mjedisi WebAssemble të ketë qasje në funksionet e siguruara nga sistemi operativsiç janë skedarët, sistemi i skedarëve, bazat e rrjetit, kohëmatësit dhe gjeneratorët e numrave të rastësishëm.

WASI API fillimisht është zhvilluar si jo-shfletues dhe i pavarur nga JavaScript / Web API, por në të njëjtën kohë siguron një nivel adekuat të izolimit të sistemit kryesore (aplikacionet ekzekutohen në një kuti rëre) dhe ju lejon të përcaktoni në mënyrë eksplicite autoritetin e dhënë aplikacionit në stilin e CloudABI dhe Capsicum.

WASI përdor një model sigurie të bazuar në menaxhimin e lejeve, brenda të cilit një program mund të kryejë vetëm qëllimisht veprime të autorizuara.

Ngjashëm me atë se si WebAssembly kufizon hyrjen në nivelin e funksioneve të importit, WASI kontrollon qasjen në aftësitë e sistemit.

Skedarët, direktoritë, bazat dhe burimet e tjera shoqërohen me një tip të veçantë të përshkruesit të skedarit (kapaciteti) dhe aplikacioni duhet të ketë leje për të kryer një veprim në secilin prej burimeve.

Lejet menaxhohen në mënyrë hierarkike, domethënë, hyrja në direktori hapet automatikisht dhe qasja në të gjitha skedarët që përmban.

duke ditur që WebAssemble është një version i pavarur nga platforma e gjuhës së asamblesë, përdorimi i JIT mund të arrijë një nivel të performancës afër kodit vendas, duke ruajtur aftësinë për të ekzekutuar në platforma të ndryshme harduerike dhe sisteme operative.

Aktualisht projekti siguron modulin wasi-core me implementimin e POSIX API bazë (skedarë, fole, etj.), I cili aktualisht nuk ka mbështetje për kyçjet dhe I / O asinkrone.

Në të ardhmen, është planifikuar të krijohen module me një implementim të API për të kryer operacione kriptografike, punë me grafikë 3D, bashkëveprojnë me sensorë, operacione me procese (thirrja e pirunit nuk mbështetet ende) dhe përpunon të dhëna multimediale.

Prototipat përbërës

Wasmtime është një kohë ekzekutimi që është përgjegjëse për ekzekutimin e aplikacioneve bazuar në WebAssemble me zgjerime WASI si aplikacione të zakonshme të pavarura.

Se mbështet lançimin e bytekodit WebAssemble me ndihmën e një vegle të veçantë të linjës komanduese dhe i gatshëm për përdorim skedari ekzekutues i ekzekutueshëm (wasmtime ishte i integruar në aplikacion si bibliotekë).

Për të arritur nivelin e duhur të performancës, përdoret një përpilues JIT bazuar në gjeneratorin e kodit të lartësisë.

Lucet është një tjetër version i ekzekutimit të projektit Fastly (kodi është planifikuar të publikohet sot ose nesër).

WASI SDK- Mjetet për përpilimin e aplikacioneve C / C ++ në formatin e montimit në internet duke përdorur Clang 8.0.

Një objektiv i asamblesë me mbështetje WASI për gjuhën Rust, i cili ju lejon të përpiloni kodin Rust në një WebAssemble.

Wasi-sysroot është një implementim i bibliotekës standarde libc për WASI, bazuar në kodin Musl, si dhe një shtresë për kohën e duhur për të përkthyer funksionet e ofruara nga biblioteka në thirrjet e sistemit të sistemeve të ndryshme operative për të arritur mundësinë e ekzekutimit të një aplikacioni WASI në sisteme të ndryshme operative.

Projekti po zhvillon gjithashtu bibliotekën polyfill JavaScript me një zbatim WASI për të ekzekutuar aplikacione brenda shfletuesit., i cili lejon që modeli i kontrollit të hyrjes "aftësive" të zbatohet në kodin e ekzekutuar në shfletuesin.

Nga planet, përmendet krijimi i një sistemi modul të bazuar në WASI për integrimin në aplikacione të veçuara plug-in me funksionalitete shtesë të ofruara në formatin WebAssemble.

Një nga detyrat kryesore të WebAssemble është të sigurojë transportueshmëri, parashikueshmëri të sjelljes dhe identitetin e ekzekutimit të kodit në platforma të ndryshme.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.