For et par uger siden delte vi her på bloggen nyheden om bekræftelsen, der blev givet under Open Source Summit Europe, af Linus Torvalds annonceret at, bortset fra uforudsete problemer, pktog vil inkludere patches for at understøtte udviklingen af Rust-driveren i Linux 6.1-kernen, som forventes udgivet i december.
Grunden til at nævne det er det Miguel Ojeda, forfatter til Rust-for-Linux-projektet, annoncerede for nylig lanceringen af det tiende forslag af komponenterne til udvikling Rust enhedsdrivere for Linux-kerneudviklere at overveje.
Som sådan er dette den ellevte udgave af patcherne, når man tager den første udgivne version i betragtning (intet versionsnummer). Linus Torvalds godkendte inklusion af Rust-understøttelse i Linux 6.1-kernen, undtagen uforudsete problemer.
Det er værd at nævne, at udviklingen er finansieret af Google og ISRG (Internet Security Research Group), som er stifter af Let's Encrypt-projektet og promoverer HTTPS og udvikling af teknologier til at øge internetsikkerheden.
nogle af fordelene ved at få ruststøtte i kernen er gør det nemt at skrive controllere af sikre enheder ved at reducere chancerne for hukommelsesfejl og opmuntre nye udviklere til at blive involveret i kernen.
"Rust er en af de ting, som jeg tror vil bringe nye ansigter ind... vi bliver gamle og grå," sagde Linus.
Udgivelsesbemærkningerne til Linux 6.0 Giver opdatering om Rust-projektets fremskridt til Linux: der er en relateret arbejdsgruppe, en foreløbig driver til NVMe-lagringsmedier udviklet med det sprog er tilgængelig, samt en driver til en server beregnet til 9P-netværksprotokollen.
Udnytter omtalen om kerneversion 6.1 Linus annoncerede også, at version 6.1 af kernen vil forbedre nogle af de ældre dele og grundlæggende kerne, såsom printk()-funktionen.
Med hensyn til dette nye forslag til Rust-patches, såvel som den seneste version af patches, den tiende version er strippet ned til et absolut minimum, nok til at bygge et simpelt kernemodul skrevet i Rust.
Forskelle i forhold til den tidligere version er reduceret til mindre rettelser, erstatte sizeof med ARRAY_SIZE i kallsyms.c og overføre patches til kernel v6.0-rc7.
Ruststøtte bør stadig betragtes som eksperimentel. Alligevel,
Support er god nok til, at kerneudviklere kan begynde at arbejde på det.
Den minimale patch, som er blevet reduceret fra 40 linjer kode til 000 linjer kode, forventes at, gør det nemt at indføre ruststøtte i kernen. Efter at have ydet minimal support er det planlagt gradvist at øge eksisterende funktionalitet og overføre andre ændringer fra Rust-for-Linux-grenen.
De foreslåede ændringer gør det muligt at bruge Rust som et andet sprog til udvikling af drivere og kernemoduler. Rust-understøttelse præsenteres som en mulighed, der ikke er aktiveret som standard og resulterer ikke i, at Rust inkluderes blandt de påkrævede build-afhængigheder for kernen.
Brug af Rust til at udvikle drivere vil give dig mulighed for at bygge bedre og sikrere drivere med minimal indsats, uden problemer som at få adgang til et hukommelsesområde efter at have frigivet det, dereferencering af nul-pointere og bufferoverløb.
Sikker hukommelseshåndtering leveres i Rust på kompileringstidspunktet ved at kontrollere referencer, spore objektejerskab og objektlevetid (omfang), samt ved at evaluere korrektheden af hukommelsesadgang under kodeudførelse.
rust også giver heltals overløbsbeskyttelse, kræver obligatorisk initialisering af variabelværdier før brug, håndterer bedre fejl i standardbiblioteket, håndhæver konceptet med uforanderlige variabler og referencer som standard, tilbyder stærk statisk skrivning for at minimere logiske fejl.
Endelig hvis du er interesseret i at vide mere om det om noten, kan du konsultere mailinglisterne om emnet, I det følgende link.