Linux kan inkludere et driverrammeverk i Rust

RustLinux

Greg Kroah-Hartman, en av Linux-kjerneholderne nylig mottatt et forslag der det står at det er mulig at et rammeverk dedikert til utvikling av drivere på Rust språk vil bli akseptert i kjernen.

Selv om det for øyeblikket ikke er noe konkret, for dette, Greg Kroah-Hartman formulerer to forhold: En av dem er at rammeverket ikke vil bli aktivert som standard når det gjelder integrering, dette, for å unngå at man ikke trenger Rust for å kompilere kjernen; for det andre at den foreslåtte tilnærmingen har reelle fordeler sammenlignet med de som kommer fra bruken av C-språket.

Det er kjent at Linux-kjernen er et produkt av utviklingen i C-språk og fremfor alt er det for Linus Torvalds C først og fremst. Så i utviklingen av driverne for systemet, bruk av C.

Utviklere kompromitterte store muligheter som tilbyr i form av styring av maskinvareressursene til et datasystem bruk av Rust.

Og det flere og flere stemmer heves for å kalle passasjen til Rust-språket, den ene skal erstatte C for materialkontroll.

Og det er det i det siste Linux Security Summit, sikkerhetsforskere har sammen med andre påpekt en av de største språkmanglene C er problemene knyttet til minnehåndtering - bufferoverløp, tildelinger, tilgang til ugyldige eller frigjorte minneområder osv.

I følge tallene rapportert av forskerduoen, ble resultatet av 65% av Linux-kjernesårbarhetene identifisert de siste 6 månedene. Common Vulnerabilities and Exposure (CVE) -tallene er like: 15.9% av de 2288 sårbarhetene som påvirket Linux-kjernen på 20 år, er relatert til bufferoverløp.

Forskerteamet snakket ikke bare om fordelene Rust tilbyr sammenlignet med C. Han benyttet også anledningen til å presentere et initiativ for å utvikle et rammeverk dedikert til Linux-driverutvikling.

Enkelt sagt er innsatsen å jobbe med Linux-kjernen APIer. Utviklingen er for x86, arm / arm64, mips, POWERPC, RISC-V, s390 og SPARC arkitekturer.

Pero det største problemet er at bare Linus Torvalds mener at det ikke er noe bedre enn C-språket for systemprogrammering.

Jeg må si at jeg er ganske gammeldags på spørsmål som dette. Grunnen til at jeg startet Linux og operativsystemer generelt er at jeg virkelig liker maskinvaren. Jeg liker å utforske det materielle aspektet.

Jeg sier ikke dette for å understreke at jeg er ekspert. Det jeg mener er at jeg liker å samhandle med maskinvaren fra programvaren. Sett fra dette synspunktet har jeg ennå ikke sett et programmeringsspråk som bare kommer nær C-språket.

Denne påstanden er ikke bare fordi C er nyttig for å generere god kode for å håndtere maskinvare. Å bruke C er også fornuftig for folk som tenker som en datamaskin. Jeg tror årsaken er at menneskene som designet C-språket gjorde det på en tid da kompilatorene måtte være enkle; i en tid da språket måtte tilpasse seg forventet resultat eller resultat.

Så når jeg leser koden på C-språk, vet jeg hvordan samlingskoden vil se ut, og det er det som interesserer meg, "sa han for 7 år siden under en av sine innlegg på konferansen. Intel Open Source Technology Center.

Tidligere har du sluppet lignende forslag for å introdusere C ++ i sirkelen av språk dedikert til utvikling av drivere for Linux. Spesielt fremhevet han muligheten for å gjøre objektorientering renere med C enn med C ++.

Alex Gaynor og Geoffrey Thomas-initiativet fortsetter å være et flott prosjekt på mange akser. For eksempel understreker forskerteamet behovet for videreutvikling av drivere for filsystemer og for spesifikke enhetstyper.

Så får vi se om innhold kan overbevisera Linux-vedlikeholdere.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.