Linus Torvalds kavatseb lisada Rustiga seotud muudatusi hooldajatest mööda minnes

Christoph Hellwig, DMA, KVM, Slab Allocator ja PowerPC arhitektuuri alam süsteemide peamine hooldaja, kes põhimõtteliselt keeldus Rust-koodide vastuvõtmisest DMA alam süsteemide jaoks, liitus Rust for Linux projekti raames Rusti südamiku hooldamise reeglite aruteluga. Christoph arvates on sellised reeglid ebaolulised, kuni need ei ole kooskõlastatud kogukonnaga ja ei ole lisatud südamiku dokumentatsiooni.

Christoph juhtis ka tähelepanu sellele, et reeglites on vale teave selle kohta, et hooldajad saavad iseseisvalt otsustada Rustiga seotud koodi lisamise üle oma alam süsteemidesse. Christoph ütles, et isiklikus vestluses on Linus Torvalds väitnud, et ta on kindel, et võtab Rust-koodi vastu, hoolimata hooldajate vastuväidetest. Seega peavad arendajad ja südamiku hooldajad nüüd tegelema Rustiga, sõltumata sellest, kas nad seda tahavad või mitte.

Christoph tõi samuti uuesti välja, et Rusti sidemete levik meenutab pahaloomulist kasvajat, mis levib kõikidesse südamiku alam süsteemidesse ja viib killustumisele. Üksikust tervikust muutub südamik projektiks, mis on kirjutatud mitmes keeles, ilma selge määratlemiseta, millal mida keelt kasutada. Christophi sõnul on töötamine sellise segatud koodibaasiga saanud tema halvimaks unenäoks, kuna sellistes tingimustes toimub pidev koodi ületöötamine ühest keelest teise ja siis tagasi.

Selle juures palub Christoph selgitada, mis on Rusti südamikku viimise eesmärk. Kui eesmärk on lahendada madalatasemelise mälutöötluse probleemidega seotud turvaprobleeme, siis on kõigepealt vaja olemasoleva koodi moderniseerimist. Arvestades, et hooldajad reageerivad valusalt isegi triviaalsetele asjadele, nagu täisarvu ületamisel kontrollide tegemine, on arusaamatu, kuidas saaks ületada lõhet ühe südamiku osa vahel, mis ei aktsepteeri isegi lihtsaid turvareegleid, ja teise osa vahel, mis järgib rangete reeglite järgimist. Kui eesmärk on lihtsustada draiverite arendamist, siis veel ühe keele toetuse lisamine toob ainult uusi ülesandeid ning suurendab koormust juba niigi ülekoormatud inimestele, kes hoiavad südamiku infrastruktuuri töökindlana.

Rusti rakendamise toetajad nimetavad järgmisi eesmärke:

  • Uue koodi kirjutamine Rusti keeles vähendab vigade riski mälu ja võistlemise seisundite haldamisel ning välistab mõned loogilised vead.
  • Haldajatel on lihtsam muuta ja refaktoreerida mooduleid arvestades Rusti keele pakutavaid garantiisid.
  • Abstraktsioonide olemasolu, mis kasutavad Rusti keele edasijõudnud võimalusi, lihtsustab uute draiverite ja moodulite loomist.
  • Kaasaegse keele tugi tõmbab projekti uued osalejad.
  • Rusti tööriistade võimaluste rakendamine lihtsustab koodi dokumenteerimise nõuete täitmist. Näiteks projektis Rust for Linux on kehtestatud nõue avalike API-de, turvanõuete, unsafe-blokkide ja tüüpide invariantsuste dokumenteerimiseks.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster