Nuwe weergawe van pleisters vir die Linux-kern met ondersteuning vir die Rust-taal

Miguel Ojeda, skrywer van die Rust-for-Linux-projek, het 'n vrystelling van v5-komponente vir Rust-toestelbestuurderontwikkeling voorgestel vir Linux-kernontwikkelaars om te oorweeg. Dit is die sesde uitgawe van die pleisters, met inagneming van die eerste weergawe wat sonder 'n weergawenommer gepubliseer is. Roesondersteuning word as eksperimenteel beskou, maar is reeds ingesluit in die linux-next-tak en volwasse genoeg om te begin werk aan die skep van abstraksielae oor kernsubstelsels, sowel as die skryf van drywers en modules. Die ontwikkeling word gefinansier 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 die veiligheid van die internet te verhoog.

Onthou dat die voorgestelde veranderings dit moontlik maak 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 lei nie tot die insluiting van Rust onder die vereiste bouafhanklikhede vir die kern nie. Deur Rust te gebruik om drywers te ontwikkel, sal jy veiliger en beter bestuurders met minimale inspanning kan skep, vry van probleme soos toegang tot 'n geheue-area nadat dit vrygestel is, die verwysing van nulwysers 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.

Die nuwe weergawe van die kolle gaan voort om die opmerkings wat gemaak is tydens die bespreking van die eerste, tweede, derde, vierde en vyfde uitgawes van die kolle uit te skakel. In die nuwe weergawe:

  • Die gereedskapstel is opgedateer na die vrystelling van Rust 1.59.0. 'n Variant van die alloc-biblioteek word ook gesinchroniseer met die nuwe weergawe van Rust, wat ontslae raak van die moontlike generering van 'n "paniek"-toestand wanneer foute voorkom, soos 'n gebrek aan geheue. Die vermoë om samesteller-insetsels ("feature(global_asm)") te gebruik, is gestabiliseer.
  • Ondersteuning bygevoeg vir die skep van Rust-gasheerprogramme wat in die kernsamestellingsproses gebruik word.
  • In plaas daarvan om voorafgegenereerde teikenplatformspesifikasielêers te verskaf, word dit dinamies gegenereer op grond van die kernkonfigurasie.
  • Bygevoeg kernparameter HAVE_RUST om geaktiveer te word vir argitekture wat Rust ondersteun.
  • Abstraksies word voorgestel vir gebruik in die Rust-kode van 'n hardeware pseudo-ewekansige getalgenerator.
  • Die gebruik van foutkodes sonder die "Fout::"-voorvoegsel (byvoorbeeld, "return Err(EINVAL)") word toegelaat om die hantering van foutkodes in C te benader.
  • Bygevoeg "CString" tipe vir inheemse C-stringe. Saamgevoegde formatter- en buffertipes.
  • Bygevoeg eienskappe Bool en LockInfo.
  • Vereenvoudigde implementering van spin-slotte.

Bron: opennet.ru

Voeg 'n opmerking