Në konferencën Open-Source Summit 2022 që po zhvillohet këto ditë, Linus Torvalds përmendi mundësinë e një integrimi të shpejtë në kernelin Linux të komponentëve për zhvillimin e drejtorive të pajisjeve në gjuhën Rust. Nuk përjashtohet që patch-et me mbështetje për Rust të pranohen në dritaren më të afërt për pranimin e ndryshimeve, që formon përbërjen e kernelit 5.20, e cila pritet të zbatohet në fund të shtatorit.
Kërkesa për të përfshirë ndryshimet në kernel ende nuk është dërguar tek Torvalds, por grupi i patch-eve ka kaluar një rishikim shtesë, duke u liruar nga vërejtjet kryesore, dhe tashmë është testuar prej një kohë të gjatë në degën linux-next duke arritur një gjendje të përshtatshme për krijimin e shtresave të abstraksionit mbi nën-sistemet e kernelit, përshkrimin e drejtorive dhe moduleve. Mbështetja për Rust paraqitet si një opsion, që nuk është aktivizuar nga default dhe nuk përcjell përfshirjen e Rust si një nga varësitë e domosdoshme për ndërtimin e kernelit.
N ndryshimet e propozuara ofrojnë mundësinë e përdorimit të Rust si një gjuhë të dytë për zhvillimin e drejtorive dhe moduleve të kernelit. Përdorimi i Rust për zhvillimin e drejtorive do të lejojë krijimin e drejtorive të sigurta dhe cilësore me përpjekje minimale, duke eliminuar probleme të tilla si të qasurit në hapësirën e memories pas lirimit të saj, dereferencimi i treguesve null dhe dalja jashtë kufijve të tamponit.
Funksionaliteti i sigurt i punës me kujtesën sigurohet në Rust gjatë kompilimit përmes verifikimit të referencave, ndjekjes së pronësisë së objekteve dhe llogaritjes së kohëzgjatjes së jetës së objekteve (fusha e dukshmërisë), si dhe përmes vlerësimit të saktësisë së aksesit në memorie gjatë ekzekutimit të kodit. Rust ofron gjithashtu mjete për mbrojtjen nga tejkalimet e numrave të tërë, kërkon inicializimin e detyrueshëm të vlerave të variablave para përdorimit, trajton më mirë gabimet në bibliotekën standarde, zbaton konceptin e referencave dhe variablave të pandryshueshëm (immutable) si parazgjedhje, dhe ofron një tipizim statik të fortë për të minimizuar gabimet logjike.
Burimi: opennet.ru
