ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΎΡ Fabrice Bellard, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Linux, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° x86, Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ. ΠΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½ΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ Π·Π° 14 Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, Π±ΡΠΎΡΡ Π½Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΅ Π½Π°Π΄Ρ Π²ΡΡΠ»ΠΈΠ» 400. Π ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π·Π° Π²Π΅ΡΡΠΈΡ 4.2 ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 2200 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ 198 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
ΠΠ»ΡΡ
- Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ;
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Π±Π»ΠΎΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ²
NBD (Network Block Device) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ (copy-on-read). ΠΠΎΠ΄ NBD-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΠΆΡΠ½Π½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² (Ρ ΠΏΡΡΡΠΎΡΠ°ΠΌΠΈ). ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΎΠ±ΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° NBD; - ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ LUKS-Π΄ΠΈΡΠΊΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° AES-XTS;
- Π vfio-pci Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ²ΠΎΠΉΡΡΠ²Π° Β«failover_pair_idΒ» Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² VFIO;
- Π virtio-mmio Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ° virtio-compatible 2 ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ virtio 1.1 ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΡ
Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ (
virtqueue ) Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅; - Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«microvmΒ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ virtio-mmio Π²ΠΌΠ΅ΡΡΠΎ PCI Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ VMX ΡΠ΅ΡΠ΅Π· ΡΠ»Π°Π³ΠΈ Β«-cpuΒ». ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ AVX512 BFloat16. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ CPU Denverton (ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ SoC Π½Π° Π±Π°Π·Π΅ Atom), Snowridge ΠΈ Dhyana. Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° macOS Hypervisor Framework (Β«-accel hvfΒ»);
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ARM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ SoC Aspeed AST2600 (Β«ast2600-evbΒ»). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Semihosting 2.0 c ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ STDOUT_STDERR/EXIT_EXTENDED, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ stdout, stderr ΠΈ stdin Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Ρ
ΠΎΡΡΠ°. Π KVM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ 256 CPU ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SIMD-ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SVE. Π Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
Ρ ΡΠΈΠΏΠΎΠΌ Β«
Π²ΠΈΡ Β» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ. Π£Π²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΊΠΎΠ΄Π° TCG. - Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ POWER9-ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ mffsce, mffscrn ΠΈ mffscrni. Π ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ Β«powernvΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Homer ΠΈ OCC SRAM;
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«-initrdΒ» ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅;
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ s390 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ IEP (Instruction Execution Protection);
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ 68k Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ Macintosh Quadro 800 ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ NeXTcube;
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ xtensa Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠ°ΡΠΈΠ½ Β«virtΒ» ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ABI call0 Π΄Π»Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru