Το Linux 6.12 έρχεται με υποστήριξη RT, μηχανισμό sched_ext, βελτιώσεις υποστήριξης και πολλά άλλα

Τουξ, η μασκότ του πυρήνα του Linux

Μετά από δύο μήνες ανάπτυξης, Ο Linus Torvalds ανακοίνωσε την κυκλοφορία του πυρήνα Linux 6.12, έκδοση στην οποία Ξεχωρίζει η δυνατότητα ενεργοποίησης της λειτουργίας σε πραγματικό χρόνο, την προσθήκη του sched_ext για να επιτρέπεται η δημιουργία προγραμματιστών CPU χρησιμοποιώντας eBPF και α μηχανισμός που δημιουργεί κωδικούς QR σε κρίσιμες καταστάσεις.

Linux 6.12 περιλαμβάνει συνολικά 14,607 διορθώσεις που έγιναν, Προστέθηκαν περισσότερες από 507,913 γραμμές κώδικα και εξαλείφοντας 234,083. Αν και η ενημερωμένη έκδοση κώδικα είναι μικρότερη σε σύγκριση με τις προηγούμενες εκδόσεις, αντιπροσωπεύει μια βελτιστοποίηση χωρίς προηγούμενο.

Κύρια νέα στο Linux 6.12

Ο πυρήνας του Linux τώρα μπορεί να κατασκευαστεί με την επιλογή PREEMPT_RT iενσωματωμένο, εξαλείφοντας την ανάγκη για εξωτερικές ενημερώσεις κώδικα για λειτουργία σε πραγματικό χρόνο. Αυτό επιτεύχθηκε με τη συμπερίληψη υποστήριξης στη λειτουργία printk. PREEMPT_RT και είναι διαθέσιμο σε αρχιτεκτονικές όπως x86, x86_64, ARM64 και RISC-V.

Στη συλλογή, το Η υποστήριξη για τον μεταγλωττιστή Clang επεκτάθηκε στην τυπική βιβλιοθήκη nolibc, επιτρέποντας βελτιστοποιήσεις όπως η βελτιστοποίηση χρόνου σύνδεσης (LTO). Είναι επίσης πρόσθεσε ένα σύστημα παρακολούθησης δακτυλίου, που διατηρεί τις πληροφορίες εντοπισμού σφαλμάτων στη μνήμη μετά τις επανεκκινήσεις, διευκολύνοντας την ανάλυση μετά την αποτυχία.

Εκ μέρους κάποιου Rust-for-Linux, αυτό συνεχίζει να εξελίσσεται με νέες ενότητες όπως το list και το rbtree για συνδεδεμένες λίστες και κόκκινο-μαύρο δέντρο. Επιπλέον, η υποστήριξη επεκτάθηκε σε βασικούς τομείς όπως η προετοιμασία, ο συγχρονισμός και ο χειρισμός σφαλμάτων. Είναι δυνατή η μεταγλώττιση του πυρήνα με το Rust διατηρώντας προηγμένες προστασίες όπως το Spectre και τον εντοπισμό σφαλμάτων με το KASAN ή το kCFI. Επιπλέον, ενσωματώθηκε ένα πρόγραμμα οδήγησης Ethernet PHY γραμμένο σε Rust.

Μια άλλη καινοτομία Αυτό που ξεχωρίζει σε αυτή τη νέα έκδοση του Linux Kernel 6.12 είναι η εισαγωγή του μηχανισμός sched_ext (SCX), που σας επιτρέπει να χρησιμοποιήσετε το eBPF για να δημιουργήσετε προσαρμοσμένους προγραμματιστές CPU. Με το SCX, οι προγραμματιστές μπορούν να σχεδιάσουν δυναμικούς προγραμματιστές που βελτιστοποιούν την εκτέλεση εργασιών με βάση την κατάσταση του συστήματος και τις συγκεκριμένες ανάγκες εφαρμογών, διευκολύνοντας τον πειραματισμό και την εφαρμογή στρατηγικών σε περιβάλλοντα παραγωγής.

επίσης Ολοκληρώθηκε η ενσωμάτωση διακομιστή SCHED_DEADLINE, πιο αποτελεσματική λύση για να αποφευχθεί η μονοπώληση της CPU από εργασίες υψηλής προτεραιότητας, βελτίωση της κατανομής πόρων σε εργασίες χαμηλής προτεραιότητας. Επιπλέον, ο χρονοπρογραμματιστής CFS αντικαταστάθηκε με το νέο EEVDF (Earliest Eligible Virtual Deadline First), το οποίο κατανέμει πιο δίκαια τους πόρους του επεξεργαστή και εξαλείφει την ανάγκη για μη αυτόματες προσαρμογές, μειώνοντας τις καθυστερήσεις σε κρίσιμες εργασίες.

Ο ελεγκτής DRM Πανικός, υπεύθυνος για το χειρισμό έκτακτης ανάγκης στον πυρήνα, μπορείτε πλέον να εμφανίσετε μια οπτική αναφορά με λογότυπα και κωδικούς QR συμπεριλαμβανομένων συμπιεσμένων διαγνωστικών δεδομένων. Αυτοί οι κωδικοί QR διευκολύνουν την ανάλυση αποτυχίας, επιτρέποντας στους χρήστες να ανακατευθύνονται σε σελίδες που έχουν διαμορφωθεί από τις διανομές για να αναφέρουν προβλήματα.

Όσον αφορά ARM, πρόσθεσε υποστήριξη για επέκταση POE (Permission Overlay Extension), η οποία ενεργοποιεί μηχανισμούς όπως τα κλειδιά προστασίας μνήμης για να περιορίσετε την πρόσβαση σε συγκεκριμένες περιοχές της μνήμης χωρίς να χρειάζεται να τροποποιήσετε πίνακες σελίδων. Επιπλέον, η βελτιστοποίηση της κλήσης συστήματος getrandom() με χρήση vDSO αύξησε την ταχύτητα δημιουργίας τυχαίων αριθμών έως και 15 φορές στις αρχιτεκτονικές Loongarch, ARM64, PowerPC και s390.

Un νέο πρόγραμμα οδήγησης USB επιτρέπει τη χρήση του πρωτοκόλλου 9pfs για μεταφορά δεδομένων μεταξύ συσκευών USB με την τοποθέτηση συστημάτων αρχείων 9p. Αυτό είναι ιδιαίτερα χρήσιμο σε ενσωματωμένες συσκευές, παρέχοντας μια αποτελεσματική εναλλακτική λύση στο NFS για την εκκίνηση των ριζικών κατατμήσεων.

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

για τη βιβλιοθήκη libcpupower, περιλάμβανε αρχεία δημιουργίας συνδέσμων με χρήση SWIG, το οποίο επιτρέπει τη χρήση γλωσσών όπως η Python για την επέκταση της λειτουργικότητάς του. Επιπλέον, το βοηθητικό πρόγραμμα cpuidle έχει βελτιωθεί, το οποίο μπορεί τώρα να μετρήσει τον ελάχιστο χρόνο αδράνειας που απαιτείται για να δικαιολογήσει το κόστος ενέργειας μετάβασης.

Στον τομέα των δικτύων, ένας Οι πιο αξιοσημείωτες βελτιώσεις είναι ο μηχανισμός TCP για τη μνήμη της συσκευής, η οποία επιτρέπει την άμεση μεταφορά δεδομένων μεταξύ της μνήμης των περιφερειακών συσκευών και του δικτύου χωρίς να περνάει από την CPU, επιτυγχάνοντας αξιοσημείωτη απόδοση. Επιπλέον, οι δυνατότητες πολλών ελεγκτών Ethernet και WiFi, όπως το iwlwifi της Intel και το rtw89 της RealTek, έχουν επεκταθεί με πρόσθετη υποστήριξη για τσιπ WiFi 6 και προηγμένα πρότυπα IEEE. Για το IPv6, εισήχθη νέα λειτουργικότητα για τη βελτιστοποίηση της κατανομής διευθύνσεων χρησιμοποιώντας το DHCPv6-PD, ενώ το MPTCP έλαβε βελτιώσεις στη δρομολόγηση και τον εντοπισμό απώλειας κυκλοφορίας.

Στην υποστήριξη υλικού, Προστέθηκε συνεχής υποστήριξη για το AMD RDNA4 στο πρόγραμμα οδήγησης AMDGPU και βελτιώσεις στο πρόγραμμα οδήγησης Xe DRM για επεξεργαστές Intel Xe. Προστέθηκε επίσης το Υποστήριξη για επεξεργαστές Xeon Granite Rapids και νέες πλατφόρμες ARM, συμπεριλαμβανομένου του Snapdragon X Elite SoC.

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