U-70% wezinkinga zokuphepha ku-Chromium abangelwa amaphutha enkumbulo

Onjiniyela bephrojekthi ye-Chromium kuhlaziywe 912 ubungozi obuphezulu nobusengozini obubalulekile obuhlonzwe ekukhishweni okuzinzile kwe-Chrome kusukela ngo-2015, futhi baphetha ngokuthi u-70% wabo adalwe ukungavikeleki kwenkumbulo (amaphutha lapho usebenza nezikhombi kukhodi ye-C/C++). Ingxenye yalezi zinkinga (36.1%) ibangelwa ukufinyelela kusigcinalwazi ngemva kokukhulula inkumbulo ehlotshaniswa nayo (ukusebenzisa ngemva kokukhululeka).

U-70% wezinkinga zokuphepha ku-Chromium abangelwa amaphutha enkumbulo

Lapho udizayina i-Chromium kwasekuqaleni wabeka phansi, ukuthi kungenzeka ukuthi amaphutha avele kukhodi, ngakho-ke kwagcizelelwa kakhulu ukusetshenziswa kwe-sandbox ukuhlukaniswa ukuze kukhawulwe imiphumela yokuba sengozini. Njengamanje, amathuba okusebenzisa lobu buchwepheshe afinyelele umkhawulo wamakhono awo futhi ukuhlukaniswa okuqhubekayo kwezinqubo akunakwenzeka ngokombono wokusetshenziswa kwezinsiza.

Ukugcina ukuphepha kwe-codebase, i-Google iphinde isebenzise "umthetho wesibiliβ€œ, ngokuya ngokuthi noma iyiphi ikhodi eyengeziwe akumele ihlangabezane nemibandela emibili kwezintathu: ukusebenza ngedatha yokufaka engaqinisekisiwe, kusetshenziswa ulimi lokuhlela olungaphephile (C/C++) nokusebenza ngamalungelo aphakeme. Lo mthetho usikisela ukuthi ikhodi yokucubungula idatha yangaphandle kufanele yehliswe ibe amalungelo amancane (ihlukaniswe) noma ibhalwe ngolimi lokuhlela oluvikelekile.

Ukuze kuthuthukiswe ukuphepha kwesisekelo sekhodi, kuye kwaqaliswa iphrojekthi yokuvimbela amaphutha ememori ukuthi avele esisekelweni sekhodi. Kunezindlela ezintathu eziyinhloko: ukudala imitapo yolwazi ye-C++ enemisebenzi yokusebenza okuphephile kwenkumbulo nokwandisa ububanzi bomqoqi kadoti, kusetshenziswa izindlela zokuvikela ihadiwe. I-MTE (Isandiso sokumaka iMemori) kanye nezingxenye zokubhala ngezilimi eziqinisekisa umsebenzi ophephile ngenkumbulo (Java, Kotlin, JavaScript, Rust, Swift).

Kulindeleke ukuthi umsebenzi ugxile emikhakheni emibili:

  • Ushintsho olubalulekile enqubweni yokuthuthukisa i-C++, engafaki ngaphandle umthelela omubi ekusebenzeni (ukuhlolwa kwemingcele eyengeziwe nokuqoqwa kukadoti). Esikhundleni sezinkomba ezingavuthiwe, kuhlongozwa ukusebenzisa uhlobo MiraclePtr, okuvumela ukuthi wehlise amaphutha asebenzisekayo asebenziseka kalula ukuya ekuphahlazekeni okungabangeli usongo lwezokuphepha, ngaphandle komthelela omubi obonakalayo ekusebenzeni, ukusetshenziswa kwenkumbulo nokuzinza.
  • Ukusetshenziswa kwezilimi eziklanyelwe ukuhlola ukuphepha kwenkumbulo ngesikhathi sokuhlanganiswa (kuzosusa umthelela omubi ekusebenzeni okukhona kulokho kuhlola ngesikhathi sokwenziwa kwekhodi, kodwa kuzoholela ezindlekweni ezengeziwe zokuhlela ukusebenzisana kwekhodi ngolimi olusha ngekhodi C++).

Ukusebenzisa imitapo yolwazi ephephile ngenkumbulo kuyindlela elula, kodwa futhi engasebenzi kahle. Ikhodi yokubhala kabusha ku-Rust ikalwe njengendlela ephumelela kakhulu, kodwa futhi ebiza kakhulu.

U-70% wezinkinga zokuphepha ku-Chromium abangelwa amaphutha enkumbulo

Source: opennet.ru

Engeza amazwana