Projekti Chromium do të mbështesë përdorimin e bibliotekave Rust

Kromi

, projekti Chromium do të mbështesë përdorimin e bibliotekave të palëve të treta C++ Rust në Chromium

Google zbuloi lajmet së fundmi se ekipi që qëndron pas projektit Chromium po punon për shtimin e një zinxhiri mjetesh Rust nga prodhimi në sistemin tuaj të ndërtimit.

Për ata që nuk janë ende në dijeni të Rust-it, duhet ta mbajnë mend mirë sepse kjo gjuhë programimi, e cila u zhvillua nga Mozilla posaçërisht për t'u përdorur për të shkruar një shfletues, ka filluar të depërtojë dhe të pranohet në shumë projekte të rëndësishme, një prej tyre është Rust Kernel. Linux.

Kjo do të na lejojë të përfshijmë kodin Rust në binarin e Chrome gjatë vitit të ardhshëm. Qëllimi është të fillojmë të vogla dhe të vendosim pritshmëri të qarta për të cilat bibliotekat do të merren parasysh kur të jenë gati.

Pra, është e arsyeshme që Chromium më në fund po fillon ta nxjerrë edhe atë teknologji. Për Google, prezantimi i Rust në Chromium do të përmbushë objektivin e ofrimit të një mënyre më të lehtë dhe më të sigurt për t'u pajtuar me rregullin e dyve, që është të përshpejtojë zhvillimin dhe të përmirësojë sigurinë e Chrome, përveç përmirësimit të sigurisë, heqjes së gabimeve të kujtesës. dhe duke reduktuar densitetin e gabimeve në kod.

Ne e dimë se C++ dhe Rust mund të punojnë shumë mirë së bashku, falë mjeteve si cxx, autocxx bindgen, cbindgen, diplomat dhe crubit (eksperimental). Megjithatë, ka edhe kufizime. Mund të presim që forma e këtyre kufizimeve të ndryshojë me kalimin e kohës me mjete të reja ose të përmirësuara, por vendimet dhe përshkrimet këtu bazohen në gjendjen aktuale të teknologjisë.

Vendimi është marrë si pjesë e një nisme për të parandaluar shfaqjen e gabimeve në kujtesë në bazën e kodeve të Chrome. Sipas statistikave të ofruara dy vjet më parë, 70% e çështjeve kritike dhe të rrezikshme të sigurisë në Chromium janë për shkak të gabimeve të kujtesës.

Përdorimi i gjuhës Rust, e cila fokusohet në menaxhimin e sigurt të kujtesës dhe siguron menaxhimin automatik të kujtesës, do të zvogëlojë rrezikun e dobësive të shkaktuara nga çështje të tilla si qasja në një zonë të memories pasi të jetë liruar dhe tejmbushja e tamponit.

Qëllimi i sjelljes së Rust në Chromium është të ofrojë një mënyrë më të lehtë (pa IPC) dhe më të sigurt (më pak komplekse C++ në përgjithësi, pa defekte të sigurisë së kujtesës me sandbox) për të përmbushur rregullin e dy, në mënyrë që të përshpejtohet zhvillimi (më pak kod për të shkruar , më pak dokumente dizajni, më pak arna sigurie) dhe për të përmirësuar sigurinë (më shumë linja kodi pa gabime sigurie në memorie, densitet më i ulët i gabimeve të kodit) të Chrome. Për më tepër, kompania ka besim se ne mund të përdorim bibliotekat e palëve të treta Rust për të arritur këtë qëllim.

Në fillim të vitit 2022, ekipi i Chromium kishte eksperimentuar tashmë me Rust dhe pas disa muajsh doli në përfundim se gjuha fillimisht është e papërshtatshme si një zëvendësim në C++ për detyra komplekse me kod asinkron që duhet të funksionojë së bashku me kodin ekzistues.

Prandaj, përdorimi i planifikuar i Rust në Chromium është qartësisht i kufizuar në fillim. Për një gjë, ndërveprimi do të shkojë vetëm në një mënyrë: nga C++ në Rust. Nga ana tjetër, fillimisht lejohet vetëm përdorimi i bibliotekave të palëve të treta. Këto funksionojnë si komponentë të pavarur dhe janë të pavarur nga përbërësit e brendshëm të Chromium. Bibliotekat duhet të kenë një API të thjeshtë për detyrën tuaj specifike. Ekipi i Chromium do të ekzaminojë më pas bibliotekat.

Në fund, vlen të përmendet se si e tillë Shtimi i mbështetjes në Chromium do të lejojë që kodi Rust të transferohet në binarët e Chrome duke filluar nga viti i ardhshëm. Vendimi kryesisht trajton çështjen e sigurisë: Rust ofron siguri më të madhe kur shkruani në memorie sesa C++ dhe ndalon sjelljet potencialisht të dëmshme si leximi i variablave të pashkruara, aksesi përtej kufijve të vendosur nga vargje, mosreferencimi i treguesve null ose të pavlefshëm, përdorimi i përsëritësve të anashkaluar. .

Nëse jeni të interesuar të dini më shumë rreth tij, mund të konsultoheni me detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.