4.17๋ ๊ฐ์ ๊ฐ๋ฐ ๋์ ๋ฌด๋ฃ ํ์ดํผ๋ฐ์ด์ Xen 4.17์ด ์ถ์๋์์ต๋๋ค. Amazon, Arm, Bitdefender, Citrix, EPAM Systems ๋ฐ Xilinx(AMD)์ ๊ฐ์ ํ์ฌ๊ฐ ์ ๋ฆด๋ฆฌ์ค ๊ฐ๋ฐ์ ์ฐธ์ฌํ์ต๋๋ค. Xen 12 ๋ถ๊ธฐ์ ๋ํ ์ ๋ฐ์ดํธ ์์ฑ์ 2024๋ 12์ 2025์ผ๊น์ง ์ง์๋๋ฉฐ ์ทจ์ฝ์ ์์ ์ฌํญ์ XNUMX๋ XNUMX์ XNUMX์ผ๊น์ง ๊ฒ์๋ฉ๋๋ค.
Xen 4.17์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ์์คํ ์์ฑ์ ์ฌ์ฉ๋๋ MISRA-C ์ฌ์์ ๊ณต์ํ๋์ด C ์ธ์ด๋ก ์์ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ํ ์๊ตฌ ์ฌํญ์ ๋ถ๋ถ์ ์ผ๋ก ์ค์ํฉ๋๋ค. Xen์ ๊ณต์์ ์ผ๋ก 4๊ฐ ์ง์นจ๊ณผ 24๊ฐ MISRA-C ๊ท์น(143๊ฐ ๊ท์น ๋ฐ 16๊ฐ ์ง์นจ ์ค)์ ๊ตฌํํ๊ณ MISRA-C ์ ์ ๋ถ์๊ธฐ๋ฅผ ์ด์ ๋ธ๋ฆฌ ํ๋ก์ธ์ค์ ํตํฉํ์ฌ ์ฌ์ ์๊ตฌ ์ฌํญ ์ค์๋ฅผ ํ์ธํฉ๋๋ค.
- ๊ฒ์คํธ๋ฅผ ๋ถํ ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ๋ฏธ๋ฆฌ ํ๋ ์ฝ๋ฉํ๋ ARM ์์คํ ์ฉ ์ ์ Xen ๊ตฌ์ฑ์ ์ ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ณต์ ๋ฉ๋ชจ๋ฆฌ, ์ด๋ฒคํธ ์๋ฆผ ์ฑ๋, ํ์ดํผ๋ฐ์ด์ ํ ๊ณต๊ฐ ๋ฑ ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ๋์ ์ผ๋ก ํ ๋นํ์ง ์๊ณ ํ์ดํผ๋ฐ์ด์ ์์ ์ ์ฌ์ ํ ๋นํ์ฌ ์ด์ ์ค ๋ฆฌ์์ค ๋ถ์กฑ์ผ๋ก ์ธํ ์ฅ์ ๊ฐ๋ฅ์ฑ์ ์ ๊ฑฐํฉ๋๋ค.
- ARM ์ํคํ ์ฒ ๊ธฐ๋ฐ ์๋ฒ ๋๋ ์์คํ ์ ๊ฒฝ์ฐ VirtIO ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ I/O ๊ฐ์ํ์ ๋ํ ์คํ์ (๊ธฐ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ) ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. virtio-mmio ์ ์ก์ ๊ฐ์ I/O ์ฅ์น์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ด๋ ๊ด๋ฒ์ํ VirtIO ์ฅ์น์์ ํธํ์ฑ์ ๋ณด์ฅํฉ๋๋ค. Linux ํ๋ฐํธ์๋, ํดํท(libxl/xl), dom0less ๋ชจ๋ ๋ฐ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ๋๋ ๋ฐฑ์๋์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค(virtio-disk, virtio-net, i2c ๋ฐ gpio ๋ฐฑ์๋๊ฐ ํ ์คํธ๋์์ต๋๋ค).
- dom0less ๋ชจ๋์ ๋ํ ์ง์์ด ํฅ์๋์ด ์๋ฒ ๋ถํ ์ด๊ธฐ ๋จ๊ณ์์ ๊ฐ์ ๋จธ์ ์ ์์ํ ๋ dom0 ํ๊ฒฝ ๋ฐฐํฌ๋ฅผ ํผํ ์ ์์ต๋๋ค. ๋ถํ ๋จ๊ณ์์(์ฅ์น ํธ๋ฆฌ๋ฅผ ํตํด) CPU ํ(CPUPOOL)์ ์ ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด dom0 ์์ด ๊ตฌ์ฑ์์ ํ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด big.LITTLE์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ARM ์์คํ ์์ ๋ค์ํ ์ ํ์ CPU ์ฝ์ด๋ฅผ ๋ฐ์ธ๋ฉํ ์ ์์ต๋๋ค. ๊ฐ๋ ฅํ์ง๋ง ์๋์ง๋ฅผ ์๋นํ๋ ์ฝ์ด์ ์์ฐ์ฑ์ ๋ฎ์ง๋ง ์๋์ง ํจ์จ์ฑ์ด ๋์ ์ฝ์ด๋ฅผ ๊ฒฐํฉํ ์ํคํ ์ฒ์ ๋๋ค. ๋ํ dom0less๋ ๋ฐ๊ฐ์ํ ํ๋ฐํธ์๋/๋ฐฑ์๋๋ฅผ ๊ฒ์คํธ ์์คํ ์ ๋ฐ์ธ๋ฉํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฏ๋ก ํ์ํ ๋ฐ๊ฐ์ํ ์ฅ์น๋ก ๊ฒ์คํธ ์์คํ ์ ๋ถํ ํ ์ ์์ต๋๋ค.
- ARM ์์คํ ์์๋ ์ด์ ๋๋ฉ์ธ์ด ์์ฑ๋ ๋ ์์ฑ๋ ๋ฉ๋ชจ๋ฆฌ ํ์์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ํ ๊ตฌ์กฐ(P2M, Physical to Machine)๊ฐ ํ ๋น๋๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ ๊ฒ์คํธ๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ๊ฒฉ๋ฆฌํ ์ ์์ต๋๋ค.
- ARM ์์คํ ์ ๊ฒฝ์ฐ ํ๋ก์ธ์ ๋ง์ดํฌ๋ก์ํคํ ์ฒ ๊ตฌ์กฐ์ Spectre-BHB ์ทจ์ฝ์ฑ์ ๋ํ ๋ณดํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ARM ์์คํ ์์๋ Dom0 ๋ฃจํธ ํ๊ฒฝ์์ Zephyr ์ด์ ์ฒด์ ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
- ๋ณ๋์(ํธ๋ฆฌ ์ธ๋ถ) ํ์ดํผ๋ฐ์ด์ ์ด์ ๋ธ๋ฆฌ์ ๊ฐ๋ฅ์ฑ์ด ์ ๊ณต๋ฉ๋๋ค.
- x86 ์์คํ ์์๋ ๋ชจ๋ ์ ํ์ ๊ฒ์คํธ ์์คํ ์ ๋ํด ๋๊ท๋ชจ IOMMU ํ์ด์ง(์ํผํ์ด์ง)๊ฐ ์ง์๋๋ฏ๋ก PCI ์ฅ์น๋ฅผ ์ ๋ฌํ ๋ ์ฒ๋ฆฌ๋์ ๋๋ฆด ์ ์์ต๋๋ค. ์ต๋ 12TB RAM์ด ์ฅ์ฐฉ๋ ํธ์คํธ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋ถํ ๋จ๊ณ์์ dom0์ ๋ํ CPUID ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. ๊ฒ์คํธ ์์คํ ์ CPU์ ๋ํ ๊ณต๊ฒฉ์ ๋ํด ํ์ดํผ๋ฐ์ด์ ์์ค์์ ๊ตฌํ๋ ๋ณดํธ ์กฐ์น๋ฅผ ์ ์ดํ๊ธฐ ์ํด VIRT_SSBD ๋ฐ MSR_SPEC_CTRL ๋งค๊ฐ๋ณ์๊ฐ ์ ์๋ฉ๋๋ค.
- VirtIO-Grant ์ ์ก์ ๋ณ๋๋ก ๊ฐ๋ฐ๋๊ณ ์์ผ๋ฉฐ, VirtIO-MMIO์๋ ๋ ๋์ ์์ค์ ๋ณด์๊ณผ ๋๋ผ์ด๋ฒ๋ฅผ ์ํ ๋ณ๋์ ๊ฒฉ๋ฆฌ๋ ๋๋ฉ์ธ์์ ํธ๋ค๋ฌ๋ฅผ ์คํํ๋ ๊ธฐ๋ฅ์ด ๋ค๋ฆ ๋๋ค. VirtIO-Grant๋ ์ง์ ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋งคํ ๋์ ๊ฒ์คํธ ์์คํ ์ ๋ฌผ๋ฆฌ์ ์ฃผ์๋ฅผ ์น์ธ ๋งํฌ๋ก ๋ณํํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฒ์คํธ ์์คํ ๊ณผ VirtIO ๋ฐฑ์๋ ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ ์ํด ์ฌ์ ํฉ์๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์น์ธ ์์ด ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ๋งคํ์ ์ํํ ์ ์๋ ๋ฐฑ์๋ ๊ถํ์ ๋๋ค. VirtIO-Grant ์ง์์ ์ด๋ฏธ Linux ์ปค๋์ ๊ตฌํ๋์ด ์์ง๋ง QEMU ๋ฐฑ์๋, virtio-vhost ๋ฐ ํดํท(libxl/xl)์๋ ์์ง ํฌํจ๋์ด ์์ง ์์ต๋๋ค.
- Hyperlaunch ์ด๋์ ํฐ๋ธ๋ ์์คํ ๋ถํ ์ค ๊ฐ์ ๋จธ์ ์คํ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ์ ์ฐํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ๊ณ์ ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. ํ์ฌ PV ๋๋ฉ์ธ์ ๊ฐ์งํ๊ณ ๋ก๋ ์ ํด๋น ์ด๋ฏธ์ง๋ฅผ ํ์ดํผ๋ฐ์ด์ ๋ก ์ ์กํ ์ ์๋ ์ฒซ ๋ฒ์งธ ํจ์น ์ธํธ๊ฐ ์ด๋ฏธ ์ค๋น๋์์ต๋๋ค. PV ๋๋ผ์ด๋ฒ์ฉ Xenstore ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ์ฌ ์ด๋ฌํ ๋ฐ๊ฐ์ํ ๋๋ฉ์ธ์ ์คํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ๋ ๊ตฌํ๋์์ต๋๋ค. ํจ์น๊ฐ ์น์ธ๋๋ฉด PVH ๋ฐ HVM ์ฅ์น์ ๋ํ ์ง์์ ๋ฌผ๋ก , ์ธก์ ๋ ๋ถํ ์ ๊ตฌ์ฑํ๋ ๋ฐ ์ ํฉํ ๋ณ๋์ domB ๋๋ฉ์ธ(๋น๋ ๋๋ฉ์ธ) ๊ตฌํ์ ํ์ฑํํ๊ณ ๋ก๋๋ ๋ชจ๋ ๊ตฌ์ฑ ์์์ ์ ํจ์ฑ์ ํ์ธํ๋ ์์ ์ด ์์๋ฉ๋๋ค.
- RISC-V ์ํคํ ์ฒ์ฉ Xen ํฌํธ๋ฅผ ์์ฑํ๋ ์์ ์ด ๊ณ์๋๊ณ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru