A zecea versiune de Rust pentru Linux, gata de includere în Linux 6.1

Rust drivere pe Linux

Rust este acum gata să se alăture C ca limbaj practic de implementat pe Linux

Acum câteva săptămâni am împărtășit aici pe blog știrile despre confirmarea care a fost făcută în cadrul Open Source Summit Europe, de Linus Torvalds a anunțat că, cu excepția problemelor neprevăzute, sși va include patch-uri pentru a sprijini dezvoltarea driverului Rust în nucleul Linux 6.1, care este de așteptat să fie lansat în decembrie.

Motivul menționării este că Miguel Ojeda, autorul proiectului Rust-for-Linux, a anunțat recent lansarea a zecea propunere a componentelor pentru dezvoltare Ruginiți driverele de dispozitiv pentru ca dezvoltatorii de kernel Linux să ia în considerare.

Ca atare, aceasta este a unsprezecea ediție a patch-urilor, ținând cont de prima versiune lansată (fără număr de versiune). Linus Torvalds a aprobat includerea suportului Rust în nucleul Linux 6.1, cu excepția problemelor neprevăzute.

Rust drivere pe Linux
Articol asociat:
Torvalds a anunțat că Rust va fi acceptat în Linux 6.1

De menționat că dezvoltarea este finanțată de Google și ISRG (Internet Security Research Group), care este fondatorul proiectului Let's Encrypt și promovează HTTPS și dezvoltarea tehnologiilor pentru creșterea securității pe Internet.

unele a beneficiilor obținerii suportului Rust în nucleu facilitează scrierea controlerelor a dispozitivelor securizate prin reducerea șanselor de erori de memorie și încurajează noii dezvoltatori să se implice în nucleu.

„Rugina este unul dintre acele lucruri care cred că vor aduce fețe noi... devenim bătrâni și cenușii”, a spus Linus.

Notele de lansare pentru Linux 6.0 oferă o actualizare privind progresul proiectului Rust pentru Linux: există un grup de lucru aferent, este disponibil un driver preliminar pentru mediul de stocare NVMe dezvoltat cu limba respectivă, precum și un driver pentru un server destinat protocolului de rețea 9P.

Profitând de mențiunea despre versiunea de kernel 6.1 Linus a anunțat, de asemenea, că versiunea 6.1 a nucleului va îmbunătăți unele dintre părțile mai vechi și elementele fundamentale ale nucleului, cum ar fi funcția printk().

În ceea ce privește această nouă propunere pentru patch-urile Rust, precum și cea mai recentă versiune a patch-urilor, a zecea versiune este redusă la minimum, suficient pentru a construi un simplu modul de nucleu scris în Rust.

Diferențe față de versiunea anterioară sunt reduse la corectii minore, înlocuirea sizeof cu ARRAY_SIZE în kallsyms.c și portarea patch-urilor la kernel v6.0-rc7.

Suportul de rugină ar trebui să fie considerat în continuare experimental. Cu toate acestea,
Suportul este suficient de bun încât dezvoltatorii de kernel pot începe să lucreze la el.

Patch-ul minim, care a fost redus de la 40 de linii de cod la 000 de linii de cod, este de așteptat să, ușurează adoptarea suportului Rust în miez. După furnizarea unui suport minim, este planificată creșterea treptată a funcționalității existente, portarea altor modificări din ramura Rust-for-Linux.

Modificările propuse fac posibilă utilizarea Rust ca a doua limbă pentru dezvoltarea driverelor și modulelor kernelului. Suportul Rust este prezentat ca o opțiune care nu este activată implicit și nu are ca rezultat includerea Rust printre dependențele de compilare necesare pentru nucleu.

Folosirea Rust pentru a dezvolta drivere vă va permite să creați drivere mai bune și mai sigure cu efort minim, fără probleme precum accesarea unei zone de memorie după eliberarea acesteia, dereferențiarea indicatorilor nuli și depășirile de buffer.

Manipularea sigură a memoriei este asigurată în Rust în timpul compilării prin verificarea referințelor, urmărirea proprietății obiectului și durata de viață a obiectului (sfera de aplicare), precum și prin evaluarea corectitudinii accesului la memorie în timpul execuției codului.

rugina de asemenea oferă protecție la depășire întreg, necesită inițializarea obligatorie a valorilor variabilelor înainte de utilizare, gestionează mai bine erorile din biblioteca standard, impune implicit conceptul de variabile și referințe imuabile, oferă o tastare statică puternică pentru a minimiza erorile logice.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta despre notă, puteți consulta listele de corespondență pe subiect, În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.