CrΓ«wyd y prosiect yn wreiddiol gan Fabrice Bellard i ddarparu'r gallu i redeg gweithredoedd gweithredadwy Linux a luniwyd ar gyfer y platfform x86 ar bensaernΓ―aeth nad yw'n x86. Dros y blynyddoedd o ddatblygiad, ychwanegwyd cefnogaeth ar gyfer efelychiad llawn ar gyfer 14 pensaernΓ―aeth caledwedd, roedd nifer y dyfeisiau caledwedd efelychiedig yn fwy na 400. Wrth baratoi fersiwn 5.1, gwnaed mwy na 2500 o newidiadau gan 235 o ddatblygwyr.
Allwedd
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΡΠ»ΡΡΠΈΠΈ 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 ar gyfer 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 ΡΠ»ΠΎΡΠΎΠ² ΠΠΠ£.
Ffynhonnell: opennet.ru