Skrevet av Steven J. Vaughan-Nichols, bidragsyter redaktør
Steven J. Vaughan-Nichols Bidragsredaktør
Steven J. Vaughan-Nichols, aka sjvn, har skrevet om teknologi og teknologivirksomhet siden CP/M-80 var banebrytende PC-operativsystem; 300bps var en rask Internett-tilkobling; WordStar var toppmoderne tekstbehandler; og vi likte det.
Full bio Publisert i Linux og åpen kildekode 7. desember 2021 | Emne: Enterprise Software
Det er ikke så lenge siden at selve ideen om at et annet språk enn C skulle brukes i Linux-kjernen, ville blitt latterliggjort. Ting har forandret seg. I dag flytter ikke bare Rust, systemspråket på høyt nivå nærmere Linux, det er nærmere enn noen gang med den neste “patch-serien for å legge til støtte for Rust som andrespråk til Linux-kjernen.”
Den største endringen i disse nye pakkene er at Rust-koden som er foreslått for kjernen nå er avhengig av den stabile Rust-kompilatoren i stedet for beta-kompilatoren. Fremover vil Rust på Linux migrere hver gang en ny stabil Rust-kompilator utgis. For øyeblikket bruker den Rust 1.57.0.
Ved å gjøre dette, som Linux-kjernen og ledende Rust på Linux, sa utvikler Miguel Ojeda det: “Ved å oppgradere kompilatoren, har vi vært i stand til å ta av listen noen få ustabile funksjoner vi brukte.” Dette betyr igjen at Rust på Linux vil være mer stabil.
Når vi ser fremover, skrev Ojeda, “Vi vil fortsette å oppgradere til vi ikke er avhengige av noen ustabile funksjoner; da kan det være lurt å begynne å erklære at en minimum Rust-versjon støttes som den er gjort, f.eks. GCC og Clang.
Senior Linux-kjerneutvikler Greg Kroah-Hartman hadde fortalt meg at han tror “drivere er sannsynligvis det første stedet for” Rust skal vises i Linux siden “de er “endebladene” av avhengighetstreet i kjernekilden. De er avhengige av kjernen. kjernefunksjonalitet, men ingenting avhenger av dem.”
Dette har kommet i flere år nå. På den virtuelle 2020 Linux Plumbers Conference, der de beste Linux-kjerneutviklerne hash ut Linuxs fremtid, ble ideen om å introdusere Rust som kjernens andrespråk introdusert.
Selv om Linus Torvalds er sikker, vil ikke Linux ende opp med å bli skrevet i Rust. Men altså, det er ikke målet. Ingen kommer til å skrive om kjernens 25 millioner linjer med C i Rust.
Ledet av Josh Triplett, Rust language lead og Nick Desaulniers, en Google-ingeniør, foreslo de å bruke Rust-språket på systemnivå inne i kjerne. Hvorfor? Fordi det er mye sikrere enn C, spesielt ved håndtering av minnefeil.
Som Ryan Levick, en ledende talsmann for skyutviklere fra Microsoft, forklarte: “Rust er fullstendig minnesikkert.” Siden omtrent to tredjedeler av sikkerhetsproblemene kan spores tilbake til dårlig håndtering av minne, er dette en stor forbedring. I tillegg, “Rust forhindrer disse problemene vanligvis uten å legge til noen driftskostnader,” sa Levick.
Torvalds ser fordelene. Mens han oppmuntrer til en langsom, men jevn tilnærming til å introdusere Rust i Linux, har han også sagt at bruk av Rust-grensesnitt for drivere og andre ikke-kjerne-kjerneprogrammer er fornuftig: “Jeg er overbevist om at det kommer til å skje. Det er kanskje ikke Rust, men det kommer til å skje at vi vil ha forskjellige modeller for å skrive slike ting, og C vil ikke være den eneste.”
Så, som Ojeda fortalte ZDNet i sommer, “Prosjektet er ikke ferdig, men vi er klare til å bli vedlikeholdt hvis vedlikeholdere på høyt nivå aksepterer de gjeldende endringene og foretrekker at vi jobber inne i kjernen. Det meste av arbeidet ligger fortsatt foran oss.”
Jobb godt i gang nå. Jeg forventer å se den første Rust-koden i Linux-kjernen en gang i 2022.
Relaterte historier:
Linus Torvalds om hvor Rust vil passe inn i Linux.Rust i Linux-kjerne: Hvorfor det betyr noe og hva som skjer videre.Linus Torvalds: Sjonglere med motorsager og bygge Linux.
Enterprise Software
Windows 11: Slik får du Microsofts gratis operativsystemoppdatering De beste Linux-distroene for nybegynnere i 2021 Windows 10 er en sikkerhetskatastrofe som venter på å skje. Hvordan vil Microsoft rydde opp i rotet? AWS omfavner Fedora Linux for sin skybaserte Amazon Linux Linux | Sky | Big Data Analytics | Innovasjon | Teknikk og arbeid | Samarbeid