Rust për Linux përfshin disa përmirësime për të mbështetur

Gjatë muajve të fundit Zhvilluesit e Linux kanë debatuar mundësia e lejojnë përdorimin e gjuhës Rust për të shkruar drejtues të rinj pajisjesh për kernel.

Vitin e kaluar, zhvilluesit e kernelit Linux ata duket se kanë arritur një marrëveshje për këtë çështje, Mbështetësit e Rust kanë përmendur punën që tregon se afërsisht dy të tretat e dobësive të kernelit të caktuara CVE në Android dhe Ubuntu janë të lidhura me çështjet e sigurisë së kujtesës.

Pas kësaj deklarate, Linus Torvalds, inxhinier softuerësh, krijues kryesor dhe zhvillues i kernelit Linux, tha në një intervistë se diskutimet mbi këtë temë do të ishin shumë më të rëndësishme sesa një postim i gjatë në Google për gjuhën.

Kur u pyet për sugjerimin për të përdorur Rust, ai tregoi se, "Zgjidhja këtu është e thjeshtë: thjesht përdorni C ++ në vend të Rust".

Pas kësaj në mars u lançua mbështetja e parëe cila lejoi që drejtuesit Rust të vendosen në pemën Linux-Next për testim të mëtejshëm përpara përfshirjes së tyre eventuale në kernelin kryesor.

Menjëherë pas saj ishte një "kërkesë për koment" e ribotuar në listën e postimeve të kernelit në lidhje me perspektivën e kodit Rust për kernelin Linux.

Miguel OjedaZhvilluesi i kernelit Linux filloi një propozim për Kërkesë për Komente (RFC) në listën e postimeve të kernelit Linux.

Postimi i listës së postimeve përshkruan besimet e zhvilluesve të përfshirë në shtimin e kodit Rust në kernel, përfitime si përmirësimi i sigurisë së kujtesës dhe më shumë.

“Disa prej jush kanë vënë re javët dhe muajt e fundit se po bëhet një përpjekje serioze për të sjellë një gjuhë të dytë në kernel. Më në fund jemi atje, me një RFC që shton mbështetjen e Rust në kernelin Linux, "tha Miguel Ojeja. "Ne e dimë se ka kosto dhe rreziqe të mëdha në futjen e një gjuhe të re në kernel," shtoi ai.

Ekipi i Projektit Rust për Linux kaloi nga përpiluesi Rust beta në përdorimin e lëshimeve të qëndrueshme, duke migruar sa herë që lëshohet një version i ri.

"Dëshirojmë të falënderojmë Rust që ka punuar me ne në këto opsione në mënyrë që kerneli të mund t'i përdorë ato," tha Miguel.

Kur përditësoni përpiluesin, ekipi ishte në gjendje të hiqte disa veçori të paqëndrueshme nga lista: const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic dhe try_reserve.

Krahas kësaj, theksohet se janë shtuar disa opsione modularizimi më shumë për të ndarë për të çaktivizuar disa funksione të panevojshme: no_rc dhe no_sync.

Upstream, në mënyrë që rasti i përdorimit të kernelit të mbështetet mirë, ose më saktë "përzierja" e opsioneve që i nevojiten kernelit, thelbi Upstream ka shtuar gjithashtu no_fp_fmt_parse.

Nga ana tjetër, Rust aktivizoi një seri diagnostikimesh shtesë për përpiluesin Rust dhe Clippy. Një ndryshim nga C është se diagnostifikimi i Rust është pak më i lehtë për t'u çaktivizuar në kod, i cili është më i rreptë në rastin e përgjithshëm.

edhe abstraksionet dhe përditësimet e drejtuesve janë zbatuar. Ekipi shtoi abstraksione për kyçjet e transmetimit, kthimin e telefonatave të menaxhimit të energjisë, memorien io (readX / writeX), çipat irq dhe menaxherët e transmetimeve të nivelit të lartë, çipat gpio (përfshirë çipat irq), pajisjet periferike, periferikët amba dhe drejtuesit.

Mbështetja e kontrolluesi është përmirësuar me një infrastrukturë të pavarur nga autobusi, Objekte të revokueshme, mutexe të revokueshme, përsëritës efikas të biteve, diagnostikim më i mirë i panikut dhe mbështjellës të thjeshtuar të treguesve. Për më tepër, ai përmirësoi dhe thjeshtoi objektet Ref (të pajtueshme me refcount_t) dhe zëvendësoi të gjitha rastet e Rust.

Dhe një drejtues i ri për pajisjet gpio PL061 është implementuar dhe dërguar si patch RFC.

Më në fund duhet të theksohet se Mbështetja e ndryshkut konsiderohet ende eksperimentale. Megjithatë, Mbështetja është mjaft e mirë që zhvilluesit e kernelit të fillojnë të punojnë në Abstraksionet Rust për nënsistemet e shkrimit dhe kontrollorët dhe modulet e tjera. Seria aktuale sapo ka mbërritur në Linux-next, kështu që xhirimi i parë do të zhvillohet këtë javë.

Fuente: https://lkml.org/lkml


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.