De mogelijkheid om Rust-ondersteuning te integreren in de Linux 5.20-kernel is niet uitgesloten

Op de Open Source Summit 2022-conferentie lopende deze dagen, in de sectie Veelgestelde vragen, Linus Torvalds noemde de mogelijkheid van vroege integratie in de Linux-kernel van te ontwikkelen componenten Stuurprogramma's in Rust.

Er werd dus vermeld dat Rust-enabled patches kunnen worden geaccepteerd in de volgende changelog die de 5.20-kernelsamenstelling vormt, gepland voor eind september.

Er moet aan worden herinnerd dat Rust sinds vorig jaar een van de favorieten is geworden om te worden opgenomen in verschillende belangrijke projecten en dat er in de loop van de tijd al is gewerkt aan de implementatie van Rust-ondersteuning.

Binnen de gerenommeerde projecten die sinds vorig jaar geïnteresseerd zijn in roest, kunnen we bijvoorbeeld Android uitlichten, aangezien het geïnteresseerd was in Roest omdat het toelaat prestaties bereiken die dicht bij C- en C++-talen liggen, waardoor het kan worden gebruikt om onderdelen van het platform op laag niveau en componenten te ontwikkelen om met de hardware te communiceren.

Om de beveiliging van C- en C ++ -code te garanderen, gebruikt Android sandbox-isolatie, statische analyse en fuzzing-tests. Sandbox-isolatiemogelijkheden zijn beperkt en hebben de limiet van hun mogelijkheden bereikt (verdere fragmentatie in processen is niet praktisch vanuit het oogpunt van resourceverbruik).

Onder de beperkingen van het gebruik van sandbox noemen ze de hoge overhead en het hogere geheugengebruik als gevolg van de noodzaak om nieuwe processen te genereren, evenals de extra latentie die gepaard gaat met het gebruik van IPC.

Roest-Android
Gerelateerd artikel:
Rust is al een favoriet voor Android-ontwikkeling

Aan de andere kant mogen we dat niet vergeten Linus Torvalds gaf ook zijn mening over Rust en waarin: besteed aan het beoordelen van de implementatie patch met mogelijkheden om Rust-taalstuurprogramma's in de Linux-kernel in te stellen en uitte enige kritiek.

De grootste klachten werden veroorzaakt door het potentieel om te ontsnappen "Run-time failure panicen" in verkeerde situaties, bijvoorbeeld in een situatie waarin het geheugen onvoldoende is, wanneer bewerkingen voor dynamische geheugentoewijzing, inclusief kernelbewerkingen, mislukken.

Torvalds verklaarde dat een dergelijke focus op de kernel fundamenteel onaanvaardbaar is, En als u dit punt niet begrijpt, kunt u elke code die een dergelijke benadering probeert te gebruiken, volledig afwijzen. Aan de andere kant was de ontwikkelaar van de patch het eens met het probleem en vond hij het oplosbaar.

Linus Torvalds
Gerelateerd artikel:
Rust was niet vrijgesteld van de kritiek van Linus Torvalds

Maar het is al enkele maanden geleden dat Linus zijn feedback gaf en er is hard gewerkt om de implementatie te verbeteren. Als zodanig, een pull-verzoek voor de kern is momenteel nog niet ingediend bij Torvalds, maar de patch-set werd verder herzien, keynotes verwijderd, geruime tijd getest op de linux-next branch en in een staat gebracht die geschikt is voor het bouwen van abstractielagen bovenop kernelsubsystemen, het schrijven van stuurprogramma's en modules.

Roestondersteuning is als optie verkrijgbaar die standaard niet is ingeschakeld en er niet toe leidt dat Rust wordt opgenomen in de vereiste build-afhankelijkheden voor de kernel.

De voorgestelde wijzigingen maken het mogelijk om Rust als tweede taal te gebruiken om stuurprogramma's en kernelmodules te ontwikkelen. Door Rust te gebruiken om stuurprogramma's te ontwikkelen, kunt u met minimale inspanning betere en veiligere stuurprogramma's maken, zonder problemen zoals toegang tot een geheugengebied nadat het is vrijgemaakt, verwijzing naar null-aanwijzers en bufferoverlopen.

Geheugenbeveiliging wordt tijdens het compileren in Rust gegeven door referenties te controleren, objecteigendom en objectlevensduur (scope) bij te houden, evenals door de juistheid van geheugentoegang tijdens code-uitvoering te evalueren. Rust biedt ook integer overloopbeveiliging, vereist dat variabelen vóór gebruik worden geïnitialiseerd, gaat beter om met fouten in de standaardbibliotheek, dwingt standaard het concept van onveranderlijke variabelen en verwijzingen af ​​en biedt sterk statisch typen om logische fouten te minimaliseren.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.