U supportu Rust per u kernel Linux face critiche da Torvalds

Linus Torvalds hà rivisatu i patches chì implementanu a capacità di creà drivers in a lingua Rust per u kernel Linux, è hà fattu alcuni cumenti critichi.

I più grande lagnanza sò stati causati da a pussibilità potenziale di panicu () in situazioni d'errore, per esempiu, in una situazione di memoria bassa, quandu l'operazioni di l'allocazione di memoria dinamica, ancu in u kernel, ponu falli. Torvalds hà dichjaratu chì un tali approcciu in u kernel hè fundamentalmente inaccettabile è, s'ellu ùn hè micca capitu stu puntu, pò cumplettamente NAKed ogni codice chì prova à utilizà un tali approcciu. Per d 'altra banda, u sviluppatore di patch hè d'accordu cù stu prublema è u cunsidereghja risolvibile.

Un altru prublema era tentativu d'utilizà tipi di punta flottante o 128-bit, chì ùn sò micca accettabili per ambienti cum'è u kernel Linux. Questu hè diventatu un prublema più seriu, postu chì à u mumentu a biblioteca di u core Rust hè indivisibule è rapprisenta un grande blob - ùn ci hè manera di dumandà solu alcune di e funziunalità, impediscendu l'usu di una o una altra funziunalità problematica. Risolviri u prublema pò esse bisognu di cambiamenti à u compilatore di ruggine è e biblioteche, ancu s'ellu à u mumentu a squadra ùn hà ancu una strategia per implementà a modularizazione di e biblioteche di lingua.

Inoltre, Torvalds hà nutatu chì l'esempiu di u driver furnitu era inutile è ci hà cunsigliatu per aduprà com'è esempiu un driver chì risolve unu di i veri prublemi.

Actualizazione: Google hà annunziatu a so participazione à l'iniziativa di spinghje u supportu Rust in u kernel Linux è hà furnitu ragiuni tecnichi per l'introduzione di Rust per cumbatte i prublemi derivanti da errori di memoria. Google crede chì Rust hè pronta à unisce à C cum'è a lingua per u sviluppu di cumpunenti di u kernel Linux. L'articulu furnisce ancu esempi di usu di a lingua Rust per sviluppà i driver di u kernel, in u cuntestu di u so usu in a piattaforma Android (Rust hè ricunnisciutu cum'è una lingua supportata ufficialmente per u sviluppu Android).

Hè nutatu chì Google hà preparatu un prototipu iniziale di un driver scrittu in Rust per u mecanismu di cumunicazione interprocessu Binder, chì permetterà un paragone detallatu di u rendiment è a sicurità di implementazioni Binder in C è Rust. In a so forma attuale, u travagliu ùn hè ancu cumpletu, ma per quasi tutte l'astrazioni basi di a funziunalità di u kernel necessariu per u travagliu di Binder, i strati sò stati preparati per utilizà sti astrazioni in u codice Rust.

Source: opennet.ru

Add a comment