Miguel Ojeda, autori i projektit Rust-for-Linux, propozoi pĂ«r shqyrtim nga zhvilluesit e kernel-it Linux lĂ«shimin e v10 tĂ« komponentĂ«ve pĂ«r zhvillimin e piloteve tĂ« pajisjeve nĂ« gjuhĂ«n Rust. Kjo Ă«shtĂ« redaktimi i njĂ«mbĂ«dhjetĂ« i patches, duke marrĂ« parasysh versionin e parĂ«, i publikuar pa numĂ«r versioni. PĂ«rfshirja e mbĂ«shtetjes pĂ«r Rust Ă«shtĂ« miratuar nga Linus Torvalds pĂ«r t'u pĂ«rfshirĂ« nĂ« kernel-in Linux 6.1, nĂ«se nuk shfaqen probleme tĂ« papritura. Zhvillimi financohet nga kompania Google dhe organizata ISRG (Grupi KĂ«rkues pĂ«r SigurinĂ« nĂ« Internet), e cila Ă«shtĂ« themeluesi i projektit Letâs Encrypt dhe ndihmon nĂ« promovimin e HTTPS dhe zhvillimin e teknologjive pĂ«r tĂ« rritur sigurinĂ« nĂ« internet.
Ashtu si versioni i kaluar i patches, lëshimi v10 është reduktuar deri në minimumin e nevojshëm, të mjaftueshëm për të ndërtuar një modul të thjeshtë të kernel-it, të shkruar në gjuhën Rust. Diferencat nga versioni i kaluar përfshijnë disa rregullime të vogla, zëvendësimin e sizeof me ARRAY_SIZE në kallsyms.c dhe adaptojnë patches për kernel-in v6.0-rc7. Pranohet se patchi minimal, i cili ka reduktuar madhësinë nga 40 në 13 mijë rreshta kodi, do të thjeshtojë miratimin e mbështetjes për Rust në përbërjen kryesore të kernel-it. Pas sigurimit të mbështetjes minimale, planifikohet të rritet gradualisht funksionaliteti ekzistues, duke transferuar edhe ndrytime të tjera nga dega Rust-for-Linux.
Ndryshimet e propozuara japin mundësinë për të përdorur Rust si gjuhë të dytë për zhvillimin e drejtorive dhe moduleve të bërthamës. Mbështetje për Rust paraqitet si një opsion, jo aktiv në mënyrë të paracaktuar dhe nuk e bën Rust një nga varësitë e detyrueshme për ndërtimin e bërthamës. Përdorimi i Rust për zhvillimin e drejtorive do t'i lejojë krijimin me përpjekje minimale të drejtorive të sigurta dhe më cilësore, të cilat janë të çliruara nga probleme si qasja në hapësirën e memories pas liqenit, dereferimi i treguesve null dhe dalja jashtë kufijve të tamponit.
Trajtimi i sigurt i memories garantohet në Rust gjatë kompilimit përmes verifikimit të referencave, ndjekjes së pronësisë së objekteve dhe marrëveshjes së kohëzgjatjes së objekteve (zona e dukshmërisë), si dhe përmes vlerësimit të saktësisë së qasjes në memory gjatë ekzekutimit të kodit. Rust gjithashtu ofron mjete për mbrojtjen nga mbushjet e numrave të plotë, kërkon inicializimin e detyrueshëm të vlerave të variablave përpara përdorimit, trajton më mirë gabimet në bibliotekën standarde, zbaton konceptin e referencave dhe variablave të pazëvendësueshëm (immutable) si standard, dhe ofron tipizim të fortë statik për minimizimin e gabimeve logjike.
Burimi: opennet.ru
