Mendimi i Greg Kroah-Hartman dhe Kase Cook mbi promovimin e Rust në bërthamën Linux

Greg Kroah-Hartman, përgjegjës për mbështetje e degës stabile të bërthamës Linux, ka shprehur mbështetje për zhvillimin e komponenteve të reja të bërthamës në gjuhën Rust. Si një person përmes të cilit kalon çdo informacion mbi defektet dhe dobësitë në bërthamën Linux për 15 vitet e fundit, ai pretendon se shumica e defekteve në bërthamë shkaktohen nga veçoritë e pa konsideruara të gjuhës C (corner case), të cilat janë plotësisht të përjashtuar në kodin e gjuhës Rust.

Duke përdorur Rust, do të jetë e mundur të lëmë pas probleme si përdorimi i memories pas çlirimit të saj, dalja jashtë kufijve të tamponëve (pjese), çlirimi i papërshtatshëm i burimeve gjatë trajtimit të gabimeve dhe harrim i kontrolleve të kodit të gabimit të kthyer, gjë që do t'i lejojë mbajtësve të përqendrohen në gabimet reale, si gjendjet e garës dhe problemet me logjikën, dhe jo të shpërndajnë vëmendjen gjatë rishikimit për detaje të vogla.

Kodi ekzistues i vjetër në gjuhën C nuk do të zhduket, por për kodin e ri dhe për driverat e rinj, implementimi i Rust do të lejojë një rritje të ndjeshme të cilësisë. Implementimi i Rust gjithashtu do të ofrojë mundësinë për të strukturuar ndërfaqet e brendshme programore të bërthamës në një mënyrë që do të përjashtojnë praktikisht gabimet në përdorimin e API-ve të brendshme — në bërthamë ka shumë API komplekse dhe të ngatërruara, që krijojnë një ngarkesë të madhe për mbajtësit në punën e tyre për të verifikuar se këto API përdoren siç duhet. Në procesin e zhvillimit të lidhjeve Rust, mbajtësit fitojnë mundësinë për të rishikuar dhe rregulluar API-në, që do të sjellë dobi për të gjithë, përfshirë ata që përdorin gjuhën C.

Greg nuk e sheh Rust si "pistolën e argjendtë" që do të zgjidhë të gjitha problemet në bërthamë, por ky gjuhë me siguri do të ndihmojë në një numër të madh situatash. Mbështetja për Rust gjithashtu do të përmbushë nevojën e zhvilluesve të driverave, të cilët shpresojnë të marrin një mjet që u lejon të shkruajnë kod për pajisjet e tyre, duke eliminuar shumë lloje gabimesh. Sa i përket përzierjes së disa gjuhëve, Greg nuk e sheh këtë si një problem të madh; sipas mendimit të tij, në të kaluarën zhvilluesit e bërthamës kanë përballuar dhe me sfida më serioze, dhe nuk ka asnjë arsye për të refuzuar promovimin e ideve të reja të mira në bërthamë që do të ndihmojnë në sigurimin e suksesit të projektit për më shumë se 20+ vjet.

Diskutimi është bashkuar gjithashtu nga Kees Cook, ish-administrator kryesor i kernel.org dhe lider i Ekipit të Sigurisë së Ubuntu. Kees sqaroi se nuk bëhet fjalë për riprogramimin e kodit ekzistues në bërthamë, por për ofrimin e mundësisë për të përdorur Rust për të krijuar drejtues dhe nën-sisteme të reja. Përdorimi i Rust për kodin e ri do të lejojë jo vetëm uljen e numrit të gabimeve në menaxhimin e memories, por gjithashtu do të shkurtojë kohën e zhvillimit. Shpejtësia e zhvillimit rritet falë reduktimit të burimeve të nevojshme për debug dhe garantive të forta që ofron gjuha, të cilat lejojnë identifikimin e gabimeve që në fazat e hershme të shkruarjes së kodit, para se të fillojë testimi i produktit.

Efektiviteti i taktikës së përdorimit të Rust për rritjen e cilësisë së kodit të ri tashmë është demonstruar nga Google në platformën Android. Është treguar se burimi kryesor i problemeve me sigurinë është kodi i ri, dhe rritja e cilësisë së tij duhet të jetë prioritet. Për kodin e vjetër, vërehet një varësi eksponenciale e sigurisë ndaj kohës (për shembull, kodi 5-vjeçar në mesatarisht ka 3.4 herë më pak densi të dobësive se kodi i ri).

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster