Ο Josh Triplett, ο οποίος εργάζεται στην Intel και είναι στην επιτροπή που επιβλέπει την ανάπτυξη του Crates.io, μιλώντας στο Open Source Technology Summit
Σε μια ομάδα εργασίας που βρίσκεται στη διαδικασία δημιουργίας, οι προγραμματιστές της Rust, μαζί με μηχανικούς της Intel, θα προετοιμάσουν προδιαγραφές που θα καθορίζουν τη λειτουργικότητα που πρέπει να εφαρμοστεί στο Rust για προγραμματισμό συστημάτων. Ο προγραμματισμός του συστήματος απαιτεί συχνά χειρισμούς χαμηλού επιπέδου, όπως η εκτέλεση προνομιακών εντολών επεξεργαστή και η λήψη λεπτομερών πληροφοριών σχετικά με την κατάσταση του επεξεργαστή. Από τα παρόμοια χαρακτηριστικά που έχουν ήδη αναπτυχθεί για το Rust, σημειώνεται υποστήριξη για ανώνυμες δομές, ενώσεις, ένθετα γλώσσας συναρμολόγησης (η μακροεντολή "asm!") και τη μορφή αριθμού κινητής υποδιαστολής BFLOAT16.
Ο Josh πιστεύει ότι το μέλλον του προγραμματισμού συστημάτων ανήκει στον Rust και η γλώσσα C στη σύγχρονη πραγματικότητα διεκδικεί τη θέση που τα περασμένα χρόνια κατείχε η Assembly. Σκουριά
όχι μόνο απαλλάσσει τους προγραμματιστές από τα προβλήματα που είναι εγγενή στη γλώσσα C που προκύπτουν λόγω της εργασίας χαμηλού επιπέδου με τη μνήμη, αλλά παρέχει επίσης την ευκαιρία να τη χρησιμοποιήσουν στην ανάπτυξη σύγχρονων παραδειγμάτων προγραμματισμού.
Κατά τη διάρκεια
Ο Josh είχε την ιδέα να προσθέσει τη δυνατότητα ανάπτυξης προγραμμάτων οδήγησης στον πυρήνα Linux στη γλώσσα Rust, που θα επέτρεπε τη δημιουργία ασφαλέστερων και καλύτερων προγραμμάτων οδήγησης με ελάχιστη προσπάθεια, χωρίς προβλήματα όπως πρόσβαση στη μνήμη μετά την απελευθέρωση, null αποαναφορές δείκτη και υπερβάσεις buffer.
Ο Greg Kroah-Hartman, ο οποίος είναι υπεύθυνος για τη διατήρηση του σταθερού κλάδου του πυρήνα Linux, εξέφρασε την ετοιμότητά του να προσθέσει ένα πλαίσιο για την ανάπτυξη προγραμμάτων οδήγησης στη γλώσσα Rust στον πυρήνα, εάν έχει πραγματικά πλεονεκτήματα έναντι του C, για παράδειγμα, θα παρέχει ασφάλεια δεσμεύσεις μέσω του Kernel API. Επιπλέον, ο Greg θεωρεί αυτό το πλαίσιο μόνο ως επιλογή, όχι ενεργό από προεπιλογή, ώστε να μην συμπεριλάβει το Rust ως εξάρτηση κατασκευής στον πυρήνα.
Αποδείχθηκε ότι αρκετές ομάδες εργάζονται ήδη προς αυτή την κατεύθυνση. Για παράδειγμα, προγραμματιστές από την εταιρεία "Fish in a Barrel"
Παράλληλο
Δεν έχει ακόμη υλοποιηθεί όλη η προβλεπόμενη λειτουργικότητα, αλλά το πλαίσιο είναι ήδη αρκετά κατάλληλο για εργασία και χρησιμοποιήθηκε για τη δημιουργία ενός λειτουργικού προγράμματος οδήγησης για τον ελεγκτή USB Ethernet LAN9512 που παρέχεται στην πλακέτα Raspberry Pi 3. Το υπάρχον πρόγραμμα οδήγησης smsc95xx, γραμμένο από τον Γλώσσα Γ. Σημειώνεται ότι το μέγεθος της μονάδας και η επιβάρυνση από τα στοιχεία χρόνου εκτέλεσης κατά την ανάπτυξη ενός προγράμματος οδήγησης στο Rust είναι ασήμαντα, γεγονός που επιτρέπει τη χρήση του πλαισίου για συσκευές με περιορισμένους πόρους.
Πηγή: opennet.ru