Linus Torvalds kavatseb lisada Rustiga seotud muudatusi hooldajate vältimiseks

Christoph Hellwig, Linux'i kerneli DMA, KVM, Slab Allocator ja PowerPC arhitektuuri peamine hooldaja, kes on põhimõtteliselt keeldunud Rusti mähiste vastuvõtmisest DMA allüksusesse, liitus Rust for Linux projekti välja toodud Rusti kaasamise reeglite aruteluga. Christoph usub, et sellised reeglid on kasutud, kuni need ei ole kokku lepitud kogukonnaga ja lisatud kernelidokumenti.

Christoph tõi samuti esile, et reeglites on vale teave selle kohta, et hooldajad saavad iseseisvalt teha otsuseid Rustiga seotud koodi lisamiseks oma allüksustesse. Christophi sõnul ütles Linus Torvalds isiklikus vestluses, et tal on kindel soov võtta Rust-kood kerneli, hoolimata hooldajate vastuväidetest. Seega peavad arendajad ja kerneli hooldajad nüüd Rustiga tegelema, olenemata sellest, kas nad seda soovivad või mitte.

Kristof võrdles ka Rusti mähiste levikut vähk kasvava kasvajaga, mis levib kõikidesse tuumalahendustesse ja toob kaasa fragmenteerumise. Ühest tervikust muutub tuum projektiks, mis on kirjutatud mitmes keeles, ilma selge määratlemiseta, millal millist keelt kasutada. Kristofi sõnul on sellise segakoodibaasiga töötamine osutunud tema halvimaks painajaks, kuna sellistes tingimustes toimub pidev koodi ümberkirjutamine ühest keelest teise ja seejärel tagasi.

Sellega seoses palub Christoph selgitada Rusti integreerimise eesmärki tuumas. Kui eesmärk on lahendada madala taseme mälu kasutamisega seotud turvaprobleeme, on olemasoleva koodi moderniseerimine hädavajalik. Arvestades, et arendajad reageerivad valusalt isegi triviaalsetele asjadele, nagu täisarvu ületamise kontrollid, on ebaselge, kuidas suudab ühte tuuma osa, mis ei järgi isegi lihtsaid turvaneid, ületada lõhet teise osa vahel, mis peab kinni rangetest reeglitest. Kui aga eesmärk on draiverite arendamise lihtsustamine, siis ühe uue keele toe kasutuselevõtt toob vaid lisatööd ja suurendab juba niigi koormatud inimeste koormust, kes hoiavad tuuma infrastruktuuri töötavana.

Mis puudutab Rusti integreerimise toetajaid tuumas, siis toovad nad välja järgmised eesmärgid:

  • Uue koodi kirjutamine Rusti keeles vähendab mälu jaudade või keti seisundite vigade riski ning välistab mõned loogilised vead.
  • Haldajad saavad lihtsamini ülevaate muudatustest ja viia ellu moodulite refaktooringut, arvestades Rusti keele tagatisi.
  • Keerukate Rusti keele võimalustega abstraktsioonide olemasolu lihtsustab uute draiverite ja moodulite loomist.
  • Kaasaegse keele tugi toob uusi arendajaid tuumaprojekti.
  • Rusti tööriistade võimaluste rakendamine muudab koodi dokumentatsiooni nõuete täitmise lihtsamaks. Näiteks Rust for Linux projektis on kehtestatud nõue avalike API-de, turvanõuete, unsafe-blokkide ja tüüpide invariantide kohustuslikuks dokumenteerimiseks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster