Μετά το περιστατικά που έχουν συμβεί εντός της κοινότητας προγραμματιστών Linux Kernel, λόγω μιας συζήτησης σχετικά με την εισαγωγή του Rust στον πυρήνα, όπου διαφορετικούς προγραμματιστές Έχουν κάνει γνωστά τα δικά τους θέση στην κατεύθυνση που παίρνει το έργο.
Γκρεγκ Κροχ-Χάρτμαν, ένας πολύ γνωστός συντηρητής του σταθερού κλάδου του πυρήνα Linux, έχει βγει για να υπερασπιστεί το Rust και έχει εκφράσει την υποστήριξή του για τη χρήση της γλώσσας Rust στην ανάπτυξη νέων βασικών στοιχείων.
Greg αναφέρω αυτό τα τελευταία 15 χρόνια, υπήρξε μια από τις κύριες πηγές πληροφόρησης σχετικά με σφάλματα και ευπάθειες στον πυρήνα και ισχυρίζεται ότι πολλά από αυτά τα προβλήματα προέρχονται από μη τεκμηριωμένες ιδιορρυθμίες της γλώσσας C, αντίθετα, αφαιρεί εντελώς αυτές τις ασάφειες, αντιπροσωπεύοντας μια σημαντική πρόοδο όσον αφορά τη σταθερότητα και την ασφάλεια.
Πλεονεκτήματα της σκουριάς στον πυρήνα
Για τον Γκρεγκ ΟΗΕ από τα κύρια οφέλη να ενσωματώσει το Rust στην ανάπτυξη πυρήνα είναι η εξάλειψη κοινών λαθών διαχείρισης μνήμης. Προβλήματα όπως η πρόσβαση στην ελευθερωμένη μνήμη, οι μερικές υπερχειλίσεις buffer, η εσφαλμένη αποδέσμευση πόρων μετά από αποτυχίες εκτέλεσης και η παράλειψη επικυρώσεων στους κωδικούς επιστροφής θα μειωθούν δραστικά. Αυτές οι βελτιώσεις θα επιτρέψουν στους συντηρητές του πυρήνα να επικεντρωθούν σε πιο σχετικά ζητήματα, όπως οι συνθήκες αγώνα και τα λογικά ζητήματα, αντί να σπαταλούν χρόνο για να διορθώσουν σφάλματα που μπορούν να αποφευχθούν.
Ο υπάρχων κωδικός C δεν θα αντικατασταθεί, αλλά η δυνατότητα Η εγγραφή νέων ελεγκτών και υποσυστημάτων στο Rust θα συμβάλει στη βελτίωση της ποιότητας λογισμικού στο μέλλον. Επιπλέον, η χρήση αυτής της γλώσσας θα επιτρέψει την αναδιάρθρωση των εσωτερικών API του πυρήνα για να γίνουν πιο κατανοητά και ασφαλή, που θα μειώσει σημαντικά την επιβάρυνση των συντηρητών διασφαλίζοντας τη σωστή χρήση του. Καθώς τα περιτυλίγματα στο Rust εξελίσσονται, ο σχεδιασμός του πυρήνα μπορεί να βελτιστοποιηθεί, προς όφελος τόσο των προγραμματιστών Rust όσο και εκείνων που συνεχίζουν να χρησιμοποιούν το C.
Γκρεγκ Κροχ-Χάρτμαν καθιστά σαφές ότι το Rust δεν είναι μια μαγική λύση που θα λύσει όλα τα προβλήματα του πυρήνα, αλλά είναι πολύτιμο εργαλείο που θα βελτιώσει πολλές πτυχές της ανάπτυξης. Επίσης επισημαίνει ότι Η χρήση πολλαπλών γλωσσών εντός του πυρήνα δεν αποτελεί ανυπέρβλητο εμπόδιο. Η κοινότητα προγραμματιστών Linux έχει αντιμετωπίσει ακόμη πιο περίπλοκες προκλήσεις στο παρελθόν και η προσθήκη του Rust είναι απλώς ένα ακόμη βήμα προς την ενίσχυση του έργου μακροπρόθεσμα.
Ο Kees Cook συμμετείχε σε αυτή τη συζήτηση, πρώην επικεφαλής sysadmin του kernel.org και αρχηγός της ομάδας ασφαλείας του Ubuntu. Ο Κουκ τόνισε ότι η πρόθεση δεν είναι να ξαναγράψουμε τον κώδικα που υπάρχουν στο Rust, αλλά να παρέχει τη δυνατότητα χρήσης του για την ανάπτυξη νέων στοιχείων. Αυτή η στρατηγική όχι μόνο θα μειώσει τον αριθμό των σφαλμάτων μνήμης, αλλά θα επιταχύνει επίσης τη διαδικασία ανάπτυξης, καθώς το Rust επιτρέπει τον εντοπισμό σφαλμάτων σε πρώιμο στάδιο της διαδικασίας κωδικοποίησης, πριν το λογισμικό φτάσει στη φάση δοκιμής.
Και Αναφέρεται ότι η βιωσιμότητα αυτής της στρατηγικής έχει αποδειχθεί Παλαιότερα από την Google σε Android. Ο νέος κώδικας έχει αποδειχθεί ότι είναι η κύρια πηγή προβλημάτων ασφαλείας, επομένως η βελτίωση της ποιότητάς του από την αρχή αποτελεί προτεραιότητα. Οντως, Έχει παρατηρηθεί ότι ο παλιός κώδικας έχει μικρότερη πυκνότητα τρωτών σημείων με την πάροδο του χρόνου. Για παράδειγμα, ο κώδικας που γράφτηκε πριν από πέντε χρόνια έχει, κατά μέσο όρο, 3.4 φορές λιγότερα ελαττώματα ασφαλείας σε σύγκριση με τον πιο πρόσφατο κώδικα.
Ως εκ τούτου, η ενσωμάτωση του Rust στον πυρήνα του Linux αναφέρεται ως βασική πρόοδος για τη βελτίωση της ασφάλειας, της αποδοτικότητας ανάπτυξης και της σταθερότητας του συστήματος. Αυτό δεν αντικαθιστά τον κώδικα C, αλλά μάλλον μια εξέλιξη που θα επιτρέψει τη συγγραφή πιο ασφαλούς και αξιόπιστου λογισμικού στο μέλλον.
Τέλος, εάν ενδιαφέρεστε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε τις λεπτομέρειες στο παρακάτω σύνδεσμο.