Kjo përfshin portin e bërthamës Linux për WebAssembly, i cili funksionon në shfletues.

NĂ« listĂ«n e shpĂ«rndarjes sĂ« zhvilluesve tĂ« bĂ«rthamĂ«s Linux janĂ« publikuar patch-e me implementimin e arkitekturĂ«s „Wasm“ pĂ«r bĂ«rthamĂ«n Linux, qĂ« lejon pĂ«rpunimin e bĂ«rthamĂ«s nĂ« kodin e ndĂ«rmjetĂ«m WebAssembly pĂ«r ekzekutimin e drejtpĂ«rdrejtĂ« nĂ« shfletuesin web pa nevojĂ«n pĂ«r emulatorĂ«. PĂ«r mĂ« tepĂ«r, projekti ka implementuar mundĂ«sinĂ« pĂ«r tĂ« drejtuar skedare ekzekutues nĂ« formatin „.wasm“ dhe ka pĂ«rgatitur njĂ« driver „web console“ pĂ«r simuluar ndĂ«rveprimin me konsolĂ«n nĂ« shfletues. Po ashtu, Ă«shtĂ« pĂ«rgatitur njĂ« mjet pĂ«r lehtĂ«simin e ndĂ«rtimit tĂ« mjediseve shoqĂ«ruese qĂ« ekzekutohen nĂ« shfletues.

Si njĂ« shembull, Ă«shtĂ« formuar njĂ« mjedis mbi bazĂ«n e grupeve tĂ« utiliteteve BusyBox tĂ« kompiluar nĂ« WebAssembly dhe bibliotekĂ«s sistemore musl. Si njĂ« emulator terminali pĂ«r punĂ«n me njĂ« mjedis tĂ« tillĂ« Ă«shtĂ« pĂ«rdorur Xterm.js. Veçmas Ă«shtĂ« aktivizuar njĂ« faqe demonstrimi, qĂ« lejon tĂ« vlerĂ«sohet puna e portit pa nevojĂ«n pĂ«r kompilim tĂ« vetĂ«. ËshtĂ« shpallur mbĂ«shtetje e plotĂ« pĂ«r shfletuesit nĂ« motorin Chromium dhe mbĂ«shtetje e pjesshme pĂ«r Firefox, nĂ« tĂ« cilin janĂ« tĂ« kufizuara mundĂ«sitĂ« pĂ«r debug. NĂ« kompjuterat modern, ngarkimi i ndĂ«rtimit tĂ« Wasm tĂ« bĂ«rthamĂ«s nĂ« shfletues zgjat mĂ« pak se njĂ« sekondĂ«.

Projekti është duke u zhvilluar për rreth dy vjet dhe në këtë fazë lejon ngarkimin e bërthamës në shfletues dhe ekzekutimin e programeve tipike. Puna akoma nuk ka përfunduar dhe porta ka disa probleme dhe kufizime të veçanta. Për shembull, ende nuk është realizuar mbështetje për thirrjet vfork dhe longjmp (patch-e janë aplikuar për BusyBox për të punuar pa to), ka mungesë të mundësisë për ndërprerjen e detyrave, MMU nuk është i disponueshëm (bërthama dhe proceset punojnë në të njëjtin hapësirë adresimi), nuk është e mundur të modifikohet kodi që është ngarkuar tashmë, dhe konsola ka tendencën për t'u ngadalësuar pas rreth 5 minutash për shkak të problemeve me timerin. Raportohet se kufizimet ekzistuese janë të kapërcyeshme, por për disa prej tyre kërkohet implementim i zgjerimeve shtesë në shfletues për WebAssembly. Të tilla zgjerime janë propozuar për MMU dhe pezullimin e rrjedhave.

Impossibilitatea de a suspenda execuția firelor Ăźn WebAssembly nu se integrează cu funcționarea programatorului de sarcini din kernel, dar multitasking-ul a fost realizat pe ocolit, prin legarea fiecărui fir/sarcină la propriul său CPU virtual, procesat Ăźntr-un Web Worker separat. În acest fel, s-a reușit obținerea execuției paralele a proceselor datorită motorului browserului și kernelului sistemului de operare gazdă, fără utilizarea multitasking-ului prin preemptare și fără schimbarea sarcinilor Ăźn kernelul rulat Ăźn browser. Interrupțiile și semnalele Ăźn acest sistem nu funcționează pe deplin, iar pentru livrarea Ăźntreruperilor temporizatorului și IPI (Inter-Processor Interrupt) este folosit un CPU virtual separat.

Domeniul de aplicare al proiectului depășește simpla lansare a mediilor Linux Ăźn browsere. De exemplu, portul poate fi folosit pentru a crea programe WebAssembly multiplataformă, care utilizează apeluri de sistem specifice Linux. Implementarea acestor apeluri de sistem poate fi convertită separat Ăźn WebAssembly și atașată aplicației, ceea ce va permite utilizarea acesteia fără legare la kernelul de sistem. Portul va fi, de asemenea, util pentru organizarea execuției izolate a aplicațiilor prin intermediul WASI (WebAssembly System Interface).

Din planuri se menționează experimente cu implementarea suportului grafic Ăźn medii cu kernel construit Ăźn WebAssembly – pe baza API-ului browserului WebGL se preconizează implementarea EGL și asigurarea funcționării OpenGL ES. De asemenea, se planifică implementarea suportului pentru formatul de depanare Dwarf pentru depanarea linie cu linie a codului.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster