Mozilla, Celeriter, Intel et Rubrum Hat WebAssembly promovere suggestum ad usum universalem

Mozilla, Celeriter, Intel et Rubrum Hat unitum eius conatus in technologias explicandas, quae auxilium praebent WebAssembly universalem suggestum ad exsecutionem codicis per quamlibet infrastructuram, systema operantem, seu fabricam. Communitas ad iuncturam progressionem runtimorum et compilariorum formata est quae usum WebAssembly non solum in navigatoribus interretis admittunt Bytecode Alliance.

Ad programmata portatilia creanda in forma WebAssembly tradita quae extra navigatrum exsecutioni mandari possunt, API utendo suggerimus Wasi (WebAssembly System Interface), quod programmatum praebet ad directum commercium cum systemate operante (POSIX API ad operandum cum fasciculis, basibus, etc.). Praecipuum notae exsecutionis exemplar applicationum WASI usus est quod in sandbox in ambitu segregationis e principali systemate concurrunt et uti mechanismo securitatis secundum facultatem administrationis actionum cum singulis facultatibus (lima, directoria, bases, systema vocat. etc. applicatio praebenda est opportunis permissionibus (tantum accessus ad officiationem declaratam proviso).

Unum proposita Foedus creatus est problema solvendi applicationes modulares cum magno numero clientium. In huiusmodi applicationibus, quaelibet dependentia potest esse principium potentiae vulnerum vel impetus. Imperare dependentiae permittit ut omnium applicationum quae cum eo coniunguntur imperium obtineas. Fiducia applicationis automatice fiduciam in omnibus dependenciis implicat, sed dependentiae saepe excultae et conservatae sunt in tertia factione, quarum actiones regere non possunt. Sodales Bytecode Foedus intendunt solutionem holistic praebere ad securam applicationum WebAssembly exsecutionem, quae in se non sunt fide digna.

Ad tutelam proponitur notio nanoprocessum uti, in qua singuli moduli dependentiae separatim separatim in WebAssembly moduli separantur, cuius potentiae tantum moduli ad hunc modulum referuntur (exempli gratia, bibliotheca ad chordas expediendas nolit. nervum retis vel lima aperire poterit). Dissimile processus separationis, tractatores WebAssembly leves sunt et paene nullas facultates additas requirunt - commercium inter tracto non multo tardius quam functiones ordinarias vocant. Separatio fieri potest non solum in ambitu singulorum modulorum, sed etiam in ambitu plurium modulorum qui, exempli gratia, opus est communibus locis memoriae operari.

Potestates rogatae determinari possunt tum ad ipsarum dependentiarum, et delegatae clientelas per catenam modulorum parentium (facultates in WASI consociata cum speciali speciei documenti descriptoris - capacitatis). Exempli gratia, modulus facultas derogari potest accessum specificae directorii et systematis vocationi, et si moduli progressio infrastructura est suspectus vel vulnerabilitas identificatur, in oppugnatione, accessus his tantum facultatibus limitatur. Resource declarationes a modulis creatoribus indicatas actionis suspectae esse possunt, sicut cum textus processus moduli petit licentiam retis connexionis aperiendi. Licentias initio positae sedantur et si mutent, dependentia onerationis reicitur donec loci moduli subscriptione renovata est.

Ad iuncturam progressus sub ala Bytecode Alliance translata plures ad WebAssembly projectsantea separatim elaboratae sunt societates fundatricis societatis:

  • wasmtime - runtime ad currendum applicationes WebAssembly cum extensionibus WASI sicut solius applicationes regulares. WebAssembly bytecode utrumque sustinet utens speciali mandato rectae utilitatis et nexus imaginum exsecutabilium paratorum (wasmtime in applicatione bibliothecae aedificatur). Wasmtime compages flexibilis modularis est quae te permittit ut currentem ad varias applicationes scandas, exempli gratia, versionem nudatam pro machinis cum limitibus facultatibus creare potes;
  • Lucet β€” compilator et runtime ad capiendum programmata in forma WebAssembly. Distinctive pluma Lucet est usus compilation praecedente plenae cursantis (AOT ante-temporis) loco JIT in codice machinae ad directam executionem idoneae. The project was developed by Fastly and is optimized to consume minimal resources and launch new instances celerrime (Fastly uses Lucet in a cloud edge computing engine that uses WebAssembly for handlers on each request launched). Ut pars incepti coniuncti, Lucet compilator converti se disponit ad usum Wasmtime pro fundamento;
  • WAMR (WebAssembly Micro Runtime) aliud tempus est ad capiendum WebAssembly, ab Intel primum elaboratum ad usum in Interreti Rerum machinis. WAMR optimized ad minimarum subsidiorum consummationem et in machinis cum parvo arietis quantitate adhiberi potest. Project interpretem ac virtualem machinam ad exsequendam WebAssembly bytecode, API (subst Libc) et instrumenta pro administratione applicationis dynamicae comprehendit;
  • pullus vitae - codicem generans qui mediam repraesentationem independentem ab architecturae ferrariae vertit in ipsum codicem apparatus exsecutabilem optimized pro certis suggestis ferrariis. Cranelift sustentat parallelizationem functionis compilationi pro velocissimo generationis proventu, quae permittit adhiberi ad compilatores JIT creandos (Cranelift-substructio JIT in machina virtualis Wasmtime adhibetur);
  • WASI communi - separatum exsecutionem WASI (WebAssembly System Interface) API ad commercium cum systemate operante ordinandum;
  • navis-wasi - modulus sarcinae sarcinariae pro villico qui mandatum instruit ad componendum codicem Rustensem in WebAssembly bytecode utens WASI instrumenti ad usura WebAssembly extra navigatrum;
  • exc ΠΈ wasmparser β€” parsers pro textuum parsing (WAT, WAST) et repraesentationes binae per WebAssembly bytecode.

Ut recap, WebAssembly est multus similis Asm.js, sed alium in eo quod est forma binaria quae JavaScript non ligatur et codicem intermedium humili gradu exaratum ex variis programmatibus linguarum in navigatro exsecutioni mandandam concedit. Purgamentum init collector WebAssembly non indiget quia expressa memoria administratione utitur. Adhibitis JIT pro WebAssembly, efficere potes gradus perficiendi prope codicem nativum. Inter proposita principalia WebAssembly procurat portabilitatem, mores praevidere et idem codicem exsecutionem in diversis suggestis.

Source: opennet.ru