Έκδοση του εξομοιωτή QEMU 8.0

Παρουσιάστηκε η κυκλοφορία του έργου QEMU 8.0. Ως εξομοιωτής, το QEMU σάς επιτρέπει να εκτελέσετε ένα πρόγραμμα μεταγλωττισμένο για μια πλατφόρμα υλικού σε ένα σύστημα με εντελώς διαφορετική αρχιτεκτονική, για παράδειγμα, να εκτελέσετε μια εφαρμογή ARM σε υπολογιστή συμβατό με x86. Στη λειτουργία εικονικοποίησης στο QEMU, η απόδοση της εκτέλεσης κώδικα σε ένα απομονωμένο περιβάλλον είναι κοντά σε αυτήν ενός συστήματος υλικού λόγω της άμεσης εκτέλεσης εντολών στην CPU και της χρήσης του Xen hypervisor ή της μονάδας KVM.

Το έργο δημιουργήθηκε αρχικά από τον Fabrice Bellard για να παρέχει τη δυνατότητα εκτέλεσης εκτελέσιμων αρχείων Linux που έχουν μεταγλωττιστεί για την πλατφόρμα x86 σε αρχιτεκτονικές που δεν είναι x86. Με τα χρόνια της ανάπτυξης, προστέθηκε υποστήριξη για πλήρη εξομοίωση για 14 αρχιτεκτονικές υλικού, ο αριθμός των εξομοιούμενων συσκευών υλικού ξεπέρασε τις 400. Κατά την προετοιμασία της έκδοσης 8.0, έγιναν περισσότερες από 2800 αλλαγές από 238 προγραμματιστές.

Βασικές βελτιώσεις που προστέθηκαν στο QEMU 8.0:

  • Η υποστήριξη για εξομοίωση συστήματος (που εκτελεί ολόκληρο το λειτουργικό σύστημα, συμπεριλαμβανομένης της χρήσης υπερεπόπτη KVM και Xen) σε κεντρικούς υπολογιστές 32-bit με αρχιτεκτονική x86 έχει κηρυχθεί απαρχαιωμένη και σύντομα θα διακοπεί. Η υποστήριξη για εξομοίωση λειτουργίας χρήστη (εκτελώντας ξεχωριστές διεργασίες που έχουν δημιουργηθεί για διαφορετική CPU) σε κεντρικούς υπολογιστές 32-bit x86 θα συνεχιστεί.
  • Ο εξομοιωτής αρχιτεκτονικής x86 έχει προσθέσει υποστήριξη για την εκτέλεση συστημάτων φιλοξενούμενων Xen σε περιβάλλον που βασίζεται στον υπερεπόπτη KVM και τους πυρήνες Linux 5.12+.
  • Η κλασική γεννήτρια κώδικα TCG για την αρχιτεκτονική x86 υποστηρίζει πλέον τις σημαίες FSRM, FZRM, FSRS και FSRC CPUID. Υλοποιήθηκε υποστήριξη για το νέο μοντέλο CPU Intel Sapphire Rapids (Intel 7).
  • Ο εξομοιωτής ARM υποστηρίζει τώρα επεξεργαστές Cortex-A55 και Cortex-R52, προσθέτει έναν νέο τύπο εξομοιωμένων μηχανών Olimex STM32 H405 και προσθέτει υποστήριξη για τις FEAT_EVT (Enhanced Virtualization Traps), FEAT_FGT (Fine-Grained Traps32RM8or) και AarvXNUMX επεκτάσεις. Το gdbstub έχει προσθέσει υποστήριξη για καταχωρητές συστήματος για την αρχιτεκτονική M-profile (προφίλ μικροελεγκτή).
  • Ο εξομοιωτής αρχιτεκτονικής RISC-V έχει ενημερώσει την υλοποίηση των μηχανημάτων εξομοίωσης OpenTitan, PolarFire και OpenSBI. Προστέθηκε υποστήριξη για πρόσθετα σύνολα εντολών επεξεργαστή (ISA) και επεκτάσεις: Smstateen, μετρητές εντοπισμού σφαλμάτων icount, εικονική λειτουργία που σχετίζεται με την προσωρινή μνήμη συμβάντων PMU, επεκτάσεις ACPI, Zawrs, Svadu, T-Head και Zicond.
  • Ο εξομοιωτής αρχιτεκτονικής HPPA έχει προσθέσει υποστήριξη για την οδηγία fid (Floating-Point Identify) και βελτιωμένη εξομοίωση σε λειτουργία 32-bit.
  • Ο εξομοιωτής 390x παρέχει υποστήριξη για ασύγχρονη αποσύνδεση μνήμης κατά την επανεκκίνηση των προστατευμένων προσκεκλημένων KVM. Βελτιωμένος χειρισμός προωθημένων συσκευών zPCI.
  • Ο μηχανισμός virtio-mem, ο οποίος επιτρέπει τη ζεστή σύνδεση και αποσύνδεση της μνήμης σε εικονικές μηχανές, υλοποιεί την προκατανομή πόρων κατά τη ζωντανή μετεγκατάσταση.
  • Η πειραματική υποστήριξη για τη μετεγκατάσταση έχει ενημερωθεί στο VFIO (Εικονική λειτουργία I/O) (η δεύτερη έκδοση του πρωτοκόλλου μετεγκατάστασης είναι ενεργοποιημένη).
  • Η συσκευή μπλοκ qemu-nbd έχει βελτιωμένη απόδοση σε σχέση με το TCP όταν χρησιμοποιεί το TLS.
  • Ο Guest Agent έχει προσθέσει την αρχική υποστήριξη για OpenBSD και NetBSD.

Πηγή: opennet.ru

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