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 core;
  • เป€เบ›เบตเบ”เปƒเบŠเป‰เบญเบธเบ›เบฐเบเบญเบ™ PCI เบ—เบตเปˆเบˆเบฐเบฃเบตเป€เบŠเบฑเบ”เป€เบกเบทเปˆเบญเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบ›เบดเบ”เบฅเบปเบ‡;
  • เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ Device Tree เป„เบ”เป‰เบ–เบทเบเบ”เบฑเบ”เปเบ›เบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบง Linux kernel เบซเบผเป‰เบฒเบชเบธเบ”;
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบต Spectre v64 เบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบต ARM เปเบฅเบฐ ARM2. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ qemu-arm64 เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบˆเบฒเบเบเบฒเบ™เบ›เปˆเบญเบ QEMU เบซเบผเป‰เบฒเบชเบธเบ”. เบšเบฑเบ™เบซเบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เบ„เบทเบ™เป€เบŸเบตเบกเปเบง PSCI เปƒเบ™เบเบฐเบ”เบฒเบ™ Orange Pi Zero เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚;
  • เบชเปเบฒเบฅเบฑเบšเปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก x86, เป€เบกเบทเปˆเบญเปเบฅเปˆเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ•เบปเบงเบขเปˆเบฒเบ‡ (เบ™เบฑเบเป‚เบ—เบ”), เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ SSE เปเบฅเบฐ AVX เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰, เปเบฅเบฐเบเบฒเบ™เบฅเบฒเบเบ‡เบฒเบ™เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบก.

เปเบœเบ™โ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เบญเบฐโ€‹เบ™เบฒโ€‹เบ„เบปเบ”โ€‹เบฅเบงเบกโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™ IOMMUv3 เบ—เบตเปˆโ€‹เบฅเปโ€‹เบ–เป‰เบฒโ€‹เบขเปˆเบฒเบ‡โ€‹เบเบฒเบงโ€‹เบ™เบฒเบ™โ€‹, เบเบฒเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เบ›เบฐโ€‹เบชเบดเบ”โ€‹เบ—เบดโ€‹เบžเบฒเบšโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ–เบฒเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบˆเปเบฒโ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบ‡เบฒเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ” (เบเบฒเบ™เปƒเบชเปˆเบชเบตเปƒเบ™เบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒ), เบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบšเบฑเบ™เบซเบฒเบเบฑเบš APIC เป€เบ—เบดเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต AMD Ryzen, เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบซเบกเปˆเบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™ ivshmem เปเบฅเบฐเบชเบปเปˆเบ‡เป€เบชเบตเบกเป„เบ”เป€เบงเบตเบเบฑเบšเปเบเปˆเบ™เบ•เบปเป‰เบ™เบ•เป.

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

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