์ง๋ฉ์ค ํ์ฌ ๋ฌด๋ฃ ํ์ดํผ๋ฐ์ด์ ๋ฆด๋ฆฌ์ค . ํ์ดํผ๋ฐ์ด์ ๋ VMX+EPT ๋๋ SVM+NPT(AMD-V) ํ์ฅ์ด ์๋ x86_64 ์์คํ ๋ฟ๋ง ์๋๋ผ ๊ฐ์ํ ํ์ฅ์ด ์๋ ARMv7 ๋ฐ ARMv8/ARM64 ํ๋ก์ธ์๋ ์ง์ํฉ๋๋ค. ๊ฐ๋ผ์ ธ Jailhouse ํ์ดํผ๋ฐ์ด์ ์ด๋ฏธ์ง ์์ฑ๊ธฐ (ํจํค์ง ๊ธฐ๋ฐ) Debian ์ง์๋๋ ๊ธฐ๊ธฐ์ฉ. ํ๋ก์ ํธ ์ฝ๋ GPLv2์ ๋ฐ๋ผ ๋ผ์ด์ผ์ค๊ฐ ๋ถ์ฌ๋์์ต๋๋ค.
ํ์ดํผ๋ฐ์ด์ ๋ ์ปค๋์ฉ ๋ชจ๋๋ก ๊ตฌํ๋ฉ๋๋ค. Linux ๋ํ ์ปค๋ ์์ค์ ๊ฐ์ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฒ์คํธ ์์คํ ์ฉ ๊ตฌ์ฑ ์์๋ ์ด๋ฏธ ๋ฉ์ธ ์ปค๋์ ํฌํจ๋์ด ์์ต๋๋ค. LinuxJailhouse๋ ์ต์ CPU์์ ์ ๊ณตํ๋ ํ๋์จ์ด ๊ฐ์ํ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๊ฒฉ๋ฆฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. Jailhouse์ ํน์ง์ ๊ฒฝ๋ ๊ตฌํ๊ณผ ๊ฐ์ ๋จธ์ ์ ๊ณ ์ ๋ CPU, RAM ๋ฐ ํ๋์จ์ด ์ฅ์น์ ๋ฐ์ธ๋ฉํ๋ ๋ฐ ์ค์ ์ ๋๋ค๋ ์ ์ ๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ํตํด ๊ฐ๊ฐ ๊ณ ์ ํ ํ๋ก์ธ์ ์ฝ์ด์ ํ ๋น๋ ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ ํ๊ฒฝ์ ๋จ์ผ ๋ฌผ๋ฆฌ์ ๋ฉํฐํ๋ก์ธ์ ์๋ฒ์์ ์คํํ ์ ์์ต๋๋ค.
CPU์ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋๋ฉด ๋ณต์กํ ๋ฆฌ์์ค ํ ๋น ์ค์ผ์ค๋ฌ๋ฅผ ์คํํ ํ์๊ฐ ์์ผ๋ฏ๋ก ํ์ดํผ๋ฐ์ด์ ์ ์ค๋ฒํค๋๊ฐ ์ต์ํ๋๊ณ ๊ตฌํ์ด ํฌ๊ฒ ๋จ์ํ๋ฉ๋๋ค. ๋ณ๋์ CPU ์ฝ์ด๋ฅผ ํ ๋นํ๋ฉด ์ด CPU์์ ๋ค๋ฅธ ์์ ์ด ์คํ๋์ง ์์ต๋๋ค. . ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฅ์ ์ ๋ฆฌ์์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ณด์ฅํ๊ณ ์ฑ๋ฅ์ ์์ธกํ ์ ์๋ค๋ ์ ์ ๋๋ค. ๋ฐ๋ผ์ Jailhouse๋ ์ค์๊ฐ์ผ๋ก ์ํ๋๋ ์์ ์ ์์ฑํ๋ ๋ฐ ์ ํฉํ ์๋ฃจ์ ์ ๋๋ค. ๋จ์ ์ CPU ์ฝ์ด ์์ ๋ฐ๋ผ ํ์ฅ์ฑ์ด ์ ํ๋๋ค๋ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ฉ์ด์์๋ ๊ฐ์ ํ๊ฒฝ์ "์นด๋ฉ๋ผ"(๊ต๋์ ๋งฅ๋ฝ์์๋ ์ )๋ผ๊ณ ํฉ๋๋ค. ์นด๋ฉ๋ผ ๋ด๋ถ์ ์์คํ ์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ ๋จ์ผ ํ๋ก์ธ์ ์๋ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ ์ฉ CPU ์ฝ์ด์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์นด๋ฉ๋ผ๋ ์์์ ์ด์ ์ฒด์ ํ๊ฒฝ์ ์คํํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ์ค์๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ก ํน๋ณํ ์ค๋น๋ ๊ฐ๋ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ๊ฐ๋จํ ํ๊ฒฝ๋ ์คํํ ์ ์์ต๋๋ค. ๊ตฌ์ฑ์ ๋ค์์์ ์ค์ ๋ฉ๋๋ค. , ํ๊ฒฝ์ ํ ๋น๋ CPU, ๋ฉ๋ชจ๋ฆฌ ์์ญ ๋ฐ I/O ํฌํธ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.

์ ๋ฆด๋ฆฌ์ค์์
- Marvell MACCHIATObin, Xilinx Ultra96์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
Microsys mirac SBC-LS1046A ๋ฐ Texas Instruments AM654 IDK; - ๊ฐ CPU ์ฝ์ด์ ๋ํ ํต๊ณ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์นด๋ฉ๋ผ๊ฐ ์ข ๋ฃ๋ ๋ PCI ์ฅ์น๊ฐ ์ฌ์ค์ ๋๋๋ก ํ์ฑํํ์ต๋๋ค.
- ะกัััะบัััะฐ Device Tree ะฐะดะฐะฟัะธัะพะฒะฐะฝะฐ ะดะปั ะฟะพัะปะตะดะฝะธั ะฒัะฟััะบะพะฒ ัะดัะฐ Linux;
- ARM ๋ฐ ARM64 ํ๋ซํผ์ ๋ํ Spectre v2 ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. qemu-arm64 ์ค์ ์ ์ต์ QEMU ๋ฆด๋ฆฌ์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณ ๋ คํฉ๋๋ค. Orange Pi Zero ๋ณด๋์์ PSCI ํ์จ์ด๋ฅผ ๋ค์ ์์ฑํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
- x86 ํ๋ซํผ์ ๊ฒฝ์ฐ ๋ฐ๋ชจ ํ๊ฒฝ(์๊ฐ์) ์คํ ์ SSE ๋ฐ AVX ๋ช ๋ น์ด ์ฌ์ฉ์ด ํ์ฑํ๋๊ณ ์์ธ ๋ณด๊ณ ๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
ํฅํ ๊ณํ์๋ ์ค๋ซ๋์ ๊ธฐ๋ค๋ ค์จ IOMMUv3 ์ง์์ด ํฌํจ๋์ด ํ๋ก์ธ์ ์บ์ ์ฌ์ฉ ํจ์จ์ฑ์ ๋์ ๋๋ค(), AMD Ryzen ํ๋ก์ธ์์ APIC ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํ๊ณ , ivshmem ์ฅ์น๋ฅผ ์ฌ์์ ํ๊ณ , ๋๋ผ์ด๋ฒ๋ฅผ ๊ธฐ๋ณธ ์ปค๋๋ก ์น๊ฒฉํฉ๋๋ค.
์ถ์ฒ : opennet.ru
