Në konferencën që po zhvillohet këto ditë, Maintainers Summit, u diskutuan rezultatet e eksperimentit për shtimin në bërthamën Linux të mundësisë për të zhvilluar komponentë në gjuhën Rust. Merrësit e këtij takimi e panë eksperimentin si të suksesshëm dhe vendosën ta kalojnë mbështetje në gjuhën Rust në kategorinë e pjesëve kryesore të bërthamës, duke hequr kështu etikën e funksionalitetit eksperimental.
Tre vjet më parë, mundësia për të zhvilluar drejtpërdrejtore dhe module në gjuhën Rust u shtua në bërthamën 6.1. Që atëherë, janë përfshirë abstraksione për zhvillimin e drejtpërdrejtoreve në Rust për GPU, FS, pajisje bllokuese, adapterë rrjeti dhe pajisje USB. Në gjuhën Rust po zhvillohet drejtpërdrejtori Nova për GPU NVIDIA, asahi për GPU Apple AGX, Tyr për GPU ARM Mali, rust_ext2 për FS Ext2. Në bërthamë është pranuar një implementim IPC Binder i shkruar në Rust. Projekte RROS po zhvillon një nën-sistemi në kohë reale për bërthamën Linux, e shkruar në Rust. Mbështetje për Rust është joaktive si parazgjedhje dhe nuk çon në përfshirjen e Rust në numrin e varësive të detyrueshme për ndërtimin e bërthamës.
Sipas mbështetësve të promovimit të Rust, kjo gjuhë eliminon shumicën e gabimeve që dalin në bërthamë dhe që shkaktohen nga veçoritë e gjuhës C (corner case), duke lejuar që gjatë rishikimit të fokusohemi në gabimet logjike dhe gjendjet e garës. Rust ndihmon në elimimin e problemeve si qasja në memorie pas çlirimit të saj, dalja jashtë kufirit të buffer-it, lëshimi i pakorrigjuar i burimeve gjatë trajtimit të gabimeve dhe kontrolli i haruar i kodit të kthimit të gabimeve. Përdorimi i Rust për kodin e ri gjithashtu ofron mundësinë për të reduktuar kohën e zhvillimit, falë uljes së kostove për debugsim dhe pranishmërisë në gjuhë të garancive të forta, që zbulojnë gabimet në faza të hershme të shkruarjes së kodit.
KundĂ«rshtarĂ«t e implementimit tĂ« Rust nĂ« bĂ«rthamĂ« e konsiderojnĂ« tĂ« papranueshĂ«m pĂ«rdorimin e disa gjuhĂ«ve programuese nĂ« projekte tĂ« komplikuara â bazat e pĂ«rziera tĂ« kodit e komplikohet punĂ«n e mbajtĂ«sve, pasi i vĂ«nĂ« ata nĂ« varĂ«si nga kodi nĂ« njĂ« gjuhĂ« tjetĂ«r. PĂ«r shembull, kur ka mbĂ«shtetje nĂ« Rust, zhvilluesit e nĂ«n-sistemeve tĂ« shkruara nĂ« C duhet tĂ« marrin parasysh ndikimin e ndryshimeve nĂ« vazhdimĂ«sinĂ« e funksionit tĂ« mbĂ«shtetjes.
Burimi: opennet.ru
