Κυκλοφόρησε ο εξομοιωτής QEMU 10.0.0

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

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

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

  • Το πρόγραμμα οδήγησης virtio-scsi παρέχει έναν εικονικό ελεγκτή SCSI (προσαρμογέας διαύλου κεντρικού υπολογιστή SCSI) για εικονικές μηχανέςΈχει προστεθεί υποστήριξη για ένα σύστημα ουράς πολλαπλών επιπέδων (multiqueue), επιτρέποντας τον διαχωρισμό ουρών για διαφορετικές συσκευές μπλοκ για την υποστήριξη πρόσβασης πολλαπλών νημάτων σε συστήματα πολλαπλών πυρήνων (διαφορετικές ουρές για μία μόνο μονάδα δίσκου μπορούν να υποστούν επεξεργασία από διαφορετικά νήματα εισόδου/εξόδου). Σε σύγκριση με το πρόγραμμα οδήγησης συσκευής εικονικού μπλοκ (virtio-blk), ο εικονικός ελεγκτής SCSI έχει ελαφρώς πιο αργή απόδοση, αλλά επιτρέπει τη χρήση περισσότερων από 28 μονάδων δίσκου.
  • Το VFIO (Virtual Function I/O) έχει βελτιώσει την υποστήριξη διέλευσης IGD (Integrated Graphics Device) για ενσωματωμένες GPU που χρησιμοποιούνται σε επεξεργαστές Intel 11ης (Rocket Lake) και 12ης (Alder Lake) γενιάς. Προστέθηκε υποστήριξη για παλαιότερες GPU ATI (x550). Έχει υλοποιηθεί η βασική υποστήριξη για το PCI PM (Power Management).
  • Η τεκμηρίωση για το Πρωτόκολλο Μηχανής QEMU (QMP), το οποίο επιτρέπει στις εφαρμογές να ελέγχουν το QEMU, έχει αναθεωρηθεί σημαντικά και επεκταθεί.
  • Προστέθηκε μια νέα λειτουργία ζωντανής μετεγκατάστασης "cpr-transfer" (CheckPoint και Restart), επιτρέποντας τη μετακίνηση ενός συστήματος επισκέπτη σε μια νέα παρουσία QEMU που εκτελείται στον ίδιο κεντρικό υπολογιστή. Η λειτουργία ελαχιστοποιεί τον χρόνο αναστολής αντιστοιχίζοντας τη μνήμη του φιλοξενούμενου συστήματος στον εικονικό χώρο διευθύνσεων του νέου QEMU χωρίς αντιγραφή των περιεχομένων.
  • Προστέθηκαν συσκευές γραφικών «apple-gfx-pci» και «apple-gfx-mmio» που χρησιμοποιούν το πλαίσιο Paravirtualized Graphics που παρέχεται στο macOS για γραφικά με επιτάχυνση υλικού στους επισκέπτες. Το πρώτο πρόγραμμα οδήγησης προορίζεται για χρήση σε συσκευές x86-64 και το δεύτερο προορίζεται για ARM64.
  • Ο εξομοιωτής αρχιτεκτονικής x86 υποστηρίζει πλέον μοντέλα επεξεργαστών Intel Xeon Clearwater Forest και Sierra Forest v2. Η εξομοίωση οδηγιών χειρισμού δεδομένων συμβολοσειράς έχει επιταχυνθεί.
  • Ο εξομοιωτής αρχιτεκτονικής ARM υποστηρίζει πλέον πλακέτες NPCM8445 Evaluation και i.MX 8M Plus EVK. Προστέθηκε εξομοίωση επεκτάσεων FEAT_AFP, FEAT_RPRES και FEAT_XS, καθώς και φυσικοί και εικονικοί χρονοδιακόπτες EL2. Καταργημένη υποστήριξη για επεξεργαστές Arm PXA2xx και εξομοίωση εντολών iwMMXt.
  • Ο εξομοιωτής αρχιτεκτονικής RISC-V υλοποιεί εξομοίωση πλακών Microblaze V, CPU Ascalon και CPU RV64 Xiangshan Nanhu. Προστέθηκε υποστήριξη για τις επεκτάσεις αρχιτεκτονικής συνόλου εντολών 'svukte', 'ssstateen', 'smrnmi', 'smdbltrp'/'ssdbltrp', 'supm', 'sspm', καθώς και ετικέτες μετάφρασης IOMMU και συσκευές riscv-iommu-sys.
  • Ο εξομοιωτής αρχιτεκτονικής HPPA παρέχει εξομοίωση πλακών Diva GSP BMC. Το υλικολογισμικό SeaBIOS-hppa έχει ενημερωθεί στην έκδοση 18. Αυξήθηκε η ταχύτητα μετάδοσης. Βελτιωμένος κώδικας για επαναφορά εικονικής CPU. Σε συστήματα 64 bit, παρέχεται εξομοίωση διαμορφώσεων με μεγέθη μνήμης έως 256 GB.
  • Ο εξομοιωτής αρχιτεκτονικής LoongArch υποστηρίζει πλέον την άμεση σύνδεση της CPU. Έχει υλοποιηθεί ένα παραεικονικό IPI (διακοπή μεταξύ επεξεργαστών). Έχει υλοποιηθεί η παρακολούθηση χρονικού ορίου κατανομής πόρων του hypervisor. KVMΠροστέθηκε υποστήριξη για εικονική δρομολόγηση εξωτερικών διακοπών (extioi).
  • Ο εξομοιωτής αρχιτεκτονικής s390x προσθέτει υποστήριξη για τη 17η γενιά επεξεργαστών mainframe και υλοποιεί υποστήριξη virtio-mem. Για τη βελτίωση της απόδοσης, έχει προστεθεί η δυνατότητα αλληλεπίδρασης με συσκευές PCI που παρακάμπτουν το IOMMU.

Πηγή: opennet.ru