ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Fabrice Bellard, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Linux, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° x86, Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ. ΠΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π·Π° 14 Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, Π±ΡΠΎΡΡ Π½Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΅ Π½Π°Π΄Ρ Π²ΡΡΠ»ΠΈΠ» 400. Π ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π·Π° Π²Π΅ΡΡΠΈΡ 4.0 ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 3100 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ 220 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
ΠΠ»ΡΡ
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ARMv8+ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° ARM Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°: SB, PredInv, HPD, LOR, FHM, AA32HPD,
PAuth, JSConv, CondM, FRINT ΠΈ BTI. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ»Π°ΡΠΊΠΈ Musca ΠΈ MPS2. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π½Π° ARM PMU (Π±Π»ΠΎΠΊ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ ΡΠ°Π½Π²Π°Π½Π΅ΡΠΎ). ΠΡΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°Π²ΠΈΡ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 255 GB RAM ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° u-boot ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΠΈΠΏ βnoloadβ; - Π Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86 Π² Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°
Hax (Intel Hardware Accelerated Execution) Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° POSIX-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ ΠΊΠ°ΡΠΎ Linux ΠΈ NetBSD (ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Darwin). Π Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° ΡΠΈΠΏΡΠ΅Ρ Q35 (ICH9) Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ PCIe ΠΏΠΎΡΡΠΎΠ²Π΅, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ (16GT/s) ΠΈ Π±ΡΠΎΡΡ Π½Π° Π»ΠΈΠ½ΠΈΠΈΡΠ΅ Π·Π° Π²ΡΡΠ·ΠΊΠ° (x32), Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° PCIe 4.0, Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ (Π·Π° Π΄Π° ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ, 2.5GT Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° ΠΏΠΎ-ΡΡΠ°ΡΠΈ ΡΠΈΠΏΠΎΠ²Π΅ QEMU ΠΌΠ°ΡΠΈΠ½ΠΈ /s ΠΈ x1). ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ Xen PVH ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠΏΡΠΈΡΡΠ° β-kernelβ; - ΠΠΌΡΠ»Π°ΡΠΎΡΡΡ Π½Π° MIPS Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° TCG ΠΊΠΎΠ΄ (Tiny Code Generator). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π½Π° CPU I7200 (nanoMIPS32 ISA) ΠΈ I6500 (MIPS64R6 ISA), Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ ΡΠΈΠΏ CPU Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° QMP (ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° QEMU), Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° SAARI ΠΈ SAAR ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈ. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Ρ ΡΠΈΠΏ Fulong 2E. ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Interthread Communication Unit;
- Π Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° PowerPC Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π·Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ XIVE, ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° POWER9, Π° Π·Π° ΡΠ΅ΡΠΈΡΡΠ° P Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π³ΠΎΡΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° PCI Ρ ΠΎΡΡ ΠΌΠΎΡΡΠΎΠ²Π΅ (PHB, PCI Ρ ΠΎΡΡ ΠΌΠΎΡΡ). ΠΠ°ΡΠΈΡΠ°ΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Spectre ΠΈ Meltdown Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° PCI ΠΈ USB Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V. ΠΠ³ΡΠ°Π΄Π΅Π½ΠΈΡΡ ΡΡΡΠ²ΡΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ (gdbserver) Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΡΠΈ Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈ Π² XML ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° mstatus ΠΏΠΎΠ»Π΅ΡΠ° TSR, TW ΠΈ TVM;
- ΠΠΌΡΠ»Π°ΡΠΎΡΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° s390 Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠΎΠ΄Π΅Π»Π° z14 GA 2 CPU, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π³ΠΎΡΠ΅ΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ vfio-ap;
- Π‘Π΅ΠΌΠ΅ΠΉΠ½ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ΅Π½ Π΅ΠΌΡΠ»Π°ΡΠΎΡ Tensilica Xtensa ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° SMP Π·Π° Linux ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° FLIX (ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π³ΡΠ²ΠΊΠ°Π²Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°);
- ΠΠΏΡΠΈΡΡΠ° '-display spice-app' Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π·Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Spice Ρ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° QEMU GTK;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ tls-authz/sasl-authz ΠΊΡΠΌ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° VNC ΡΡΡΠ²ΡΡΠ°;
- QMP (QEMU Management Protocol) Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ/Π²ΡΠ½ΡΠ½ΠΎ (Out-of-band) ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ Π²Π½Π΅Π΄ΡΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°;
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° EDID Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ VFIO Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ mdevs (Intel vGPU), ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° Π΅ΠΊΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠΏΡΠΈΠΈΡΠ΅ xres ΠΈ yres;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ Π½ΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ βxen-diskβ Π·Π° Xen, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ Π΄ΠΈΡΠΊΠΎΠ² Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° Xen PV (Π±Π΅Π· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ xenstore). ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° Π½Π° Π΄ΠΈΡΠΊΠ° Xen PV Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ°;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° NBD ΡΡΡΠ²ΡΡ. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΈ β--bitmapβ, β--listβ ΠΈ β--tls-authzβ ΠΊΡΠΌ qemu-nbd;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° PCI IDE ΡΠ΅ΠΆΠΈΠΌ ΠΊΡΠΌ Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΎΡΠΎ IDE/ΡΡΠ΅Π· ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° lzfse Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° dmg ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ° ΡΠΎΡΠΌΠ°ΡΠ° qcow2 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π΄Π°Π½Π½ΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° qcow2 ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Ρ Π² ΠΎΡΠ΄Π΅Π»Π½Π° Π½ΠΈΡΠΊΠ°. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° βblockdev-createβ Π² vmdk ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ DISCARD (ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π·Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅) ΠΈ WRITE_ZEROES (Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅) ΠΊΡΠΌ Π±Π»ΠΎΠΊΠΎΠ²ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ virtio-blk;
- Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ pvrdma ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° RDMA Management Datagram ΡΡΠ»ΡΠ³ΠΈ (MAD);
- ΠΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΎ
ΠΏΡΠΎΠΌΠ΅Π½ΠΈ , Π½Π°ΡΡΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°ΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΡΠΈΡΡΠ° "handle" Π² "-fsdev" ΠΈ "-virtfs", ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΠΈΡΠ΅ "local" ΠΈΠ»ΠΈ "proxy". ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΎΠΏΡΠΈΠΈ β-virtioconsoleβ (Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ Ρ β-device virtconsoleβ), β-no-frameβ, β-clockβ, β-enable-haxβ (Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ Ρ β-accel haxβ). ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ "ivshmem" (ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° "ivshmem-doorbell" ΠΈ "ivshmem-plain"). ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Ρ SDL1.2 Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° (ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ SDL2).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru