Η δεύτερη έκδοση των ενημερώσεων κώδικα για υποστήριξη προγραμμάτων οδήγησης Rust στο Linux έχει ήδη αποσταλεί

Τον Μάρτιο του τρέχοντος έτους στον κλάδο linux-next που τότε λειτουργούσε για τον πυρήνα Linux 5.13, Ένα αρχικό σύνολο στοιχείων συμπεριλήφθηκε για την ανάπτυξη προγραμμάτων οδήγησης συσκευών στο η γλώσσα Rust και τώρα το αίτημα έχει υποβληθεί για να συμπεριληφθεί μια δεύτερη έκδοση επιδιορθώσεων για να προσθέσετε υποστήριξη Rust στον πυρήνα Linux.

Το άτομο που έχει στείλει το αίτημα στους προγραμματιστές Linux είναι ο Miguel Ojeda, συγγραφέας του έργου Rust-for-Linux και για τον οποίο μιλήσαμε επίσης πριν από λίγες ημέρες, αφού προσλήφθηκε για να αναλάβει το έργο "Prossimo" το οποίο βασικά επικεντρώνεται στον συντονισμό των προσπαθειών για τη μεταφορά κρίσιμης υποδομής λογισμικού σε έναν ασφαλή κώδικα για την ασφάλεια της μνήμης πυρήνα Linux με το Rust (εάν θέλετε να μάθετε περισσότερα για το έργο, μπορείτε να συμβουλευτείτε δημοσίευση στον παρακάτω σύνδεσμο.)

Rust προγράμματα οδήγησης σε Linux
σχετικό άρθρο:
Prossimo, ένα έργο ISRG για την ασφάλεια μνήμης πυρήνα Linux με το Rust

Το αίτημα που στάλθηκε από τον Miguel Ojeda είναι μια δεύτερη ενημερωμένη έκδοση των στοιχείων για την ανάπτυξη προγραμμάτων οδήγησης συσκευών σε γλώσσα Rust και στα οποία διαγράφονται τα σχόλια που έγιναν κατά τη συζήτηση της πρώτης έκδοσης των ενημερώσεων κώδικα και στα οποία ο Linus Torvalds έχει ήδη συμμετάσχει στη συζήτηση και πρότεινε την αλλαγή της λογικής για την επεξεργασία ορισμένων λειτουργιών bit.

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

Το Rust παρέχει επίσης ακέραια προστασία υπερχείλισης, απαιτεί υποχρεωτική αρχικοποίηση μεταβλητών τιμών πριν από τη χρήση, χειρίζεται καλύτερα τα σφάλματα στην τυπική βιβλιοθήκη, υιοθετεί την έννοια των αναφορών και των αμετάβλητων μεταβλητών από προεπιλογή και προσφέρει ισχυρή στατική γραφή για την ελαχιστοποίηση λογικών σφαλμάτων

Από τις αλλαγές που ξεχωρίζουν αναφέρεται σε αυτήν τη νέα έκδοση των ενημερωμένων εκδόσεων:

  • Ο κωδικός εκχώρησης μνήμης αποτρέπει την πιθανότητα δημιουργίας πανικού όταν προκύπτουν σφάλματα όπως η μνήμη.
  • Περιλαμβάνεται μια παραλλαγή της βιβλιοθήκης κατανομής Rust, στην οποία ο κώδικας έχει επεξεργαστεί ξανά για να χειριστεί κλειδαριές, αλλά ο τελικός στόχος είναι να φέρει όλα τα απαραίτητα χαρακτηριστικά για τον πυρήνα στην κύρια έκδοση της κατανομής (οι αλλαγές έχουν ήδη προετοιμαστεί και μεταφερθεί στην τυπική βιβλιοθήκη Rust).
  • Αντί για νυχτερινές κατασκευές, μπορούν πλέον να χρησιμοποιηθούν εκδόσεις beta και σταθερές rustc compiler για να μεταγλωττίσετε έναν πυρήνα με δυνατότητα Rust. Επί του παρόντος, το rustc 1.54-beta1 χρησιμοποιείται ως μεταγλωττιστής αναφοράς, αλλά μετά την κυκλοφορία του 1.54 στο τέλος του μήνα, θα υποστηρίζεται ως μεταγλωττιστής αναφοράς.
  • Προστέθηκε υποστήριξη για τη σύνταξη δοκιμών χρησιμοποιώντας το τυπικό χαρακτηριστικό Rust "# [test]" και τη δυνατότητα χρήσης δοκίμων για χρήση δείγματος κώδικα από την τεκμηρίωση ως δοκιμές.
  • Προστέθηκε υποστήριξη για αρχιτεκτονικές ARM32 και RISCV επιπλέον των x86_64 και ARM64 που υποστηρίχθηκαν προηγουμένως.
    Βελτιωμένες εφαρμογές GCC Rust (το GCC frontend για Rust) και rustc_codegen_gcc (το rustc backend για GCC), η οποία πλέον περνά όλα τα σημεία αναφοράς.
  • ΕΝΑ νέο επίπεδο αφαίρεσης για τα προγράμματα Rust να χρησιμοποιούν μηχανισμούς πυρήνα γραμμένους σε C, όπως δέντρα, αντικείμενα μέτρησης αναφοράς, δημιουργία περιγραφικών αρχείων, εργασιών, αρχείων και διανυσμάτων I / O.
  • Τα στοιχεία ανάπτυξης προγραμμάτων οδήγησης έχουν βελτιωμένη υποστήριξη για τη μονάδα "file_operations", το "module!" Μακροεντολή, καταγραφή μακροεντολών και βασικά προγράμματα οδήγησης (διερεύνηση και διαγραφή).
  • Το Binder έχει υποστήριξη για τη διαβίβαση περιγραφικών αρχείων και συνδέσμων LSM.
  • Ένα πιο λειτουργικό παράδειγμα ενός προγράμματος οδήγησης Rust, bcm2835-rng, προτείνεται για μια γεννήτρια τυχαίων αριθμών υλικού για πίνακες Raspberry Pi.

Τέλος, εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.