Nu este exclusă posibilitatea integrării suportului Rust în nucleul Linux 5.20

La conferința Open-Source Summit 2022 în curs de desfășurare în aceste zile, în secțiunea Întrebări frecvente, Linus Torvalds a menționat posibilitatea integrării timpurii în nucleul Linux de componente de dezvoltat Drivere de dispozitiv în Rust.

Așa că s-a menționat că patch-urile activate pentru Rust pot fi acceptate în următorul jurnal de modificări care alcătuiește compoziția kernel-ului 5.20, programat pentru sfârșitul lunii septembrie.

De reținut că de anul trecut Rust a devenit unul dintre favoriții pentru a fi inclus în diverse proiecte importante și că în timpul care a trecut deja s-a lucrat legat de implementarea suportului Rust.

În cadrul proiectelor de renume care sunt interesate de rugină încă de anul trecut, putem evidenția, de exemplu, Android, întrucât era interesat de Rugină deoarece permite atinge performanțe apropiate de limbajele C și C++, permițându-i să fie utilizat pentru a dezvolta părți de nivel scăzut ale platformei și componente pentru interfața cu hardware-ul.

Pentru a asigura securitatea codului C și C ++, Android folosește izolarea sandbox-ului, analiza statică și testele de fuzzing. Capacitățile de izolare a sandbox-ului sunt limitate și au atins limita capacităților lor (fragmentarea ulterioară a proceselor nu este practică din punct de vedere al consumului de resurse).

Printre limitările utilizării sandbox-ului, acestea menționează costurile ridicate și consumul mai mare de memorie cauzate de necesitatea de a genera noi procese, precum și latența suplimentară asociată cu utilizarea IPC.

Rust-Android
Articol asociat:
Rust este deja un favorit pentru dezvoltarea Android

Pe de altă parte, nu trebuie să uităm asta Linus Torvalds şi-a dat şi părerea despre Rust şi în care a petrecut revizuirea implementării patch-uri de posibilități pentru a seta driverele de limbaj Rust în nucleul Linux și a exprimat unele critici.

Cele mai mari plângeri au fost cauzate de potențialul de evadare „Eșecul în timpul rulării se panică” în situații greșite, de exemplu, într-o situație lipsită de memorie, când operațiunile de alocare dinamică a memoriei, inclusiv operațiile de nucleu, pot eșua.

torvalds a declarat că o astfel de concentrare asupra nucleului este fundamental inacceptabilă, Și dacă nu înțelegeți acest punct, puteți respinge complet orice cod care încearcă să utilizeze o astfel de abordare. Pe de altă parte, dezvoltatorul patch-ului a fost de acord cu problema și a considerat-o rezolvabilă.

Linus Torvalds
Articol asociat:
Rugina nu a fost scutită de criticile lui Linus Torvalds

Dar au trecut câteva luni de când Linus și-a dat feedback-ul și s-a depus multă muncă pentru a îmbunătăți implementarea. Ca atare, o cerere de extragere pentru nucleu nu a fost încă trimisă la Torvalds, dar setul de patch-uri a fost revizuit în continuare, note-cheie eliminate, testat pe ramura linux-next de ceva timp și adus la o stare potrivită pentru construirea de straturi de abstractizare deasupra subsistemelor nucleului, scrierea driverelor și modulelor.

Suportul de rugină vine ca opțiune care nu este activat implicit și nu are ca rezultat includerea Rust printre dependențele de compilare necesare pentru nucleu.

Modificările propuse fac posibilă utilizarea Rust ca a doua limbă pentru a dezvolta drivere și module de kernel. 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.

Siguranța memoriei este furnizată în Rust la momentul 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 oferă, de asemenea, protecție între depășire, necesită ca variabilele să fie inițializate înainte de utilizare, gestionează mai bine erorile din biblioteca standard, impune implicit conceptul de variabile și referințe imuabile și oferă o tastare statică puternică pentru a minimiza erorile logice.


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.