Siemens เป„เบ”เป‰เป€เบ›เบตเบ”เบ•เบปเบง Jailhouse 0.11 hypervisor

เบšเปเบฅเบดเบชเบฑเบ” Siemens เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบเบฒเบ™เบ›เปˆเบญเบ hypervisor เบŸเบฃเบต เบ„เบธเบ 0.11. hypervisor เบฎเบญเบ‡เบฎเบฑเบšเบฅเบฐเบšเบปเบš x86_64 เบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ VMX+EPT เบซเบผเบท SVM+NPT (AMD-V), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป‚เบ›เป€เบŠเบ”เป€เบŠเบต ARMv7 เปเบฅเบฐ ARMv8/ARM64 เบ—เบตเปˆเบกเบตเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ virtualization. เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ เบเบณ เบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒ เป€เบ„เบทเปˆเบญเบ‡เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเบชเปเบฒเบฅเบฑเบš Jailhouse hypervisor, เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเปเบžเบฑเบเป€เบเบฑเบ” Debian เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ GPLv2.

hypervisor เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ›เบฑเบ™เป‚เบกเบ”เบนเบ™เบชเปเบฒเบฅเบฑเบš Linux kernel เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡ virtualization เปƒเบ™เบฅเบฐเบ”เบฑเบš kernel. เบญเบปเบ‡เบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเปเบ‚เบเปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™ kernel Linux เบ•เบปเป‰เบ™เบ•เปเปเบฅเป‰เบง. เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบง, เบเบปเบ™เป„เบ virtualization เบฎเบฒเบ”เปเบงเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เป‚เบ”เบ CPUs เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบ‚เบญเบ‡ Jailhouse เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒเปเบฅเบฐเบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ virtual เบเบฑเบš CPU เบ„เบปเบ‡เบ—เบตเปˆ, เบžเบทเป‰เบ™เบ—เบตเปˆ RAM เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบฎเบฒเบ”เปเบง. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ multiprocessor เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก virtual เป€เบญเบเบฐเบฅเบฒเบ”เบซเบผเบฒเบเบญเบฑเบ™, เปเบ•เปˆเบฅเบฐเบญเบฑเบ™เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰เบเบฑเบšเบซเบผเบฑเบเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.

เบ”เป‰เบงเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ—เบตเปˆเปƒเบเป‰เบŠเบดเบ”เบเบฑเบš CPU, overhead เบ‚เบญเบ‡ hypervisor เป„เบ”เป‰เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบซเบผเบฒเบ, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบŠเบฑเบšเบŠเป‰เบญเบ™ - เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบผเบฑเบ CPU เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบงเบฝเบเบ‡เบฒเบ™เบญเบทเปˆเบ™เป†. เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ CPU เบ™เบตเป‰. เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ„เบฒเบ”เป€เบ”เบปเบฒเป„เบ”เป‰, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰ Jailhouse เป€เบ›เบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡. เบ‚เปเป‰เบšเบปเบเบœเปˆเบญเบ‡เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบตเปˆเบˆเปเบฒเบเบฑเบ”, เบˆเปเบฒเบเบฑเบ”เป‚เบ”เบเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ CPU cores.

เปƒเบ™เบ„เปเบฒเบชเบฑเบšเปƒเบ™เบ„เบธเบ, เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก virtual เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ "เบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš" (เบซเป‰เบญเบ‡, เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ„เบธเบ). เบžเบฒเบเปƒเบ™เบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบš, เบฅเบฐเบšเบปเบšเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ”เบฝเบงเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš เปƒเบเป‰ เบ•เปเปˆเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบซเบผเบฑเบ CPU เบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™. เบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ•เบปเบ™เป€เบญเบ‡เบกเบฑเบ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบ–เบญเบ”เบญเบญเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบฅเปˆเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ—เบตเปˆเบเบฐเบเบฝเบกเบžเบดเป€เบชเบ”เบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ–เบทเบเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ เป„เบŸเบฅเปŒ .cell, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ” CPU, เบžเบฒเบเบžเบทเป‰เบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เปเบฅเบฐเบžเบญเบ” I/O เบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก.

Siemens เป„เบ”เป‰เป€เบ›เบตเบ”เบ•เบปเบง Jailhouse 0.11 hypervisor

เปƒเบ™เบฅเบธเป‰เบ™เปƒเปˆ

  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฟะปะฐั‚ั„ะพั€ะผ Marvell MACCHIATObin, Xilinx Ultra96,
    Microsys miriac SBC-LS1046A ะธ Texas Instruments AM654 IDK;

  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ัั‚ะฐั‚ะธัั‚ะบะฐ ะฒ ั€ะฐะทั€ะตะทะต ะบะฐะถะดะพะณะพ ัะดั€ะฐ CPU;
  • ะžะฑะตัะฟะตั‡ะตะฝ ัะฑั€ะพั PCI-ัƒัั‚ั€ะพะนัั‚ะฒ ะฟั€ะธ ะทะฐะฒะตั€ัˆะตะฝะธะธ ั€ะฐะฑะพั‚ั‹ ะบะฐะผะตั€ั‹;
  • ะกั‚ั€ัƒะบั‚ัƒั€ะฐ Device Tree ะฐะดะฐะฟั‚ะธั€ะพะฒะฐะฝะฐ ะดะปั ะฟะพัะปะตะดะฝะธั… ะฒั‹ะฟัƒัะบะพะฒ ัะดั€ะฐ Linux;
  • ะ”ะปั ะฟะปะฐั‚ั„ะพั€ะผ ARM ะธ ARM64 ะดะพะฑะฐะฒะปะตะฝะฐ ะทะฐั‰ะธั‚ะฐ ะพั‚ ะฐั‚ะฐะบ Spectre v2. ะ’ ะฝะฐัั‚ั€ะพะนะบะฐั… qemu-arm64 ัƒั‡ั‚ะตะฝั‹ ะธะทะผะตะฝะตะฝะธั ะฟะพัะปะตะดะฝะธั… ะฒั‹ะฟัƒัะบะพะฒ QEMU. ะ ะตัˆะตะฝั‹ ะฟั€ะพะฑะปะตะผั‹ ั ะฟะตั€ะตะทะฐะฟะธััŒัŽ ะฟั€ะพัˆะธะฒะบะธ PSCI ะฝะฐ ะฟะปะฐั‚ะฐั… Orange Pi Zero;
  • ะ”ะปั ะฟะปะฐั‚ั„ะพั€ะผั‹ x86 ะฟั€ะธ ะทะฐะฟัƒัะบะต ะดะตะผะพะฝัั‚ั€ะฐั†ะธะพะฝะฝั‹ั… ะพะบั€ัƒะถะตะฝะธะน (inmates) ะฒะบะปัŽั‡ะตะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต ะธะฝัั‚ั€ัƒะบั†ะธะน SSE ะธ AVX, ะฐ ั‚ะฐะบะถะต ะดะพะฑะฐะฒะปะตะฝ ะพั‚ั‡ั‘ั‚ ะพะฑ ะธัะบะปัŽั‡ะตะฝะธัั….

ะ˜ะท ะฟะปะฐะฝะพะฒ ะฝะฐ ะฑัƒะดัƒั‰ะตะต ะพั‚ะผะตั‡ะฐะตั‚ัั ะดะฐะฒะฝะพ ะพะถะธะดะฐะตะผะฐั ะฟะพะดะดะตั€ะถะบะฐ IOMMUv3, ะฟะพะฒั‹ัˆะตะฝะธะต ัั„ั„ะตะบั‚ะธะฒะฝะพัั‚ะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะฟั€ะพั†ะตััะพั€ะฝะพะณะพ ะบััˆะฐ (cache coloring), ัƒัั‚ั€ะฐะฝะตะฝะธะต ะฟั€ะพะฑะปะตะผ ั APIC ะฝะฐ ะฟั€ะพั†ะตััะพั€ะฐั… AMD Ryzen, ะฟะตั€ะตั€ะฐะฑะพั‚ะบะฐ ัƒัั‚ั€ะพะนัั‚ะฒะฐ ivshmem ะธ ะฟั€ะพะดะฒะธะถะตะฝะธั ะดั€ะฐะนะฒะตั€ะพะฒ ะฒ ะพัะฝะพะฒะฝะพะน ัะพัั‚ะฐะฒ ัะดั€ะฐ.

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

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