I-Mozilla iQalisa ukuSebenzisa i-RLBox yeThala leeNcwadi loKukwahlulwa kweTekhnoloji

Abaphandi abavela kwiYunivesithi yaseStanford, iYunivesithi yaseCalifornia eSan Diego kunye neDyunivesithi yaseTexas eAustin iphuhlisiwe izixhobo I-RLBox, enokusetyenziswa njengomaleko owongezelelweyo wokuzibekela bucala ukuvala ubuthathaka kwiilayibrari ezisebenzayo. I-RLBox ijolise ekusombululeni ingxaki yokhuseleko lwamathala eencwadi angaphandle angathembekanga angekho phantsi kolawulo lwabaphuhlisi, kodwa abanobuthathaka obunokuthi bubeke esichengeni iprojekthi engundoqo.

Inkampani yaseMozilla izicwangciso sebenzisa iRLBox kwiLinux yokwakha yeFirefox 74 kunye nokwakhiwa kweMacOS yeFirefox 75 ukwahlula ukwenziwa kwethala leencwadi. IGraphite, uxanduva lokunikezela ngeefonti. Nangona kunjalo, iRLBox ayingqalanga kwiFirefox kwaye inokusetyenziselwa ukwahlula nawaphi na amathala eencwadi kwiiprojekthi ezingafanelekanga. Uphuhliso I-RLBox usasazeko phantsi kwelayisenisi ye-MIT. I-RLBox okwangoku ixhasa iLinux kunye neeplatifti ze-macOS, kunye nenkxaso yeWindows elindelwe kamva.

Indlela Umsebenzi weRLBox wehla ekuqulunqeni ikhowudi yeC/C++ yelayibrari ekwanti kwikhowudi ye-WebAssembly ekwinqanaba elisezantsi, ethi emva koko iyilwe njengemodyuli yeWebAssembly, iimvume zazo ezimiselwe ngokunxulumene kuphela kule modyuli (umzekelo, ithala leencwadi. kuba imitya yokucubungula ayizukwazi ukuvula i sokethi yenethiwekhi okanye ifayile) . Ukuguqula i-C / C ++ ikhowudi kwiWebAssembly yenziwa ngokusebenzisa wasi-sdk.

Ukwenziwa ngokuthe ngqo, imodyuli yeWebAssembly ihlanganiswe kwikhowudi yomatshini usebenzisa umqokeleli Lucet kwaye iqhuba kwindawo eyahlukileyo "ye-nanoprocess" esecaleni kuyo yonke imemori yesicelo. Umqokeleli weLucet usekwe kwikhowudi efanayo ne-injini yeJIT ukuphakamisa i-crane, esetyenziswa kwiFirefox ukwenza iWebAssembly.

Imodyuli edibeneyo isebenza kwindawo yememori eyahlukileyo kwaye ayinakho ukufikelela kuyo yonke indawo yedilesi. Ukuba ubuthathaka kwithala leencwadi kusetyenziswa, umhlaseli uya kulinganiselwa kwaye akayi kukwazi ukufikelela kwiindawo zememori yenkqubo ephambili okanye ulawulo lokudlulisa ngaphandle kwendawo esecaleni.

I-Mozilla iQalisa ukuSebenzisa i-RLBox yeThala leeNcwadi loKukwahlulwa kweTekhnoloji

Ulwazi olukwinqanaba eliphezulu lunikezelwa kubaphuhlisi API, ekuvumela ukuba ufowunele imisebenzi yethala leencwadi kwimo yokwahlula. Abaphathi beWebAssembly bafuna phantse akukho zixhobo ezongezelelweyo kunye nokusebenzisana nabo akucothi kakhulu kunokubiza imisebenzi eqhelekileyo (imisebenzi yethala leencwadi iqhutywa ngohlobo lwekhowudi yemveli, kwaye iindleko eziphezulu zivela kuphela xa ukopisha kwaye ujonga idatha ngexesha lokusebenzisana nendawo ekwanti). Imisebenzi ekwanti yethala leencwadi ayinakubizwa ngokuthe ngqo kwaye kufuneka ifikeleleke ngokusetyenziswa
umaleko invoke_sandbox_function().

Ngokulandelayo, ukuba kuyimfuneko ukubiza imisebenzi yangaphandle kwithala leencwadi, le misebenzi kufuneka ichazwe ngokucacileyo kusetyenziswa indlela yerejista_callback (ngokungagqibekanga, iRLBox ibonelela ngokufikelela kwimisebenzi. ilayibrari eqhelekileyo). Ukuqinisekisa ukhuseleko lwememori, ukuhlukaniswa kwekhowudi akwanelanga kwaye kufuna kwakhona ukujonga imijelo yedatha ebuyisiweyo.

Amaxabiso enziwe kwindawo ekwanti aphawulwa njengengathembekanga kwaye asetyenziswe umda amanqaku angcolileyo kunye "nokucoca" bafuna ukungqinisisa kunye nokukopa kwimemori yesicelo.
Ngaphandle kokucoca, ukuzama ukusebenzisa idatha engcolileyo kumxholo ofuna idatha eqhelekileyo (kunye nelinye icala) kubangela ukuba iimpazamo zenziwe ngexesha lokuqokelela. Iingxoxo ezincinci zomsebenzi, amaxabiso okubuyisela, kunye nezakhiwo zigqithiswa ngokukopa phakathi kwememori yenkqubo kunye nememori yebhokisi yesanti. Kwiiseti zedatha enkulu, imemori yabelwe kwindawo ekwanti kwaye isalathisi esibhekiselele kwibhokisi yesanti sibuyiselwa kwinkqubo ephambili.

umthombo: opennet.ru

Yongeza izimvo