Rust nije bio izuzet od kritika Linusa Torvaldsa

Prije nekoliko sedmica vijesti o neke implementacije koje su napravljene u linux-next grana, koja uključuje početni skup komponenata za razvoj upravljačkih programa uređaja na jeziku Rust.

Ova je dokumentacija objavljena odvojeno o upotrebi Rust-a u Linux jezgri i primjeru modula jezgre s upravljačkim programom karaktera na jeziku Rust. Kod je dodao Stephen Rothwell, održavatelj podružnice.

Nakon toga Linus Torvalds je prešao na pregled provedbe zakrpa mogućnosti postavljanja pokretačkih programa Rust u Linux jezgri i izrazio neke kritike.

Najveće žalbe izazvao je potencijal za bijeg "Panika zbog neuspjeha tokom izvođenja" u pogrešnim situacijama, na primjer, u situaciji kada nema memorije, kada operacije dinamičke dodjele memorije, uključujući one jezgre, mogu propasti.

torvalds izjavio da je takav fokus na jezgru u osnovi neprihvatljiv, A ako ne razumijete ovu poantu, možete u potpunosti odbiti bilo koji kod koji pokušava koristiti takav pristup. S druge strane, programer zakrpe složio se s problemom i smatrao ga je rješivim.

Drugi problem su pokušaji upotrebe vrsta s pomičnim zarezom ili 128 bita, koji nisu valjani za okruženja poput Linux jezgre.

Možda ne razumijete posljedice kada se to može dogoditi, pa možda
je manji problem nego što mislim da jeste, ali u osnovi
Mislim da ako bilo kakvo mapiranje hrđe može izazvati paniku, ovo je jednostavno
_ u osnovi_ nije prihvatljivo.

Mapiranje kvarova u ne-jezgrenom kontroleru ili kodu, a to je za
definicija, sve novi Rust kod, NIKADA ne može uzrokovati
paniku valjano. Isto vrijedi i za «oh, u nekim slučajevima nisam pokušao koristiti
128-bitni cijeli brojevi ili s pomičnim zarezom '.

Dakle, ako Rust prevodilac izazove skrivene zadatke koji to ne mogu biti
otkriti i vratiti kao greške, onda ozbiljno vjerujem da je sve ovo
pristup bi trebao biti potpuno NAK-ov, a infrastruktura Rust,
bilo na nivou kompajlera ili u omotu jezgre, trebate više
trabajo.

Pokazalo se da je ovo ozbiljniji problem., od ovog trenutka Rustova centralna biblioteka je nedjeljiva i predstavlja veliku mrlju; ne postoji način da se zatraže samo neke funkcije, čime se izbjegava korištenje jedne ili druge problematične funkcionalnosti.

Rješenje problema može zahtijevati promjene na kompajleru hrđe i biblioteci, iako tim još uvijek nema strategiju kako implementirati modularnost za jezične biblioteke.

Takođe, Torvalds je istakao da je navedeni primjer kontrolera beskoristan i savjetovao da za primjer priložite upravljački program koji rješava jedan od stvarnih problema.

Prije ovoga Google je najavio svoje sudjelovanje u inicijativi za promociju podrške Rustu u Linux jezgri y pružili tehničke aspekte izvodljivosti primjene Rust-a za borbu protiv problema koji proizlaze iz pogrešaka u radu s memorijom.

Google misli da je Rust spreman pridružiti se C-u kao razvojnom jeziku Komponente Linux kernela. Članak takođe daje primere upotrebe jezika Rust za razvoj upravljačkih programa jezgra, u kontekstu njegove upotrebe na Android platformi (Rust je prepoznat kao službeno podržani jezik za razvoj Android-a).

Treba istaći to Google je pripremio početni prototip kontrolera napisan na Rustu za Binder-ov međuprocesni komunikacijski mehanizam, koji će omogućiti detaljnu usporedbu performansi i sigurnosti implementacija Binder-a u C i Rust.

U svom trenutnom obliku, posao još nije završen, ali za gotovo sve osnovne apstrakcije funkcionalnosti jezgre potrebne za rad Bindera pripremljeni su slojevi za upotrebu ovih apstrakcija u Rust kodu.

Napokon, ako želite znati više o tome, možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Miguel Rodriguez rekao je

    Sve njihove kritike su valjane, s obzirom na to da je Rust novi jezik koji radi s drugačijom paradigmom od C, razumljiva je zabrinutost zbog bilo kakvih detalja u bibliotekama ili u samom kompajleru gdje, iako je kôd valjan, uzrokuje kernel razbiti kako se implementira i gradi. Zbog toga prijedlozi kao što je mogućnost modulariziranja biblioteke za pozivanje i održavanje aktivnih funkcioniraju samo one funkcije potrebne za program (ili u ovom slučaju za bilo koji kontroler). Niti je ono što tražite nerazumno, jer vam donose pravi prototipski kontroler koji dobro radi posao na trenutnom problemu (ili barem radi isti posao kao postojeći u kernelu i radi bez panike).

  2.   Sete rekao je

    S vremena na vrijeme ponovo čitam članke autora Linux Adictos Ali treba mi vrlo malo vremena da očajavam kada vidim da je, uprkos vrlo dobrom sadržaju, konačni rezultat uništen užasnim pravopisom.
    Hoće li pravopis i gramatika biti tako teški?
    Sramota!
    Razveselite se!