Rust draiveru atbalsta Linux ielāpu otrā versija jau ir nosūtīta

Šī gada martā uz linux-next filiāles tajā laikā, kad tas darbojās Linux kodola 5.13 labā, Sākotnējais komponentu komplekts tika iekļauts, lai izstrādātu ierīces draiverus valoda Rūsas, un tagad ir izteikts pieprasījums iekļaut otro izdevumu ielāpu, lai pievienotu Rust atbalstu Linux kodolam.

Persona, kas nosūtījusi pieprasījumu Linux izstrādātājiem, ir Migels Ojeda, projekta Rust-for-Linux autors un par kuru mēs runājām arī pirms dažām dienām, jo ​​viņš tika nolīgts uzņemties atbildību par projektu "Prossimo", kas būtībā koncentrējas uz centienu koordinēšanu, lai kritisko programmatūras infrastruktūru pārvietotu uz drošu kodu, lai nodrošinātu Linux kodola atmiņu ar Rust (ja vēlaties uzzināt vairāk par projektu, varat konsultēties izlikšana zemāk esošajā saitē.)

Rust draiveri operētājsistēmā Linux
saistīto rakstu:
Prossimo, ISRG projekts, lai nodrošinātu Linux kodola atmiņu ar Rust

Migela Ojeda nosūtītais pieprasījums ir otrā atjauninātā versija no sastāvdaļām ierīču draiveru izstrādei Rust valodā un kurā tiek dzēsti komentāri, kas izteikti diskusiju laikā par ielāpu pirmo versiju un kuriem Linuss Torvalds jau pievienojās diskusijai un ieteica mainīt loģiku, lai apstrādātu dažas bitu operācijas.

Iekšpusē priekšrocības kas ir minēti, ir tādi droša atmiņas pārvaldība ir garantēta Rust kompilēšanas laikā, pārbaudot atsauces, izsekojot objekta īpašumtiesības un objekta kalpošanas laiku, kā arī novērtējot atmiņas piekļuves pareizību izpildes laikā.

Rūsa arī nodrošina aizsardzība pret veselu skaitļu pārplūdi, prasa obligātu mainīgo vērtību inicializēšanu pirms lietošanas, labāk apstrādā kļūdas standarta bibliotēkā, pēc noklusējuma pieņem atsauču un nemainīgo mainīgo jēdzienu un piedāvā spēcīgu statisku rakstīšanu, lai mazinātu loģiskās kļūdas.

No izmaiņām, kas izceļas šīs jaunās ielāpu versijas nosaukums ir minēts:

  • Atmiņas piešķiršanas kods novērš iespēju izraisīt paniku, ja rodas tādas kļūdas kā atmiņas trūkums.
  • Ir iekļauts Rust piešķirtās bibliotēkas variants, kurā kods ir pārstrādāts, lai apstrādātu slēdzenes, bet gala mērķis ir visu galveno kodolam nepieciešamo funkciju nodrošināšana galvenajā piešķīruma izdevumā (izmaiņas jau ir sagatavotas un pārnestas uz standarta Rust bibliotēku).
  • Nakts versiju vietā tagad var izmantot beta un stabilās versijas rustc kompilators, lai apkopotu kodolu, kurā iespējota rūsa. Pašlaik rustc 1.54-beta1 tiek izmantots kā atsauces kompilators, bet pēc 1.54 izlaišanas mēneša beigās tas tiks atbalstīts kā atsauces kompilators.
  • Pievienots atbalsts testu rakstīšanai, izmantojot standarta Rust atribūtu "# [test]" un iespēju izmantot doctestus, lai kā testus izmantotu dokumenta koda paraugu.
  • Papildus iepriekš atbalstītajiem x32_86 un ARM64 tika pievienots atbalsts ARM64 un RISCV arhitektūrām.
    Uzlabota GCC ieviešana Rust (GCC Rust priekšgals) un rustc_codegen_gcc (GCC rustc backend), kas tagad iztur visus etalonus.
  • A jauns abstrakcijas līmenis lai Rust programmas izmantotu kodolu mehānismus, kas rakstīti C, piemēram, kokus, atsauces skaitīšanas objektus, failu deskriptoru, uzdevumu, failu un I / O vektoru izveidi.
  • Draiveru izstrādes komponentiem ir uzlabots atbalsts "file_operations" modulim, "module!" Makro, makro reģistrēšanai un elementāriem draiveriem (pārbaude un dzēšana).
  • Binder ir atbalsts failu deskriptoru un LSM saišu nodošanai.
  • Tiek piedāvāts funkcionālāks Rust draivera piemērs bcm2835-rng aparatūras nejaušo skaitļu ģeneratoram Raspberry Pi dēļiem.

Visbeidzot, ja jūs interesē uzzināt vairāk par to, varat uzzināt sīkāku informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.