Το τεύχος έχει δημοσιευτεί Αστερίνες 0.18.0 — ένα πειραματικό λειτουργικό σύστημα και πυρήνας γραμμένο σε Rust και με στόχο τη συμβατότητα με Linux ABI. Το έργο τοποθετείται ως μια προσπάθεια δημιουργίας μιας εναλλακτικής λύσης «παραγωγικής ποιότητας». Linux με έμφαση στην ασφάλεια της μνήμης, την απόδοση και την κανονική λειτουργία Linux-περιβάλλον χρήστη. Ο κώδικας Asterinas είναι ανοιχτός και φιλοξενείται σε GitHub, η κύρια άδεια χρήσης του έργου είναι η MPL 2.0. Έκδοση Η έκδοση Asterinas 0.18.0 κυκλοφόρησε στις 4 Ιουνίου 2026., και στις 9 Ιουνίου επέστησε την προσοχή σε αυτό Phoronix.
Ο κύριος στόχος της έκδοσης είναι η προετοιμασία των Asterinas για χρήση ως guest λειτουργικό σύστημα για VM-based. Εμπορευματοκιβώτια Kata и Εμπιστευτικά δοχείαΓια να επιτευχθεί αυτό, προστέθηκαν στον πυρήνα μηχανισμοί χαμηλού επιπέδου που έλειπαν: namespaces, cgroups, virtio-fs, virtio-rng, και ένα επανασχεδιασμένο vsock για ανταλλαγή δεδομένων μεταξύ των συστημάτων host και guest.
Λίστα βασικών αλλαγών:
Προετοιμασία για κυκλοφορία σε Kata Containers και Confidential Containers.
Η έκδοση Asterinas 0.18 κάνει ένα σημαντικό βήμα προς την εκτέλεση ως guest λειτουργικό σύστημα μέσα σε απομονωμένες εικονικές μηχανές με κοντέινερ. Αυτό είναι σημαντικό για σενάρια όπου τα κοντέινερ δεν εκτελούνται απευθείας στον πυρήνα του κεντρικού υπολογιστή, αλλά μέσα σε ξεχωριστή εικονική μηχανή, συμπεριλαμβανομένων των περιβαλλόντων εμπιστευτικών υπολογιστών.Υποστήριξη χώρων ονομάτων.
Ο πυρήνας πλέον διαθέτει χώρο ονομάτων IPC και χώρο ονομάτων cgroup, καθώς και nsfs με αναπαράσταση χώρου ονομάτων μέσω του /proc/[pid]/ns. Αυτό φέρνει την Asterinas πιο κοντά στο μοντέλο απομόνωσης διεργασιών που χρησιμοποιείται από Linux-δοχεία.Αρχική υποστήριξη για cgroups.
Έχουν υλοποιηθεί ένας υποελεγκτής PID και μερική υποστήριξη υποελεγκτή CPU. Συγκεκριμένα, έχουν προστεθεί στατιστικά στοιχεία και stubs cpu.stat για τα αρχεία ορίου cpu.weight και cpu.max. Αυτή δεν είναι ακόμη μια πλήρης υλοποίηση ολόκληρου του μηχανισμού cgroups, αλλά παρέχει ήδη την απαραίτητη βάση για σενάρια κοντέινερ.virtio-fs για κοινή χρήση συστήματος αρχείων με τον κεντρικό υπολογιστή.
Προστέθηκε υποστήριξη για το virtio-fs, επιτρέποντας στο σύστημα guest να χρησιμοποιεί το σύστημα αρχείων που παρέχεται από τον κεντρικό υπολογιστή. Για τα κοντέινερ VM, αυτός είναι ένας βασικός μηχανισμός μεταφοράς δεδομένων χωρίς περίπλοκες λύσεις.virtio-rng και /dev/hwrng.
Προστέθηκε το virtio-rng με εξαγωγή εντροπίας υλικού μέσω του /dev/hwrng. Αυτό είναι απαραίτητο για την ορθή λειτουργία των κρυπτογραφικών λειτουργιών και των γεννητριών τυχαίων αριθμών στο guest λειτουργικό σύστημα.Ανακυκλωμένη κάλτσα vs.
Το vsock, ο μηχανισμός επικοινωνίας μεταξύ των εικονικών μηχανών κεντρικού υπολογιστή και των φιλοξενούμενων, έχει ξαναγραφτεί πλήρως. Στο πλαίσιο των Kata Containers και των Confidential Containers, αυτό είναι σημαντικό για τα κανάλια ελέγχου, τους πράκτορες και τις αλληλεπιδράσεις υπηρεσιών μεταξύ της VM και του περιβάλλοντος εκκίνησης.Έχει εμφανιστεί η υποστήριξη για το Ptrace και την αποσφαλμάτωση χώρου χρήστη.
Η κλήση συστήματος ptrace και οι βασικές λειτουργίες PTRACE_SETOPTIONS, PTRACE_SYSCALL, PTRACE_PEEK και PTRACE_POKE έχουν υλοποιηθεί. Αυτό σας επιτρέπει να εκτελέσετε οικεία εργαλεία εντοπισμού σφαλμάτων όπως το GDB και το strace σε Asterinas. Έχει προστεθεί τεκμηρίωση για επαληθευμένη χρήση και ελέγχους CI για αυτά τα εργαλεία.Νέο πρόγραμμα οδήγησης NVMe.
Ένα πρόγραμμα οδήγησης NVMe έχει προστεθεί στο επίπεδο μπλοκ. Αυτό επεκτείνει τις δυνατότητες της Asterinas για εργασία με σύγχρονες συσκευές αποθήκευσης και φέρνει το σύστημα πιο κοντά στην πρακτική χρήση τόσο σε πραγματικό όσο και σε εικονικό υλικό διακομιστή.Πλήρως ξαναγραμμένο πρόγραμμα οδήγησης EXT2.
Το σύστημα αρχείων EXT2 έχει επαναϋλοποιηθεί. Οι προγραμματιστές το αποδίδουν αυτό σε έναν συνολικό εκσυγχρονισμό της στοίβας αποθήκευσης: το υποσύστημα αρχείων θα πρέπει να γίνει πιο αξιόπιστο και κατάλληλο για την εκτέλεση πραγματικών περιβαλλόντων χρήστη.Αλλαγές στο VFS και στην προσωρινή μνήμη σελίδων.
Το VFS έχει ενημερωθεί με έναν μηχανισμό επανεπικύρωσης Dentry, μια αναδιατυπωμένη υλοποίηση cache σελίδων, μια υλοποίηση pivot_root, υποστήριξη O_TMPFILE για open/openat και ένα διορθωμένο σφάλμα cache σελίδων που θα μπορούσε να οδηγήσει σε διαρροή μνήμης χωρίς προετοιμασία στον χώρο χρήστη.επέκταση procfs.
Προστέθηκαν τα /proc/mounts, /proc/[pid]/auxv, /proc/[tid], επιπλέον καταχωρήσεις στο /proc/[pid]/maps και στο mountstats. Αυτό βελτιώνει τη συμβατότητα με Linux-εφαρμογές και διαγνωστικά εργαλεία που αναμένουν την οικεία δομή /proc.Βελτιώσεις δικτύου.
Εκτός από το ξαναγραμμένο vsock, υπάρχει αρχική υποστήριξη για IPv6, διορθώσεις στην υλοποίηση UDP και έλεγχος δικαιωμάτων κατά τη σύνδεση σε προνομιούχες θύρες: οι συνδέσεις σε τέτοιες θύρες απορρίπτονται πλέον χωρίς το CAP_NET_BIND_SERVICE.Μηχανισμός δυνατοτήτων και αρχικό πλαίσιο LSM.
Η έκδοση περιλαμβάνει την υλοποίηση δυνατοτήτων, την υποστήριξη για σύνολα οριοθέτησης δυνατοτήτων, διορθώσεις σε κλήσεις συστήματος που σχετίζονται με διαπιστευτήρια και ένα αρχικό πλαίσιο LSM. Αυτό αποτελεί μέρος της εργασίας για την προσέγγιση του μοντέλου ασφαλείας Asterinas Linux.Βελτιώσεις PCI, TTY και κονσόλας.
Βελτιωμένη ανίχνευση συσκευών PCI, προστέθηκε υποστήριξη για PCI ECAM σε x86 και υλοποιήθηκε υποστήριξη για πολλαπλά TTY, την κονσόλα NS16550A UART, το /dev/ttyS0 και την παράμετρο console=ttyS0. Έχει επίσης βελτιωθεί η υποστήριξη πληκτρολογίου.Επέκταση Asterinas NixOS.
Το Asterinas NixOS ελέγχει πλέον πάνω από 100 δημοφιλή πακέτα, συμπεριλαμβανομένων των Codex, QEMU και Firefox. Έχει προστεθεί υποστήριξη για τα ARCH_GET_GS και ARCH_SET_GS ειδικά για τον Firefox.Νέα κιτ δοκιμών.
Το έργο είναι ενσωματωμένο Linux kselftest, xfstests, τυπικές δοκιμές Go, Python και JDK, καθώς και δοκιμές QEMU για εικονικές εφαρμογές. Αυτό είναι σημαντικό ως ένδειξη ωρίμανσης του έργου: Το Asterinas δοκιμάζεται όλο και περισσότερο σε συστήματα πραγματικού κόσμου. Linux-φορτία.Αλλαγές στο OSTD και στο OSDK.
Στο OSTD, το crate log έχει αντικατασταθεί με ένα προσαρμοσμένο API καταγραφής, το DMA API έχει αναδιαμορφωθεί, έχει προστεθεί ένα πλαίσιο για λειτουργίες αντιγραφής σε μορφή typed memory και το Pod έχει αναδιαμορφωθεί για να χρησιμοποιεί zerocopy. Έχει προστεθεί ένα περιβάλλον Docker σε ARM/aarch64 για ανάπτυξη.Ενημέρωση τεκμηρίωσης.
Το βιβλίο Asterinas έχει ενημερωθεί με οδηγίες κωδικοποίησης, ανάλυση ορθότητας για OSTD και τεκμηρίωση για Kata Containers και Confidential Containers. Αυτό υπογραμμίζει το σενάριο εικονικοποίησης κοντέινερ ως βασικό επίκεντρο του έργου.
Τα Asterinas 0.18 δεν μπορούν να θεωρηθούν ως αντικατάσταση Linux για καθημερινή χρήση, αλλά η έκδοση προωθεί σημαντικά το έργο προς πρακτικά σενάρια διακομιστών και κοντέινερ. Τρεις τομείς είναι ιδιαίτερα σημαντικοί: η συμβατότητα με Linux-προγράμματα, υποστήριξη για μηχανισμούς απομόνωσης και λειτουργία σε περιβάλλοντα κοντέινερ που βασίζονται σε VM.
Πηγή: linux.org.ru
