ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π€Π°Π±ΡΠΈΡΠΎΠΌ ΠΠ΅Π»Π»Π°ΡΠΎΠΌ (Fabrice Bellard) Ρ ΡΠ΅Π»ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ x86 ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Linux Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ , ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΎΡ x86. ΠΠ° Π³ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΌΡΠ»ΡΡΠΈΠΈ Π΄Π»Ρ 14 Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, ΡΠΈΡΠ»ΠΎ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΡΠ΅Π²ΡΡΠΈΠ»ΠΎ 400. ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Π²Π΅ΡΡΠΈΠΈ 5.1 Π²Π½Π΅ΡΠ΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 2500 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ 235 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠ»ΡΡΠ΅Π²ΡΠ΅
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ CPU Π½Π° Π±Π°Π·Π΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
AVR . Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°Ρ Arduino Duemilanove (ATmega168), Arduino Mega 2560 (ATmega2560),
Arduino Mega (ATmega1280) ΠΈ Arduino UNO (ATmega328P). - Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ARM Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (hot-unplug), Π° ΡΠ°ΠΊΠΆΠ΅ Π³ΠΎΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ nvdimm Π΄Π»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Ρ ACPI. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ARMv8.2
TTS2UXN ΠΈARMv8.5 MemTag . ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°ΡΡ sonorapass-bmc. - Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ MIPS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CPU Loongson 3A CPUs (R1 ΠΈ R4). ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ FPU ΠΈ MSA.
- Π ΡΠΌΡΠ»ΡΡΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ RISC-V Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CPU SiFive E34 ΠΈ Ibex. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°Ρ HiFive1 revB ΠΈ OpenTitan. ΠΠ»Ρ ΠΌΠ°ΡΠΈΠ½ Spike ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ CPU.
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ FWNMI.
- ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ s390 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° KVM Π΄Π»Ρ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ).
- Π ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ x86 ΡΠΎΠΊΡΠ°ΡΠ΅Π½Ρ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π³ΠΎΡΡΠ΅Π²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ Ρ Windows, ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ² ACPI WAET (Windows ACPI Emulated Device Table). Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ
HVF Π΄Π»Ρ macOS. - Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Π±Π»ΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2MB.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² QEMU ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· keyring ΡΠ΄ΡΠ° Linux ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° «secret-keyring».
- ΠΠ»Ρ ΡΠΎΡΠΌΠ°ΡΠ° qcow2 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΆΠ°ΡΠΈΡ zstd.
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ qemu-img Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ‘bitmap’ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ Π±ΠΈΡΠΎΠ²ΡΠΌΠΈ ΠΊΠ°ΡΡΠ°ΠΌΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ qcow2. Π qemu-img ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ LUKS (keyslot) ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ «map» (—start-offset, —max-length) ΠΈ «convert» (—bitmaps), Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «measure» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²ΡΠ²ΠΎΠ΄ ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ Π±ΠΈΡΠΎΠ²ΡΡ ΠΊΠ°ΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ qcow2.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ NVMe ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ (Persistent Memory Region), ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΡ ΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ NVMe 1.4.
- Π virtio Π΄Π»Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ c ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΊΠΎΠ΄Π° TCG (Tiny Code Generator) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
vhost-user , Π²ΠΊΠ»ΡΡΠ°Ρ virtiofsd. Π vhost-user Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ 8 ΡΠ»ΠΎΡΠΎΠ² ΠΠΠ£.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru