์ด ํ๋ก์ ํธ๋ ์๋ x86 ํ๋ซํผ์ฉ์ผ๋ก ๋น๋๋ Linux ์คํ ํ์ผ์ด ๋น x86 ์ํคํ ์ฒ์์ ์คํ๋ ์ ์๋๋ก Fabrice Bellard๊ฐ ๋ง๋ค์์ต๋๋ค. ์๋ ๊ฐ์ ๊ฐ๋ฐ์ ํตํด 14๊ฐ์ ํ๋์จ์ด ์ํคํ ์ฒ์ ๋ํ ์์ ํ ์๋ฎฌ๋ ์ด์ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ ์๋ฎฌ๋ ์ดํธ๋ ํ๋์จ์ด ์ฅ์น์ ์๋ 400๊ฐ๋ฅผ ์ด๊ณผํ์ต๋๋ค. ๋ฒ์ 4.0์ ์ค๋นํ๋ฉด์ 3100๋ช ์ ๊ฐ๋ฐ์๊ฐ 220๊ฐ ์ด์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ์ต๋๋ค.
์ด์
- ARMv8+ ๋ช
๋ น ํ์ฅ์ ๋ํ ์ง์์ด ARM ์ํคํ
์ฒ ์๋ฎฌ๋ ์ดํฐ์ ์ถ๊ฐ๋์์ต๋๋ค: SB, PredInv, HPD, LOR, FHM, AA32HPD,
PAuth, JSConv, CondM, FRINT ๋ฐ BTI. Musca ๋ฐ MPS2 ๋ณด๋ ์๋ฎฌ๋ ์ด์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ARM PMU(์ ์ ๊ด๋ฆฌ ์ฅ์น) ์๋ฎฌ๋ ์ด์ ์ด ํฅ์๋์์ต๋๋ค. ํ๋ซํผ์ผ๋ก๋ฏธ๋ 255GB ์ด์์ RAM์ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ๊ณผ "noload" ์ ํ์ u-boot ์ด๋ฏธ์ง ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. - ๊ฐ์ํ ๊ฐ์ ์์ง์ x86 ์ํคํ
์ฒ ์๋ฎฌ๋ ์ดํฐ
ํดํน (Intel Hardware Accelerated Execution)์ Linux ๋ฐ NetBSD์ ๊ฐ์ POSIX ํธํ ํธ์คํธ์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค(์ด์ ์๋ Darwin ํ๋ซํผ๋ง ์ง์๋จ). ์ด์ ๋ฉ์ธ PCIe ํฌํธ์ฉ Q35 ์นฉ์ ์๋ฎฌ๋ ์ดํฐ(ICH9)์์ PCIe 16 ์ฌ์์ ์ ์๋ ์ต๋ ์๋(32GT/s)์ ์ฐ๊ฒฐ ๋ผ์ธ ์(x4.0)๋ฅผ ์ ํ์ ์ผ๋ก ์ ์ธํ ์ ์์ต๋๋ค(ํธํ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด 2.5GT๋ ์ด์ ์ ํ์ QEMU ์์คํ /s ๋ฐ x1์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์น๋ฉ๋๋ค. "-kernel" ์ต์ ์ ์ฌ์ฉํ์ฌ Xen PVH ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ ์ ์์ต๋๋ค. - MIPS ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ์๋ ํด๋์ TCG(Tiny Code Generator) ์ฝ๋ ์์ฑ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๋ค์ค ์ค๋ ๋ ์๋ฎฌ๋ ์ด์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋ํ CPU I7200(nanoMIPS32 ISA) ๋ฐ I6500(MIPS64R6 ISA) ์๋ฎฌ๋ ์ด์ ์ง์, QMP(QEMU ๊ด๋ฆฌ ํ๋กํ ์ฝ)๋ฅผ ์ฌ์ฉํ์ฌ CPU ์ ํ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ, SAARI ๋ฐ SAAR ๊ตฌ์ฑ ๋ ์ง์คํฐ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. Fulong 2E ์ ํ์ ์ฌ์ฉํ๋ ๊ฐ์ ๋จธ์ ์ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค. Interthread Communication Unit ๊ตฌํ์ด ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- PowerPC ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ์๋ XIVE ์ธํฐ๋ฝํธ ์ปจํธ๋กค๋ฌ ์๋ฎฌ๋ ์ด์ ์ง์์ด ์ถ๊ฐ๋์๊ณ , POWER9์ ๋ํ ์ง์์ด ํ์ฅ๋์์ผ๋ฉฐ, P ์๋ฆฌ์ฆ์๋ PCI ํธ์คํธ ๋ธ๋ฆฌ์ง(PHB, PCI ํธ์คํธ ๋ธ๋ฆฌ์ง)๋ฅผ ํซ ํ๋ฌ๊ทธํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. Spectre ๋ฐ Meltdown ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค.
- RISC-V ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ์ PCI ๋ฐ USB ์๋ฎฌ๋ ์ด์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋ด์ฅ๋ ๋๋ฒ๊น ์๋ฒ(gdbserver)๋ ์ด์ XML ํ์ผ์ ๋ ์ง์คํฐ ๋ชฉ๋ก ์ง์ ์ ์ง์ํฉ๋๋ค. mstatus ํ๋ TSR, TW ๋ฐ TVM์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- s390 ์ํคํ ์ฒ ์๋ฎฌ๋ ์ดํฐ์๋ z14 GA 2 CPU ๋ชจ๋ธ์ ๋ํ ์ง์๊ณผ ๋ถ๋ ์์์ ๋ฐ ๋ฒกํฐ ์ฐ์ฐ์ ์ํ ๋ช ๋ น์ด ํ์ฅ ์๋ฎฌ๋ ์ด์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ฅ์น๋ฅผ ํซํ๋ฌ๊ทธํ๋ ๊ธฐ๋ฅ์ด vfio-ap์ ์ถ๊ฐ๋์์ต๋๋ค.
- Tensilica Xtensa ์ ํ๊ตฐ ํ๋ก์ธ์ ์๋ฎฌ๋ ์ดํฐ๋ Linux์ ๋ํ SMP ์ง์์ ๊ฐ์ ํ๊ณ FLIX(Flexible length Instructions Extension)์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- QEMU GTK ์ธํฐํ์ด์ค์ ์ ์ฌํ ๋์์ธ์ผ๋ก Spice ์๊ฒฉ ์ก์ธ์ค ํด๋ผ์ด์ธํธ ๋ฒ์ ์ ๊ตฌ์ฑํ๊ณ ์คํํ๊ธฐ ์ํด '-display spice-app' ์ต์ ์ด ๊ทธ๋ํฝ ์ธํฐํ์ด์ค์ ์ถ๊ฐ๋์์ต๋๋ค.
- VNC ์๋ฒ ๊ตฌํ์ tls-authz/sasl-authz ์ต์ ์ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์ ์ด์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- QMP(QEMU ๊ด๋ฆฌ ํ๋กํ ์ฝ)๋ ์ค์/์ธ๋ถ(๋์ญ ์ธ) ๋ช ๋ น ์คํ์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ณ ๋ธ๋ก ์ฅ์น ์์ ์ ์ํ ์ถ๊ฐ ๋ช ๋ น์ ๊ตฌํํ์ต๋๋ค.
- ์ง์๋๋ mdev(Intel vGPU)์ฉ VFIO์ EDID ์ธํฐํ์ด์ค ๊ตฌํ์ด ์ถ๊ฐ๋์ด xres ๋ฐ yres ์ต์ ์ ์ฌ์ฉํ์ฌ ํ๋ฉด ํด์๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- Xen์ฉ์ผ๋ก ์๋ก์ด 'xen-disk' ์ฅ์น๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ์ฅ์น๋ (xenstore์ ์ก์ธ์คํ์ง ์๊ณ ๋) Xen PV์ฉ ๋์คํฌ ๋ฐฑ์๋๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. Xen PV ๋์คํฌ ๋ฐฑ์๋์ ์ฑ๋ฅ์ด ํฅ์๋์์ผ๋ฉฐ ๋์คํฌ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋คํธ์ํฌ ๋ธ๋ก ์ฅ์น์์ ์ง๋จ ๋ฐ ์ถ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ผ๋ฉฐ, ๋ฌธ์ ๊ฐ ์๋ NBD ์๋ฒ ๊ตฌํ๊ณผ์ ํด๋ผ์ด์ธํธ ํธํ์ฑ์ด ํฅ์๋์์ต๋๋ค. qemu-nbd์ "--bitmap", "--list" ๋ฐ "--tls-authz" ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์๋ฎฌ๋ ์ดํธ๋ IDE/๊ฒฝ์ ์ฅ์น์ PCI IDE ๋ชจ๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- lzfse ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ dmg ์ด๋ฏธ์ง๋ฅผ ์์ถํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. qcow2 ํ์์ ๊ฒฝ์ฐ ์ธ๋ถ ๋ฐ์ดํฐ ํ์ผ ์ฐ๊ฒฐ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. qcow2 ์์ถ ํ๊ธฐ ์์ ์ ๋ณ๋์ ์ค๋ ๋๋ก ์ด๋๋ฉ๋๋ค. vmdk ์ด๋ฏธ์ง์ "blockdev-create" ์์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- virtio-blk ๋ธ๋ก ์ฅ์น์๋ DISCARD(๋ธ๋ก ๋ฆด๋ฆฌ์ค์ ๋ํ ์๋ฆผ) ๋ฐ WRITE_ZEROES(๋ ผ๋ฆฌ ๋ธ๋ก ๋ฒ์๋ฅผ XNUMX์ผ๋ก ์ง์ ) ์์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- pvrdma ์ฅ์น๋ RDMA ๊ด๋ฆฌ ๋ฐ์ดํฐ๊ทธ๋จ ์๋น์ค(MAD)๋ฅผ ์ง์ํฉ๋๋ค.
- ๊ธฐ์ฌ
๋ณ๊ฒฝ , ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ์๋ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด "-fsdev" ๋ฐ "-virtfs"์ "handle" ์ต์ ๋์ "local" ๋๋ "proxy" ์ต์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. "-virtioconsole"("-device virtconsole"๋ก ๋์ฒด), "-no-frame", "-clock", "-enable-hax"("-accel hax"๋ก ๋์ฒด) ์ต์ ์ด ์ ๊ฑฐ๋์์ต๋๋ค. ์ฅ์น "ivshmem"์ด ์ ๊ฑฐ๋์์ต๋๋ค("ivshmem-doorbell" ๋ฐ "ivshmem-plain"์ ์ฌ์ฉํด์ผ ํจ). SDL1.2๋ฅผ ์ฌ์ฉํ ๋น๋ ์ง์์ด ์ค๋จ๋์์ต๋๋ค(SDL2๋ฅผ ์ฌ์ฉํด์ผ ํจ).
์ถ์ฒ : opennet.ru