ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ áá áºááŸá áºá¡ááŒá¬ááœááºá á¡ááá²á· hypervisor Xen 4.17 ááᯠááŒáá·áºáá»ááá²á·áááºá Amazoná Armá Bitdefenderá Citrixá EPAM Systems ááŸáá·áº Xilinx (AMD) áá²á·ááá¯á·áá±á¬ áá¯áá¹ááá®áá»á¬ážááẠááŒáá·áºáá»áááŸá¯á¡áá áºá ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœáẠáá«áááºáá²á·áááºá Xen 4.17 áá¬áááœá²á¡ááœáẠá¡ááºááááºáá»áá¯ážáááºááẠááœááºá 12 áááºá 2024 áá¯ááŸá áºá¡áá ááŒá¬ááŒáá·áºáááºááŒá áºááŒá®áž á¡á¬ážáááºážáá»ááºááŒááºáááºááŸá¯áá»á¬ážááᯠáá®áááºáᬠ12á 2025 á¡áá áá¯ááºááŒááºáááºááŒá áºáááºá
Xen 4.17 ááœáẠá¡áááááŒá±á¬ááºážáá²ááŸá¯áá»á¬áž-
- áá áºááŸááºá¡áá±ážáá«áá±á¬á áá áºáá»á¬ážáááºáá®ážáá¬ááœááºá¡áá¯á¶ážááŒá¯ááá·áº MISRA-C áááºááŸááºáá»ááºáá»á¬ážááœáẠááá·áºááœááºážáá¬ážááá·áº C language ááœáẠáá¯á¶ááŒá¯á¶á áááºáá»áááŒá®áž áá¯á¶ááŒááºá áááºáá»ááá±á¬ áááá¯ááááºáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠáá áºá áááºáá áºááá¯ááºážááá¯ááºáá¬ááŸá¯á¡á¬áž ááŒáá·áºáááºážáá±ážáá«áááºá Xen ááẠááœáŸááºááŒá¬ážáá»áẠ4 áá¯ááŸáá·áº MISRA-C á ááºážáá»ááºáž 24 áᯠ(143 á ááºážáá»ááºážáá»á¬ážááŸáá·áº 16 ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážáá²ááŸ) ááá¯ááá¬ážáááºá¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®áž MISRA-C static analyzer ááᯠáááºááŸááºáá»ááºááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áºááá¯ááºáá®ááŸá¯ááŸááááŸáá á áºáá±ážááá·áº á ááºážáá±ážááœá²áá¯ááºáááºážá ááºáá»á¬ážááœááºáááºáž áá±á«ááºážá ááºáá¬ážáááºá
- ARM á áá áºáá»á¬ážá¡ááœáẠstatic Xen configuration ááᯠáááºááŸááºááá¯ááºáááºá áááºážááẠá§áá·áºáááºáá»á¬ážááᯠá áááºááẠááá¯á¡ááºááá·áº á¡áááºážá¡ááŒá áºá¡á¬ážáá¯á¶ážááᯠáá¬á·ááºáá¯ááºáá»á¬áž ááŒáá¯áááºáááºááŸááºáá±ážáááºá áá»áŸáá±áá¬ážáá±á¬ááŸááºáá¬ááºá ááŒá áºáááºá¡ááŒá±á¬ááºážááŒá¬ážáá»ááºáá»ááºáááºáá»á¬ážááŸáá·áº hypervisor á¡á á¯á¡áá±ážáá±áá¬áá»á¬ážáá²á·ááá¯á·áá±á¬ áááºážááŒá áºá¡á¬ážáá¯á¶ážááᯠááá¯ááºážááá áºáá»áá»ááœá²áá±áá±ážááá·áºá¡á á¬ážá áááºáááºáá±á ááºá¡ááœááºáž á¡áááºážá¡ááŒá áºááŒááºáá±á¬ááºááŸá¯ááŒá±á¬áá·áº ááŒá áºááá¯ááºááŒá±ááŸááá±á¬ áá¡á±á¬ááºááŒááºááŸá¯áá»á¬ážááᯠáááºááŸá¬ážáá±ážááá·áº hypervisor startup ááœáẠááŒáá¯áááºááœá²áá±áá¬ážáá«áááºá
- ARM áááá¯áá¬ááᯠá¡ááŒá±áá¶á ááá·áºááœááºážáá¬ážáá±á¬ á áá áºáá»á¬ážá¡ááœáẠVirtIO áááá¯ááá¯áá±á¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á I/O virtualization á¡ááœáẠá ááºážáááºááŸá¯ (áááºážááᬠá¡á ááºážááŒáá·áºááŸá¯ááŒááºáž) áá¶á·ááá¯ážááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá virtio-mmio áááºáá°ááá¯á·áá±á¬ááºáá±ážá¡á¬áž VirtIO áááááá¬áá»á¬ážá áœá¬ááŸáá·áº ááœá²áááºá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá±á¬ááºáž áá±áá»á¬á á±ááá·áº virtual I/O á ááºáá á¹á ááºážáá áºáá¯ááŸáá·áº áá±áá¬áááŸááºáááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áá«áááºá Linux ááŸá±á·áááºážá áááááá¬áááºáá¬ááᬠ(libxl/xl)á dom0less áá¯ááºááŸáá·áº á¡áá¯á¶ážááŒá¯áá°áá±áá¬áá»á¬ážááœáẠáá¯ááºáá±á¬ááºáá±ááá·áº áá±á¬ááºáá¶ááá¯ááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá¬ážááŒá®áž (virtio-diská virtio-netá i2c ááŸáá·áº gpio áá±á¬ááºáá¶áá»á¬ážááᯠá ááºážáááºááŒá®ážáá«ááŒá®)á
- server boot áá¡á á±á¬ááá¯ááºážá¡ááá·áºááœáẠvirtual machines áá»á¬ážááá¯á áááºáá±á¬á¡áá«ááœáẠvirtual machines áá»á¬ážááá¯á áááºáá±á¬á¡áá« dom0less áá¯ááºá¡ááœááºááá¯ážáááºáá±á¬ááºážááœááºáá±á¬áá¶á·ááá¯ážááŸá¯á á¥ááá¬á¡á¬ážááŒáá·áº ARM á áá áºáá»á¬ážááŸá ááá°áá®áá±á¬ CPU cores áá»á¬ážááᯠáá»áááºáááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá dom0 ááá«áá² configurations áá»á¬ážááœáẠpools ááá¯áá¯á¶ážááá¯ááºá á±ááá·áº Boot á¡ááá·áºááœáẠ(CPUPOOL) ááᯠáááºááŸááºááẠááŒá áºááá¯ááºáááºáLITTLE áááá¯áá¬ááá¬á á¡á áœááºážáááºáá±á¬áºáááºáž á áœááºážá¡ááºá á¬ážáá¯á¶ážááá·áº cores áá»á¬ážááŸáá·áº áá±á«ááºážá ááºááŒá®áž áá¯ááºáá¯ááºááŸá¯áááºážáá±á¬áºáááºáž á áœááºážá¡ááºáááºáá¬áá±á¬ cores áá»á¬ážááᯠáá±á«ááºážá ááºáá¬ážáááºá ááá¯á·á¡ááŒááºá dom0less ááẠááá·áºá¡á¬áž ááá¯á¡ááºáá±á¬ paravirtualized áááááá¬áá»á¬ážááŒáá·áº á§áá·áºáááºá áá áºáá»á¬ážááᯠá áááºááœáá·áºááŒá¯ááá·áº paravirtualization frontend/backend ááᯠá§áá·áºáááºá áá áºáá»á¬ážááá¯á· áá»áááºáááºááá¯ááºá á±áá«áááºá
- ARM á áá áºáá»á¬ážááœááºá áááºááá¯áá®ááŸáá·áºáááºáááºáá±á¬ áá»áá¯á·ááœááºážááŸá¯áá»á¬ážááŒá áºáá±á«áºáá±á¬á¡áá«ááœáẠá§áá·áºáááºáá»á¬ážááŒá¬ážááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áá®ážááŒá¬ážááœá²áá¯ááºááŸá¯ááᯠááœáá·áºááŒá¯áá±ážááá·áº ááá¯ááááºážááᯠáááºáá®ážááá·áºá¡áá« áááºáá®ážáá¬ážááá·áº áááºááá¯áá®áá±á«ááºážáá°ážáááºá០ááᯠááœá²áá±áá±ážáá¬ážáá«áááºá
- ARM á áá áºáá»á¬ážá¡ááœááºá áááá¯áááºáᬠááá¯ááºáááá¯áááá¯áá¬ááá¯ááºáᬠá¡áá±á¬ááºá¡áŠáá»á¬ážááœáẠSpectre-BHB á¡á¬ážáááºážáá»ááºááᯠáá¬ááœááºááŸá¯ ááá·áºááœááºážáá¬ážáááºá
- ARM á áá áºáá»á¬ážááœááºá Zephyr áááºáááºááŸá¯á áá áºááᯠDom0 á¡ááŒá áºáááºáááºážáá»ááºááœáẠáá¯ááºáá±á¬ááºááá¯ááºáááºá
- áá®ážááŒá¬áž (áá áºáááºááŒááºá) hypervisor á ááºážáá±ážááœá² ááŒá áºááá¯ááºááŒá±ááᯠáá±ážáá¬ážáááºá
- x86 á áá áºáá»á¬ážááœááºá ááŒá®ážáá¬ážáá±á¬ IOMMU á á¬áá»ááºááŸá¬áá»á¬áž (superpage) ááᯠá§áá·áºáááºá áá Ạá¡áá»áá¯ážá¡á á¬ážá¡á¬ážáá¯á¶ážá¡ááœáẠáá¶á·ááá¯ážáá±ážáá¬ážááŒá®áž PCI á ááºáá á¹á ááºážáá»á¬ážááᯠáááºááá·áºááá¯á·ááá·áºá¡áá« ááá¯ážáá»á¬ážáá¬á á±áááºá RAM 12 TB á¡áá áááºáááºáá¬ážáá±á¬ host áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºáá±á¬ááºážááá·áºáá¬ážáá«áááºá boot á¡ááá·áºááœáẠdom0 á¡ááœáẠcpuid parameters áá»á¬ážááᯠáááºááŸááºááá¯ááºá áœááºážááᯠá¡áá±á¬ááºá¡ááẠáá±á¬áºáá¬ážáááºá á§áá·áºáááºá áá áºáá»á¬ážááŸá CPU áá»á¬ážá¡áá±á«áº ááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠhypervisor á¡ááá·áºááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºááá·áº á¡áá¬á¡ááœááºá¡á á®á¡áá¶áá»á¬ážááᯠááááºážáá»á¯ááºáááºá¡ááœáẠVIRT_SSBD ááŸáá·áº MSR_SPEC_CTRL áá±á¬ááºáá»á¬ážááᯠá¡ááá¯ááŒá¯áá¬ážáááºá
- VirtIO-Grant áááºáá°ááá¯á·áá±á¬ááºáá±ážááẠááá¯ááá¯ááŒáá·áºáá¬ážáá±á¬áá¯á¶ááŒá¯á¶áá±ážá¡ááá·áºááŸáá·áº áá¬ááºáá±á¬ááºážáá»á¬ážá¡ááœáẠáá®ážááŒá¬ážáá®ážááá·áºááá¯ááááºážáá áºáá¯ááœáẠááá¯ááºááœááºáá¯ááºáá±á¬ááºááá¯ááºá áœááºážááŒáá·áº VirtIO-MMIO ááŸáá·áº ááœá²ááŒá¬ážáááºá ááá¯ááºááá¯ááºáááºááá¯áá®ááŒá±áá¯á¶ááœá²ááŒááºážá¡á á¬áž VirtIO-Grant ááẠá§áá·áºáááºá áá áºááŸáá·áº VirtIO áá±á¬ááºáá¶áá á¹á ááºážáá»á¬ážááŒá¬áž áá±áá¬áááŸááºáááºá¡ááœáẠááŒáá¯áááºááá±á¬áá°áá¬ážááá·áº áá»áŸáá±áá¬ážáá±á¬ááŸááºáá¬ááºá á§áááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºááŒá¯ááá·áº á§áá·áºáááºá áá áºá áá¯ááºááá¯ááºážááá¯ááºáá¬ááááºá á¬áá»á¬ážááᯠáá±á¬ááºáá¶á·ááá·áºááá·áºááºáá»á¬ážá¡ááŒá Ạáá¬áá¬ááŒááºááá¯ááŒááºážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá Memory mapping ááá¯áá¯ááºáá±á¬ááºááẠbackend áá¯ááºááá¯ááºááœáá·áºáá»á¬ážá VirtIO-Grant áá¶á·ááá¯ážááŸá¯ááᯠLinux kernel ááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ážááŒá®ážááŒá áºáá±á¬áºáááºáž QEMU áá±á¬ááºáá¶áá»á¬ážá virtio-vhost ááŸáá·áº toolkit (libxl/xl) ááœáẠááá«áááºáá±ážáá«á
- á áá áºá áááºá ááºá¡ááœááºáž virtual machines áá»á¬ážá áááºááŒááºážááᯠconfigure áá¯ááºáááºá¡ááœáẠááá¯ááºáá»á±á¬áá®ááœá±ááŸááá±á¬áááááá¬áá»á¬ážááᯠáá±ážáá±á¬ááºááẠáááºááœááºááá·áº Hyperlaunch ááá¬áááŒá±ááŸááºážááẠáááºáááºááœá¶á·ááŒáá¯ážáá²ááŒá áºáááºá áááºááŸáááœááºá áááºááẠPV ááá¯ááááºážáá»á¬ážááᯠááŸá¬ááœá±ááá¯ááºááŒá®áž áááºážááá¯á·ááá¯á¶áá»á¬ážááᯠáááºááá·áºá¡áá« hypervisor ááá¯á· ááœáŸá²ááŒá±á¬ááºážááœáá·áºááŒá¯ááá·áº ááááá¯á¶áž áá¬áá±ážááŸá¯á¡á á¯á¶ááᯠááŒááºáááºááŒá®ážááŒá áºáááºá ááá¯áá²á·ááá¯á·áá±á¬ paravirtualized domains áá»á¬ážááá¯áááºáááºááẠááá¯á¡ááºááá·áºá¡áá¬á¡á¬ážáá¯á¶ážááᯠPV drivers á¡ááœáẠXenstore á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡áá«á¡ááẠá¡áá±á¬ááºá¡áááºáá±á¬áºáá±á¬ááºááœááºáá¬ážáá«áááºá áá¬áá±ážááŸá¯áá»á¬ážááᯠáááºáá¶ááŒá®ážáááºááŸáá·áºá á¡áá¯ááºááẠPVH ááŸáá·áº HVM á ááºáá á¹á ááºážáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á¡ááŒáẠááá¯ááºážáá¬ááŒá®áž boot áá áºáá¯á á®á ááºáááºá¡ááœáẠááá·áºáá»á±á¬áºáá±á¬ áá®ážááŒá¬áž domB ááá¯ááááºáž (builder domain) ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááºá áááºáá¬ážáá±á¬ á¡á áááºá¡ááá¯ááºážá¡á¬ážáá¯á¶ážá ááá¬ážáááºááŸá¯ááᯠá¡áááºááŒá¯ááŒááºážááŒáá·áº á áááºáááºááŒá áºáááºá
- RISC-V áááá¯áá¬á¡ááœáẠXen ááááºáááºážááᯠáááºáá®ážááŒááºážá¡áá±á«áº áááºáááºáá¯ááºáá±á¬ááºáááºá
source: opennet.ru