IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

Vous �tes nouveau sur Developpez.com ? Cr�ez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et �tre connect� pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Cr�ez-en un en quelques instants, c'est enti�rement gratuit !

Si vous disposez d�j� d'un compte et qu'il est bien activ�, connectez-vous � l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oubli� ?
Cr�er un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Red Hat travaille � la mise sur pied d'un nouveau pilote Linux pour les GPU Nvidia en Rust,
L'initiative ravive le d�bat sur la pertinence de l'abandon des langages C et C++ pour le Rust

Le , par Patrick Ruiz

125PARTAGES

12  0 
Red Hat travaille � la mise sur pied d�un nouveau pilote Linux pour les GPU Nvidia en Rust. L�initiative est une contribution aux efforts de prise en charge du langage Rust dans le d�veloppement du noyau Linux. Le g�ant technologique, comme Google et autres Microsoft, cherche ainsi � faciliter la transition � Rust que de plus en plus d�observateurs jugent sup�rieur � C et � C++ pour la s�curisation des logiciels. La tendance dans l�industrie technologique est telle que m�me Linus Torvalds reconna�t que Rust, qui a �t� adopt� comme deuxi�me langage pour le d�veloppement du noyau Linux, est digne d�int�r�t d�un point de vue technique.

� Nous venons de commencer � travailler sur Nova, un pilote GSP bas� sur Rust pour les GPU Nvidia. Nova, � long terme, est destin� � servir de successeur � Nouveau pour les GPU bas�s sur le firmware GSP �, annonce Red Hat.



L�initiative ravive le d�bat des comparaisons entre Rust et les langages C et C++

Les comparatifs des langages Rust et C++ ont un d�nominateur commun : la mise en avant de la sup�riorit� de Rust � C++ en mati�re de s�curisation de la m�moire.

� Les langages de programmation tels que C et C++ sont des exemples de langages de programmation qui peuvent conduire � un code non s�r pour la m�moire et qui sont encore parmi les langages les plus utilis�s aujourd'hui. Pour tenter d'att�nuer les dangers du code � m�moire non s�curis�e obtenu en C et C++, de nombreux fabricants de logiciels investissent dans des programmes de formation � l'intention de leurs d�veloppeurs.

Nombre de ces programmes de formation comprennent des tactiques con�ues pour r�duire la pr�valence des vuln�rabilit�s de s�curit� de la m�moire produites par ces langages. En outre, il existe de nombreux programmes de formation organis�s par des associations commerciales et industrielles. En outre, diverses organisations et universit�s proposent des formations et un certificat professionnel pour d�montrer la connaissance des pratiques de codage s�curis� en C et en C++.

Bien que la formation puisse r�duire le nombre de vuln�rabilit�s qu'un codeur peut introduire, �tant donn� l'omnipr�sence des d�fauts de s�curit� de la m�moire, il est presque in�vitable que des vuln�rabilit�s de s�curit� de la m�moire se produisent encore. M�me les d�veloppeurs les plus exp�riment�s introduisent des bogues desquels peuvent r�sulter des vuln�rabilit�s importantes. La formation doit servir de transition pendant qu'une organisation met en �uvre des contr�les techniques plus robustes, tels que des langages � s�curit� m�moire �, soulignent les Five Eyes dans un appel � abandonner C ou C++ et � passer � Rust.

� Rust garantit la s�curisation de la m�moire et des threads au moment de la compilation en introduisant des r�gles de propri�t�. Il va au-del� du RAII, un m�canisme de gestion de la m�moire couramment utilis� en C++. Il pr�sente deux avantages. Le premier est �vident : une fois que le compilateur Rust a valid� notre programme, nous n'aurons pas de d�fauts de segmentation ou de conditions de concurrence lors de l'ex�cution, ce qui n�cessiterait des dizaines d'heures de d�bogage, en particulier dans une base de code hautement concurrente et principalement asynchrone. La seconde est plus subtile : le compilateur Rust restreint simplement les types de fautes, ce qui r�duit les fragments de code �troitement imbriqu�s qui peuvent causer un tel comportement bogu�. La r�plication des bogues est consid�rablement am�lior�e avec l'aide de l'ex�cution d�terministe �, indique l'�diteur RisingWave � propos de la r��criture de son SGBD Cloud natif depuis z�ro en Rust apr�s abandon du projet en C++.

� Choisir Rust c�est opter pour une meilleure s�curisation des logiciels qu�avec le C, mais une efficacit� �nerg�tique et une performance d�ex�cution que seul le C offre �, d�clare Amazon. En effet, certains benchmarks sugg�rent que les applications Rust sont plus rapides que leurs �quivalents en langage C. Et c�est justement pour ces atouts que sont la parit� en termes de vitesse d�ex�cution en comparaison avec le C, mais surtout pour la s�curisation et la fiabilit� que Mark Russinovich recommande le Rust plut�t que le C ou le C++.



� En 2021, nous avons annonc� que Google rejoignait la Rust Foundation. � l'�poque, Rust �tait d�j� largement utilis� dans Android et d'autres produits Google. Notre annonce soulignait notre engagement � am�liorer les examens de s�curit� du code Rust et son interop�rabilit� avec le code C++. Rust est l'un des outils les plus puissants dont nous disposons pour r�soudre les probl�mes de s�curit� de la m�moire. Depuis cette annonce, les leaders de l'industrie et les agences gouvernementales se sont fait l'�cho de notre sentiment.

Nous sommes ravis d'annoncer que Google a accord� une subvention d'un million de dollars � la Fondation Rust pour soutenir les efforts visant � am�liorer la capacit� du code Rust � interop�rer avec les bases de code C++ existantes. Nous poursuivons �galement notre engagement envers la communaut� open-source Rust en regroupant et en publiant des audits pour les crates Rust que nous utilisons dans les projets open-source de Google. Ces contributions, ainsi que nos pr�c�dentes contributions en mati�re d'interop�rabilit�, nous rendent enthousiastes quant � l'avenir de Rust �, �crit Google dans le cadre de l�annonce de l�accord d�une subvention d�un million de dollars de la Fondation Rust pour soutenir les efforts d�interop�rabilit� avec C++.

� Nous sommes ravis de soutenir ce travail par le biais de l'initiative Interop de la Fondation Rust et en collaboration avec le projet Rust afin de s'assurer que tous les ajouts effectu�s sont appropri�s et r�pondent aux d�fis de l'adoption de Rust auxquels les projets utilisant C++ sont confront�s. L'am�lioration de la s�curit� de la m�moire dans l'industrie du logiciel est l'un des principaux d�fis technologiques de notre �poque, et nous invitons la communaut� et l'industrie � se joindre � nous pour travailler ensemble � la s�curisation de l'�cosyst�me open source pour tous �, ajoute le g�ant technologique.


Rust de Mozilla Research est le type de langage de programmation auquel ceux qui �crivent du code pour des syst�mes d�entr�e/sortie de base (BIOS), des chargeurs d�amorce, des syst�mes d�exploitation, etc. portent un int�r�t. De fa�on graduelle, Microsoft migre vers ce dernier au d�triment d�autres langages que l�entreprise juge moins outill�s pour la mise sur pied d�applications dites syst�me. Motif : Rust offre de meilleures garanties en mati�re de s�curisation des acc�s m�moire des logiciels.

� Les probl�mes de gestion de la m�moire sont exploit�s depuis des d�cennies et sont encore trop courants aujourd'hui. Nous devons utiliser de fa�on syst�matique des langages s�curis�s pour la m�moire et d'autres protections lors du d�veloppement de logiciels afin d'�liminer ces faiblesses des cyberacteurs malveillants �, d�clare Neal Ziring, directeur technique de la cybers�curit� de la NSA.

En effet, il y a une liste de griefs qui reviennent � l�encontre de langages de programmation comme le C et le C++ : les probl�mes li�s � la gestion de la m�moire � d�passements de m�moire tampon, allocations non lib�r�es, acc�s � des zones m�moire invalides ou lib�r�es, etc. D�apr�s les chiffres du dictionnaire Common Vulnerabilities and Exposure (CVE), 15,9 % des 2288 vuln�rabilit�s qui ont affect� le noyau Linux en 20 ans sont li�es � des d�passements de m�moire tampon.



Le cr�ateur du C++ est d�avis que � La s�curisation des logiciels via le langage Rust n'est pas sup�rieure � celle offerte par le C++ �

Mark Russinovich de Microsoft a d�clar� que � c�est le moment d�arr�ter d�initier de nouveaux projets en langages C ou C++ et de passer � Rust. � Motif : le Rust offre de meilleures garanties de s�curisation des logiciels que les langages C ou C++. La position reprise quelques mois plus tard par la NSA trouve contradicteur et pas des moindres. Sans d�tour, le cr�ateur du langage C++ d�clare : � la s�curisation des logiciels par le langage Rust n�est pas sup�rieure � celle offerte par le C++. �

En effet, Bjarne Stroustrup s�inscrit en faux avec le fait que la publication de la NSA limite la notion de s�curisation des logiciels � celle de s�curisation de la m�moire. En r�alit�, cet aspect est un d�nominateur commun de toutes les publications qui conseillent de mettre le C ou le C++ au rebut au profit du langage Rust en raison des garanties de s�curisation des logiciels que plusieurs grandes entreprises (Microsoft, Amazon, etc.) lui reconnaissent.

� Il n'y a pas qu'une seule d�finition de la notion de "s�curit�" et nous pouvons r�aliser une vari�t� de types de s�curit� par une combinaison de styles de programmation, de biblioth�ques de support et gr�ce � la mise � profit de l'analyse statique �, indique-t-il. Bjarne Stroustrup sugg�re ainsi que ce qu�il est possible d�obtenir du C++ en mati�re de s�curisation des logiciels d�pend entre autres du d�veloppeur et notamment de la connaissance des outils que lui offre le langage, de sa ma�trise du compilateur, etc.

Des ing�nieurs de Google au fait de ce que le C++ leur offre comme possibilit�s se sont donc lanc�s dans la mise sur pied dans ce langage d�un borrow-checker. C�est une fonctionnalit� du compilateur Rust qui garantit la s�curisation de la m�moire gr�ce � une gestion des allocations en m�moire des pointeurs.



L��quipe de Google dont la publication est parvenue � la conclusion que le syst�me de types du C++ ne se pr�te pas � un tel exercice. Et donc que la s�curisation de la m�moire en C++ est r�alisable avec des v�rifications lors de l�ex�cution du programme. En d�autres termes, c�est avec du code C++ lent qu�il est possible d�atteindre un niveau de s�curisation �quivalent � celui du Rust.

Code Rust : S�lectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
#include <type_traits>  
#include <utility>  
#include <assert.h>  
#include <stddef.h>  
enum NoRefs {};  
enum HasMutRef {};  
enum HasRefs {};  
template <class T, typename Mode>  
class Own;  
template <class T>  
class MutRef;  
template <class T...
La fin de cet article est r�serv�e aux abonn�s. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer � vous proposer des publications.

Une erreur dans cette actualit� ? Signalez-nous-la !

Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 22/03/2024 � 13:11
On souhaite bon courage � Red Hat puisqu'il faut un handshake cryptographique entre le pilote et la carte pour d�verrouiller toutes ses fonctionnalit�s.

La fameuse sortie de Linus sur NVIDIA vient de l�. Quand vous achetez leurs produits, ils ne vous appartiennent pas totalement.
2  0 
Avatar de Aiekick
Membre extr�mement actif https://www.developpez.com
Le 22/03/2024 � 10:54
qu'on ce pose la question pour remplacer le c par le rust ok.

par contre pour le c++ faut m'expliquer. la il s'agit d'une driver. donc du dev systeme, ou rust s'y prete bien.

une architecture logicielle rust aussi robuste qu'en c++ demandera 10 fois plus de temps de dev... donc ca depend des objectifs du projet.

et puis si en c++ on evite au maximum les allocations dynamique. il n'y a aucun probleme.
0  2