La deka versio de flikoj por la Linukso-kerno kun Rust-lingva subteno

Miguel Ojeda, verkinto de la Rust-for-Linux-projekto, proponis la v10-eldonon de komponentoj por Rust-aparato-ŝofor-disvolviĝo por Linukso-kernaj programistoj por pripensi. Ĉi tiu estas la dekunua eldono de la flikoj, konsiderante la unuan version publikigitan sen versio-numero. La inkludo de Rust-subteno estis aprobita de Linusum Torvalds por inkludo en la Linukso 6.1-kerno, krom se ne antaŭviditaj problemoj aperas. La disvolviĝo estas financita de Google kaj la ISRG (Interreta Sekureco-Esplorgrupo), kiu estas la fondinto de la projekto Let's Encrypt kaj antaŭenigas HTTPS kaj la evoluon de teknologioj por pliigi la sekurecon de la Interreto.

Kiel la lasta versio de la flikoj, la v10-eldono estas malplenigita al la minimuma, sufiĉa por konstrui simplan kernan modulon skribitan en Rust. La diferencoj de la antaŭa versio venas al etaj korektoj, anstataŭigante sizeof per ARRAY_SIZE en kallsyms.c kaj adaptante diakilojn al la v6.0-rc7-kerno. La minimuma diakilo, kiu estis reduktita de 40 linioj de kodo al 13 linioj de kodo, estas atendita faciligi adopti Rust-subtenon en la kernon. Post provizi minimuman subtenon, oni planas iom post iom pliigi la ekzistantan funkciecon, transdonante aliajn ŝanĝojn de la branĉo Rust-for-Linukso.

La proponitaj ŝanĝoj ebligas uzi Rust kiel duan lingvon por disvolvi ŝoforojn kaj kernmodulojn. Rust-subteno estas prezentita kiel opcio kiu ne estas ebligita defaŭlte kaj ne rezultigas la inkludon de Rust inter la bezonataj konstrudependecoj por la kerno. Uzi Rust por evoluigi ŝoforojn permesos al vi krei pli sekurajn kaj pli bonajn ŝoforojn kun minimuma peno, libera de problemoj kiel aliro al memorareo post kiam ĝi estas liberigita, dereferencigado de nulaj montriloj kaj bufro-tropasoj.

Memorsekureco estas disponigita en Rust ĉe kompiltempo per referenckontrolado, konservante trakon de objektoposedo kaj objektvivdaŭro (amplekso), same kiel tra taksado de la ĝusteco de memoraliro dum kodekzekuto. Rusto ankaŭ provizas protekton kontraŭ entjeraj superfluoj, postulas devigan inicialigon de variaj valoroj antaŭ uzo, pli bone pritraktas erarojn en la norma biblioteko, aplikas la koncepton de neŝanĝeblaj referencoj kaj variabloj defaŭlte, ofertas fortan senmovan tajpadon por minimumigi logikajn erarojn.

fonto: opennet.ru

Aldoni komenton