WASI Mozilla projekts WebAssembly izmantošanai ārpus pārlūkprogrammas

WASI Mozilla projekts WebAssembly izmantošanai ārpus pārlūkprogrammas

Mozilla izstrādātāji iepazīstināja ar WASI projektu (WebAssembly System Interface), kas strādā pie programmatūras saskarņu noteikšanas, kuras var izmantot, lai organizētu WebAssembly formātā piegādāto lietojumprogrammu mijiedarbību ar operētājsistēmu.

Projekta mērķis ir nodrošināt API, kas paplašina WebAssembly izmantošanu un ļauj jums izveidot programmas regulāri balstīta Šajā tehnoloģijā, kas darbojas ārpus pārlūkprogrammasTie ir pārnēsājami uz jebkuru platformu un demonstrē augstu drošības līmeni.

Kas ir WASI?

WASI ļauj WebAssembly videi piekļūt operētājsistēmas nodrošinātajām funkcijāmpiemēram, faili, failu sistēma, tīkla kontaktligzdas, taimeri un nejaušo skaitļu ģeneratori.

WASI API sākotnēji tiek izstrādāta kā nesaistīta un atsevišķa pārlūkprogrammā no JavaScript / Web API, bet tajā pašā laikā nodrošina pietiekamu sistēmas izolācijas līmeni galvenais (lietojumprogrammas darbojas smilškastē) un ļauj skaidri definēt lietojumprogrammai piešķirtās pilnvaras CloudABI un Capsicum stilā.

BIJU ES izmanto drošības modeli, kura pamatā ir atļauju pārvaldība, kuras ietvaros programma var tikai apzināti veikt pilnvarotas darbības.

Līdzīgi kā WebAssemble ierobežo piekļuvi importa funkciju līmenī, WASI kontrolē piekļuvi sistēmas iespējām.

Faili, direktoriji, ligzdas un citi resursi ir saistīti ar īpaša veida failu deskriptoru (ietilpību), un lietojumprogrammai jābūt atļaujai veikt darbību ar katru resursu.

Atļaujas tiek pārvaldītas hierarhiski, tas ir, tiek automātiski atvērta piekļuve direktorijai un piekļuve visiem tajā esošajiem failiem.

Kopš tā laika WebAssembly ir no platformas neatkarīga montāžas valodas versija, izmantojot JIT, var sasniegt veiktspējas līmeni, kas ir tuvu vietējam kodam, vienlaikus saglabājot spēju darboties dažādās aparatūras platformās un operētājsistēmās.

Pašlaik projektā tiek nodrošināts wasi-core modulis ar pamata POSIX API ieviešanu (faili, ligzdas utt.), Kuram pašlaik trūkst bloķēšanas un asinhronā I / O atbalsta.

Nākotnē plānots izveidot moduļus ar API ieviešanu kriptogrāfisko darbību veikšanai, darbam ar 3D grafiku, mijiedarboties ar sensoriem, darbībām ar procesiem (dakšu zvans vēl netiek atbalstīts) un apstrādāt multivides datus.

Komponentu prototipi

Wasmtime ir izpildlaiks, kas ir atbildīgs par lietojumprogrammu izpildi, pamatojoties uz WebAssembly ar WASI paplašinājumiem kā parastām atsevišķām lietojumprogrammām.

Se atbalsta WebAssemble bytecode palaišanu, izmantojot īpašu komandrindas utilītu un lietošanai gatavu izpildāmo failu projektēšana (wasmtime ir iebūvēts lietojumprogrammā kā bibliotēka).

Lai sasniegtu atbilstošu veiktspējas līmeni, tiek izmantots JIT kompilators, kura pamatā ir augstuma kodu ģenerators.

Lucet ir vēl viena Fastly projekta izpildlaika versija (kodu plānots publicēt šodien vai rīt).

WASI SDK- Rīki C / C ++ lietojumprogrammu apkopošanai tīmekļa montāžas formātā, izmantojot Clang 8.0.

Montāžas mērķis ar WASI atbalstu Rust valodai, kas ļauj apkopot Rust kodu WebAssemble.

Wasi-sysroot ir WASI standarta libc bibliotēkas ieviešana, kas balstīts uz musulmaņu kodu, kā arī izpildlaika slāni, lai bibliotēkas sniegtās funkcijas pārveidotu dažādu operētājsistēmu sistēmas izsaukumos, lai panāktu iespēju WASI lietojumprogrammu palaist dažādās operētājsistēmās.

Projektā tiek izstrādāta arī polifill JavaScript bibliotēka ar WASI ieviešanu, lai pārlūkprogrammā palaistu lietojumprogrammas., kas ļauj pārlūkprogrammā izpildītajam kodam piemērot piekļuves kontroles modeli "iespējas".

No plāniem tiek pieminēta WASI bāzes moduļu sistēmas izveidošana integrēšanai izolētās spraudņu lietojumprogrammās ar papildu funkcionalitāti, kas paredzēta WebAssembly formātā.

Viens no WebAssembly galvenajiem uzdevumiem ir nodrošināt pārnesamību, uzvedības paredzamību un koda izpildes identitāti dažādās platformās.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.