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

Ο Miguel Ojeda, ο συγγραφέας του έργου Rust-for-Linux, πρότεινε την κυκλοφορία των στοιχείων v10 για την ανάπτυξη προγραμμάτων οδήγησης συσκευών στη γλώσσα Rust προς εξέταση από τους προγραμματιστές του πυρήνα Linux. Αυτή είναι η ενδέκατη έκδοση των ενημερώσεων κώδικα, λαμβάνοντας υπόψη την πρώτη έκδοση, που δημοσιεύτηκε χωρίς αριθμό έκδοσης. Η συμπερίληψη της υποστήριξης Rust έχει εγκριθεί από το Linusum Torvalds για συμπερίληψη στον πυρήνα Linux 6.1, αποκλείοντας απρόβλεπτα προβλήματα. Η ανάπτυξη χρηματοδοτείται από την Google και την ISRG (Internet Security Research Group), η οποία είναι ο ιδρυτής του έργου Let's Encrypt και προωθεί το HTTPS και την ανάπτυξη τεχνολογιών για τη βελτίωση της ασφάλειας στο Διαδίκτυο.

Όπως και η προηγούμενη έκδοση των ενημερώσεων κώδικα, η έκδοση v10 περιορίζεται στο ελάχιστο, επαρκές για τη δημιουργία μιας απλής μονάδας πυρήνα γραμμένη στη γλώσσα Rust. Οι διαφορές από την προηγούμενη έκδοση οφείλονται σε μικρές επεξεργασίες, αντικαθιστώντας το sizeof με ARRAY_SIZE στο kallsyms.c και προσαρμόζοντας patches στον πυρήνα v6.0-rc7. Αναμένεται ότι η ελάχιστη ενημέρωση κώδικα, το μέγεθος της οποίας έχει μειωθεί από 40 σε 13 χιλιάδες γραμμές κώδικα, θα απλοποιήσει την υιοθέτηση της υποστήριξης Rust στον κύριο πυρήνα. Μετά την παροχή ελάχιστης υποστήριξης, σχεδιάζεται σταδιακή αύξηση της υπάρχουσας λειτουργικότητας, μεταφέροντας άλλες αλλαγές από τον κλάδο Rust-for-Linux.

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

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

Πηγή: opennet.ru

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