ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ΅Π»ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° QEMU 7.2. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΌΡΠ»ΡΡΠΎΡΠ° QEMU ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ARM Π½Π° x86-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΌ ΠΠ. Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² QEMU ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΡΡ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π½Π° CPU ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Xen ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ KVM.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π€Π°Π±ΡΠΈΡΠΎΠΌ ΠΠ΅Π»Π»Π°ΡΠΎΠΌ (Fabrice Bellard) Ρ ΡΠ΅Π»ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ x86 ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Linux Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ , ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΎΡ x86. ΠΠ° Π³ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΌΡΠ»ΡΡΠΈΠΈ Π΄Π»Ρ 14 Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, ΡΠΈΡΠ»ΠΎ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΡΠ΅Π²ΡΡΠΈΠ»ΠΎ 400. ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Π²Π΅ΡΡΠΈΠΈ 7.2 Π²Π½Π΅ΡΠ΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 1800 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ 205 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π² QEMU 7.2:
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86 Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° TCG Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ AVX, AVX2, F16C, FMA3 ΠΈ VAES, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SSE. ΠΠ»Ρ KVM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ («notify vmexit»), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π² CPU, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ.
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ARM ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CPU Cortex-A35 ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ETS (Enhanced Translation Synchronization), PMUv3p5 (PMU Extensions 3.5), GTG (Guest Translation Granule 4KB, 16KB, 64KB), HAFDBS (Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π°Π³ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ «dirty») ΠΈ E0PD (ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° EL0 ΠΊ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΊΠ°ΡΡΠ°ΠΌ Π°Π΄ΡΠ΅ΡΠΎΠ²).
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ LoongArch Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° fw_cfg DMA, Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΌΡΠ»ΡΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² TPM (Trusted Platform Module).
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ OpenRISC ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ‘virt’ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator).
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V Π² ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ ‘virt’ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΈΠ· pflash Π² S-ΡΠ΅ΠΆΠΈΠΌΠ΅ (S-mode). Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ device tree.
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ 390x ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ MSA5 (Message-Security-Assist Extension 5 Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ PRNO Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»), ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ KIMD/KLM (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ SHA-512) ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ zPCI Π΄Π»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° KVM.
- Π Π±ΡΠΊΠ΅Π½Π΄Π°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΡΡΡΠΎΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ NUMA.
- Π£ΡΠΈΠ»Π΅Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ Π±Π»ΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² LUKS, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² LUKS Π² macOS.
- Π Π±ΡΠΊΠ΅Π½Π΄Π΅ 9pfs, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Plan 9 Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΡΠ° GHashTable Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΏΡΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² 6-12 ΡΠ°Π·.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ netdev-Π±ΡΠΊΠ΅Π½Π΄Ρ stream ΠΈ dgram.
- Π Π°Π³Π΅Π½ΡΠ΅ Π΄Π»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ARM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° FreeBSD.
- Π ΡΠ±ΠΎΡΠΊΠ°Ρ GUI Π΄Π»Ρ macOS ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ Cocoa ΠΈ SDL/GTK.
- Π£Π΄Π°Π»ΡΠ½ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΡΠ±ΠΌΠΎΠ΄ΡΠ»Ρ «slirp», Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libslirp.
- ΠΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌ Ρ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ MIPS, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π±Π°ΠΉΡ «Big endian».
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru