Οι προγραμματιστές του Mesa συζητούν τη δυνατότητα προσθήκης κώδικα Rust

Mesa Project Developers συζητούν τη δυνατότητα χρήσης της γλώσσας Rust για την ανάπτυξη προγραμμάτων οδήγησης OpenGL/Vulkan και στοιχείων στοίβας γραφικών. Η συζήτηση ξεκίνησε από την Alyssa Rosenzweig, προγραμματιστή προγραμμάτων οδήγησης panfrost για GPU του Mali που βασίζονται σε μικροαρχιτεκτονικές Midgard και Bifrost. Η πρωτοβουλία βρίσκεται στο στάδιο της συζήτησης· ακόμη δεν έχουν ληφθεί συγκεκριμένες αποφάσεις.

Οι υποστηρικτές της χρήσης του Rust τονίζουν την ικανότητα βελτίωσης της απόδοσης της μνήμης και εξάλειψης προβλημάτων όπως η πρόσβαση στη μνήμη μετά την ελεύθερη πρόσβαση, οι μηδενικές παραπομπές δείκτη και οι υπερβάσεις buffer. Η υποστήριξη Rust θα επέτρεπε επίσης στη Mesa να συμπεριλάβει εξελίξεις τρίτων, όπως ένα σύστημα απόδοσης λογισμικού Καζάν με μια υλοποίηση του API γραφικών Vulkan, γραμμένο σε Rust.

Σημειώνεται ότι ο επείγων χαρακτήρας της βελτίωσης της ασφάλειας των προγραμμάτων οδήγησης έχει πρόσφατα αυξηθεί υπό το φως της χρήσης του OpenGL κατά την εκτέλεση αναξιόπιστου κώδικα σε προγράμματα περιήγησης που υποστηρίζουν WebGL, γεγονός που καθιστά τα προγράμματα οδήγησης σημαντικό φορέα για επιθέσεις στα συστήματα χρηστών. Επί του παρόντος, το Mesa χρησιμοποιεί ήδη εργαλεία όπως το ralloc και η ανάλυση στατικού κώδικα για την ελαχιστοποίηση των προβλημάτων μνήμης, αλλά η χρήση τους δεν είναι αρκετή.

Αντίπαλοι της εφαρμογής Rust σκεφτείτε, ότι τα περισσότερα από τα χρήσιμα χαρακτηριστικά του Rust μπορούν να αποκτηθούν μεταφέροντας την ανάπτυξη στη σύγχρονη C++, η οποία φαίνεται πιο ελκυστική δεδομένου ότι το μεγαλύτερο μέρος του Mesa είναι γραμμένο σε C. Μεταξύ των επιχειρημάτων κατά του Rust αναφέρεται επίσης επιπλοκή συστήματα συναρμολόγησης, όχι επιθυμία δέσμευση στο σύστημα συσκευασίας φορτίου,
επέκταση των απαιτήσεων για το περιβάλλον συναρμολόγησης και πρέπει να συμπεριληφθούν Σκουριάστε τον μεταγλωττιστή στις εξαρτήσεις συναρμολόγησης που απαιτούνται για τη δημιουργία βασικών στοιχείων επιφάνειας εργασίας στο Linux.

Η κίνηση προς τη χρήση του Rust για ανάπτυξη παρατηρείται και στην AMD, η οποία πρόσφατα άνοιξε μια κενή θέση Rust προγραμματιστής για την ανάπτυξη νέων εργαλείων που σχετίζονται με προγράμματα οδήγησης 3D για Radeon GPU.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο