เบ›เปˆเบญเบเบ•เบปเบง emulator QEMU 4.0

เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™ เบเบฒเบ™เบ›เปˆเบญเบเป‚เบ„เบ‡เบเบฒเบ™ QEMU 4.0. เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™ emulator, QEMU เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบตเบฎเบฒเบ”เปเบงเบซเบ™เบถเปˆเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบกเบปเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ ARM เปƒเบ™ PC เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰ x86. เปƒเบ™เป‚เบซเบกเบ” virtualization เปƒเบ™ QEMU, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเปเบกเปˆเบ™เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเบฅเบฐเบšเบปเบšเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบปเบ‡เบ‚เบญเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบเปˆเบฝเบงเบเบฑเบš CPU เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบกเบ”เบนเบ™ Xen hypervisor เบซเบผเบท KVM.

เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบทเป‰เบ™โ€‹เปƒเบ™โ€‹เป€เบšเบทเป‰เบญเบ‡โ€‹เบ•เบปเป‰เบ™โ€‹เป‚เบ”เบ Fabrice Bellard เป€เบžเบทเปˆเบญโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบเบฒเบ™ Linux executable เบชเบฑเบ‡โ€‹เบฅเบงเบกโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป€เบงโ€‹เบ—เบต x86 เปƒเบ™โ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ›เบฑเบ”โ€‹เบ•เบฐโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™ x86โ€‹. เปƒเบ™เป„เบฅเบเบฐเบ›เบตเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™ emulation เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบชเปเบฒเบฅเบฑเบš 14 เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบฎเบฒเบ”เปเบง, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบฎเบฒเบ”เปเบง emulated เป„เบ”เป‰เป€เบเบตเบ™ 400. เปƒเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเบชเบฐเบšเบฑเบš 4.0, เบซเบผเบฒเบเบเบงเปˆเบฒ 3100 เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบˆเบฒเบ 220 เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ.

เบเบฐเปเบˆ เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป€เบžเบตเปˆเบกเปƒเบ™ QEMU 4.0:

  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ ARMv8+ เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ emulator เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ ARM: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT เปเบฅเบฐ BTI. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบเบฐเบ”เบฒเบ™ Musca เปเบฅเบฐ MPS2. เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบณเบฅเบญเบ‡ ARM PMU (เปœเปˆเบงเบเบ‡เบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™). เบชเบนเปˆเป€เบงเบ—เบต เบ„เบธเบ™เบ™เบฐ เบ—เบณ เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เปƒเบŠเป‰ RAM เบซเบผเบฒเบเบเบงเปˆเบฒ 255 GB เปเบฅเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเบžเบฒเบš u-boot เบ”เป‰เบงเบเบ›เบฐเป€เบžเบ” "noload";

  • เปƒเบ™ emulator เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐ x86 เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเป€เบฅเบฑเปˆเบ‡ virtualization 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). เบเบฑเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ emulation เบ‚เบญเบ‡ CPU I7200 (nanoMIPS32 ISA) เปเบฅเบฐ I6500 (MIPS64R6 ISA), เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ›เบฐเป€เบžเบ” CPU เป‚เบ”เบเปƒเบŠเป‰ QMP (QEMU Management Protocol), เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ SAARI เปเบฅเบฐ SAAR. เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡ virtual เบเบฑเบšเบ›เบฐเป€เบžเบ” Fulong 2E. เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เปœเปˆเบงเบเบ‡เบฒเบ™เบชเบทเปˆเบชเบฒเบ™ Interthread;
  • เปƒเบ™ emulator เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ PowerPC, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ emulating เบ•เบปเบงเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡ XIVE เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ POWER9 เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบ, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบŠเบธเบ” P, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบฝเบšเบฎเป‰เบญเบ™ PCI host Bridges (PHB, PCI host bridge) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก. เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบต Spectre เปเบฅเบฐ Meltdown เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™;
  • เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš PCI เปเบฅเบฐ USB emulation เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆ RISC-V architecture emulator. เป€เบŠเบตเบšเป€เบงเบตเบ”เบตเบšเบฑเปŠเบเปƒเบ™เบ•เบปเบง (gdbserver) เบ•เบญเบ™เบ™เบตเป‰เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธเบฅเบฒเบเบŠเบทเปˆเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปƒเบ™เป„เบŸเบฅเปŒ XML. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบžเบฒเบเบชเบฐเบซเบ™เบฒเบก mstatus TSR, TW เปเบฅเบฐ TVM;
  • emulator เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ s390 เป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบšเบš CPU z14 GA 2, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบˆเบธเบ”เบฅเบญเบเปเบฅเบฐ vector. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบชเบฝเบšเบฎเป‰เบญเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ vfio-ap;
  • emulator เป‚เบฎเบ‡เบ‡เบฒเบ™เบœเบฐเบฅเบดเบ”เบ„เบญเบšเบ„เบปเบง Tensilica Xtensa เป„เบ”เป‰เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ SMP เบชเปเบฒเบฅเบฑเบš Linux เปเบฅเบฐเป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš FLIX (เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ„เบงเบฒเบกเบเบฒเบงเปเบšเบšเบเบทเบ”เบซเบเบธเปˆเบ™);
  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ '-display spice-app' เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบŸเบดเบเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เปเบฅเบฐเป€เบ›เบตเบ”เบ•เบปเบงเป€เบงเบตเบŠเบฑเบ™เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเบ‚เบญเบ‡ Spice เบ—เบตเปˆเบกเบตเบเบฒเบ™เบญเบญเบเปเบšเบšเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš QEMU GTK;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ tls-authz/sasl-authz เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VNC;
  • QMP (QEMU Management Protocol) เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบนเบ™เบเบฒเบ‡ / เบžเบฒเบเบ™เบญเบ (เบ™เบญเบเบงเบปเบ‡เบ”เบปเบ™เบ•เบต) เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ•เบฑเบ™;
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš EDID เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ VFIO เบชเปเบฒเบฅเบฑเบš mdevs เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ (Intel vGPUs), เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบ„เบงเบฒเบกเบฅเบฐเบญเบฝเบ”เบซเบ™เป‰เบฒเบˆเปเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ xres เปเบฅเบฐ yres;
  • เบญเบธเบ›เบฐเบเบญเบ™ 'xen-disk' เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบชเปเบฒเบฅเบฑเบš Xen, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เปเบœเปˆเบ™ backend เป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฒเบ”เบชเปเบฒเบฅเบฑเบš Xen PV (เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ xenstore). เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Xen PV disk backend เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เปเบœเปˆเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก;
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบงเบดเบ™เบดเบ”เป„เบชเปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบขเบนเปˆเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ NBD เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡. เป€เบžเบตเปˆเบก โ€œ--bitmapโ€, โ€œ--listโ€ เปเบฅเบฐ โ€œ--tls-authzโ€ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบชเปˆ qemu-nbd;
  • เป€เบžเบตเปˆเบกโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบฎเบนเบšโ€‹เปเบšเบš PCI IDE เบเบฑเบš IDE emulated / เบœเปˆเบฒเบ™โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบšเบปเบš lzfse เป€เบžเบทเปˆเบญเบšเบตเบšเบญเบฑเบ”เบฎเบนเบšเบžเบฒเบš dmg. เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบš qcow2, เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบŸเบฅเปŒเบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเบ™เบญเบเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ unpacking qcow2 เบ–เบทเบเบเป‰เบฒเบเป„เบ›เปƒเบชเปˆเบเบฐเบ—เบนเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™ "blockdev-create" เปƒเบ™เบฎเบนเบšเบžเบฒเบš vmdk;
  • เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™ virtio-blk block เป„เบ”เป‰โ€‹เป€เบžเบตเปˆเบกโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™ DISCARD (เบเบฒเบ™โ€‹เปเบˆเป‰เบ‡โ€‹เบเบฒเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เปˆเบญเบโ€‹เบ•เบปเบงโ€‹เบ‚เบญเบ‡ blocksโ€‹) เปเบฅเบฐ WRITE_ZEROES (zeroing a range of logical blocks) เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹;
  • เบญเบธเบ›เบฐเบเบญเบ™ pvrdma เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ RDMA Management Datagram (MAD);
  • เบชเบปเปˆเบ‡เปเบฅเป‰เบง เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบฅเบฐเป€เบกเบตเบ”เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบซเบผเบฑเบ‡. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "เบˆเบฑเบ”เบเบฒเบ™" เปƒเบ™ "-fsdev" เปเบฅเบฐ "-virtfs", เบ—เปˆเบฒเบ™เบ„เบงเบ™เปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ "เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™" เบซเบผเบท "เบ•เบปเบงเปเบ—เบ™". เบ•เบปเบงเป€เบฅเบทเบญเบ โ€œ-virtioconsoleโ€ (เปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ โ€œ-device virtconsoleโ€), โ€œ-no-frameโ€, โ€œ-clockโ€, โ€œ-enable-haxโ€ (เปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ โ€œ-accel haxโ€) เบ–เบทเบเป€เบญเบปเบฒเบญเบญเบ. เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบ–เบญเบ”เบญเบญเบ "ivshmem" (เบ„เบงเบ™เปƒเบŠเป‰ "ivshmem-doorbell" เปเบฅเบฐ "ivshmem-plain"). เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ”เป‰เบงเบ SDL1.2 เป„เบ”เป‰เบขเบธเบ”เป€เบŠเบปเบฒ (เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰ SDL2).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™