Die tiende weergawe van pleisters vir die Linux-kern met Rust-taalondersteuning

Miguel Ojeda, die skrywer van die Rust-for-Linux-projek, het die vrystelling van v10-komponente vir die ontwikkeling van toestelbestuurders in die Rust-taal voorgestel vir oorweging deur Linux-kernontwikkelaars. Dit is die elfde uitgawe van die pleisters, met inagneming van die eerste weergawe, gepubliseer sonder 'n weergawenommer. Die insluiting van Rust-ondersteuning is deur Linusum Torvalds goedgekeur vir insluiting in die Linux 6.1-kern, met die uitsondering van onvoorsiene probleme. Die ontwikkeling word befonds deur Google en die ISRG (Internet Security Research Group), wat die stigter van die Let's Encrypt-projek is en HTTPS en die ontwikkeling van tegnologieë bevorder om internetsekuriteit te verbeter.

Soos die vorige weergawe van pleisters, is die v10-weergawe afgesny tot die minimum, voldoende om 'n eenvoudige kernmodule te bou wat in die Rust-taal geskryf is. Verskille van die vorige weergawe kom neer op geringe wysigings, vervang sizeof met ARRAY_SIZE in kallsyms.c en pas pleisters by die v6.0-rc7 kern aan. Daar word verwag dat die minimum pleister, waarvan die grootte van 40 tot 13 duisend reëls kode verminder is, die aanvaarding van Rust-ondersteuning in die hoofkern sal vereenvoudig. Na die verskaffing van minimale ondersteuning, word beplan om die bestaande funksionaliteit geleidelik te verhoog, deur ander veranderinge van die Rust-for-Linux-tak oor te dra.

Die voorgestelde veranderinge maak dit moontlik om Rust as 'n tweede taal te gebruik vir die ontwikkeling van drywers en kernmodules. Roes-ondersteuning word aangebied as 'n opsie wat nie by verstek geaktiveer is nie en nie daartoe lei dat Rust ingesluit word as 'n vereiste bou-afhanklikheid vir die kern nie. Deur Rust vir bestuurderontwikkeling te gebruik, sal jy veiliger en beter bestuurders met minimale moeite skep, vry van probleme soos geheuetoegang na vrystelling, nulwyserverwysings en bufferoorskryding.

Geheueveiligheid word tydens samestellingstyd in Rust verskaf deur verwysingskontrolering, hou van objekeienaarskap en objekleeftyd (omvang), asook deur evaluering van die korrektheid van geheuetoegang tydens kode-uitvoering. Roes bied ook beskerming teen heelgetal-oorvloei, vereis dat veranderlikes geïnisialiseer word voor gebruik, hanteer foute beter in die standaardbiblioteek, pas die konsep van onveranderlike verwysings en veranderlikes by verstek toe, en bied sterk statiese tik om logiese foute te minimaliseer.

Bron: opennet.ru

Voeg 'n opmerking