Chromiumi projekt toetab Rusti teekide kasutamist

kroom

, toetab Chromiumi projekt kolmandate osapoolte C++ Rust teekide kasutamist Chromiumis

Google avalikustas hiljutised uudised, et Chromiumi projekti taga on meeskond tegeleb Rusti tööriistaahela lisamisega tootmisest teie ehitussüsteemini.

Neile, kes pole veel Rustist teadlikud, peaksid nad seda hästi meeles pidama, sest see programmeerimiskeel, mille Mozilla töötas välja spetsiaalselt brauseri kirjutamiseks, on hakanud immitsema ja võetud vastu paljudes olulistes projektides, millest üks on Rust Kernel. Linux.

See võimaldab meil järgmise aasta jooksul lisada Rusti koodi Chrome'i binaarfaili. Eesmärk on alustada väikesest ja seada selged ootused, millistele raamatukogudele nende valmimisel mõeldakse.

Seega on loogiline, et Chromium hakkab lõpuks ka seda tehnoloogiat kasutusele võtma. Google'i jaoks täidab Rusti kasutuselevõtt Chromiumis eesmärgi pakkuda lihtsamat ja turvalisemat viisi kahe reegli järgimiseks, milleks on kiirendada Chrome'i arendamist ja parandada turvalisust, lisaks turvalisuse parandamisele ja mäluvigade eemaldamisele. ja vigade tiheduse vähendamine koodis.

Teame, et C++ ja Rust saavad väga hästi koos töötada tänu sellistele tööriistadele nagu cxx, autocxx bindgen, cbindgen, diplomat ja (eksperimentaalne) crubit. Siiski on ka piiranguid. Võime eeldada, et nende piirangute kuju uute või täiustatud tööriistadega aja jooksul muutub, kuid siinsed otsused ja kirjeldused põhinevad tehnoloogia praegusel seisukorral.

Otsus võeti osana algatusest, et vältida mäluvigade ilmnemist Chrome'i koodibaasis. Kaks aastat tagasi esitatud statistika kohaselt on 70% Chromiumi kriitilistest ja ohtlikest turbeprobleemidest tingitud mäluvigadest.

Rust keele kasutamine, mis keskendub turvalisele mäluhaldusele ja pakub automaatset mäluhaldust, vähendab see haavatavust, mis on põhjustatud sellistest probleemidest nagu juurdepääs mälupiirkonnale pärast selle vabastamist ja puhvri ületäitumine.

Rusti Chromiumi toomise eesmärk on pakkuda lihtsamat (ilma IPC-ta) ja turvalisemat (üldiselt vähem keerukas C++, ilma liivakastimälu turvavigadeta) viis kahe reegli täitmiseks, et kiirendada arendust (vähem kirjutada koodi , vähem kujundusdokumente, vähem turvapaiku) ja Chrome'i turvalisuse parandamiseks (rohkem koodiridu ilma turvavigadeta mälus, väiksem koodivigade tihedus). Lisaks on ettevõte kindel, et saame selle eesmärgi saavutamiseks kasutada kolmandate osapoolte Rust teeke.

2022. aasta alguses oli Chromiumi meeskond juba Rustiga katsetanud ja jõudsin mõne kuu pärast järeldusele et keel ei sobi esialgu C++ asenduseks keerukatele asünkroonse koodiga ülesannetele, mis peavad töötama koos olemasoleva koodiga.

Seetõttu Rust in Chromiumi kavandatud kasutamine on alguses selgelt piiratud. Esiteks läheb interop ainult ühte teed: C++-st Rustini. Teisest küljest on esialgu lubatud ainult kolmandate osapoolte teekide kasutamine. Need töötavad eraldiseisvate komponentidena ja ei sõltu Chromiumi sisemistest komponentidest. Teegidel peaks teie konkreetse ülesande jaoks olema lihtne API. Seejärel uurib Chromiumi tiim teeke.

Lõpetuseks tasub mainida seda sellisena Chromiumi toe lisamine võimaldab Rust-koodil pordida Chrome'i binaarfailidesse alates järgmisest aastast. Otsuses käsitletakse peamiselt turvalisuse küsimust: Rust pakub mällu kirjutamisel suuremat turvalisust kui C++ ja keelab potentsiaalselt kahjuliku käitumise, nagu kirjutamata muutujate lugemine, massiivide seatud piirangutest kaugemale pääsemine, null- või kehtetute osutite viitamise tühistamine, tühistatud iteraatorite kasutamine. .

Kui teil on huvi selle kohta rohkem teada saada, võite tutvuda üksikasjadega Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.