QEMU 6.1 ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์ถœ์‹œ

QEMU 6.1 ํ”„๋กœ์ ํŠธ์˜ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ์„œ QEMU๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์™„์ „ํžˆ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ง„ ์‹œ์Šคํ…œ์—์„œ ํ•˜๋‚˜์˜ ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ์šฉ์œผ๋กœ ๊ตฌ์ถ•๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด x86 ํ˜ธํ™˜ PC์—์„œ ARM ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. QEMU์˜ ๊ฐ€์ƒํ™” ๋ชจ๋“œ์—์„œ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์—์„œ์˜ ์ฝ”๋“œ ์‹คํ–‰ ์„ฑ๋Šฅ์€ CPU์—์„œ ์ง์ ‘ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  Xen ํ•˜์ดํผ๋ฐ”์ด์ € ๋˜๋Š” KVM ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋“œ์›จ์–ด ์‹œ์Šคํ…œ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ์›๋ž˜ Fabrice Bellard๊ฐ€ x86์ด ์•„๋‹Œ ์•„ํ‚คํ…์ฒ˜์—์„œ x86 ํ”Œ๋žซํผ์šฉ์œผ๋กœ ์ปดํŒŒ์ผ๋œ Linux ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋…„๊ฐ„์˜ ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋™์•ˆ 14๊ฐœ์˜ ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ „์ฒด ์—๋ฎฌ๋ ˆ์ด์…˜ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ ์—๋ฎฌ๋ ˆ์ดํŠธ๋œ ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์˜ ์ˆ˜๊ฐ€ 400๊ฐœ๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 6.1์„ ์ค€๋น„ํ•˜๋Š” ๋™์•ˆ 3000๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ 221๊ฐœ ์ด์ƒ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

QEMU 6.1์— ์ถ”๊ฐ€๋œ ์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ:

  • ์ด๋ฏธ ์ƒ์„ฑ๋œ ๋ธ”๋ก ์žฅ์น˜์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” "blockdev-reopen" ๋ช…๋ น์ด QMP(QEMU Machine Protocol)์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Gnutls๋Š” ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ ๋‹ค๋ฅธ ๋“œ๋ผ์ด๋ฒ„๋ณด๋‹ค ์•ž์„œ ์žˆ๋Š” ์šฐ์„ ์ˆœ์œ„ ์•”ํ˜ธํ™” ๋“œ๋ผ์ด๋ฒ„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด์ „์— ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณต๋˜๋˜ libgcrypt ๊ธฐ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋Š” ์˜ต์…˜ ์ˆœ์œ„๋กœ ์ด๋™๋˜์—ˆ์œผ๋ฉฐ, Nettle ๊ธฐ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋Š” GnuTLS ๋ฐ Libgcrypt๊ฐ€ ์—†์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํด๋ฐฑ ์˜ต์…˜์œผ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • I2C ์—๋ฎฌ๋ ˆ์ดํ„ฐ์— PMBus ๋ฐ I2C ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ(pca9546, pca9548)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ํด๋ž˜์‹ TCG(Tiny Code Generator) ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ์— ๋Œ€ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์›์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ํ”Œ๋Ÿฌ๊ทธ์ธ execlog(์‹คํ–‰ ๋กœ๊ทธ) ๋ฐ ์บ์‹œ ๋ชจ๋ธ๋ง(CPU์˜ L1 ์บ์‹œ ๋™์ž‘ ์‹œ๋ฎฌ๋ ˆ์ด์…˜)์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ARM ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—๋Š” Aspeed(rainier-bmc, ์ฝดํƒ€-q7l1), npcm7xx(์ฝดํƒ€-gbs-bmc) ๋ฐ Cortex-M3(stm32vldiscovery) ์นฉ ๊ธฐ๋ฐ˜ ๋ณด๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Aspeed ์นฉ์— ์ œ๊ณต๋˜๋Š” ํ•˜๋“œ์›จ์–ด ์•”ํ˜ธํ™” ๋ฐ ํ•ด์‹ฑ ์—”์ง„์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SVE2 ๋ช…๋ น์–ด(bfloat16 ํฌํ•จ), ํ–‰๋ ฌ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์ž ๋ฐ TLB(๋ณ€ํ™˜ ์—ฐ๊ด€ ๋ฒ„ํผ) ํ”Œ๋Ÿฌ์‹œ ๋ช…๋ น์–ด ์—๋ฎฌ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์—๋ฎฌ๋ ˆ์ดํŠธ๋œ pseries ์‹œ์Šคํ…œ์šฉ PowerPC ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—๋Š” ์ƒˆ๋กœ์šด ๊ฒŒ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์žฅ์น˜๋ฅผ ํ•ซ ํ”Œ๋Ÿฌ๊ทธํ•  ๋•Œ ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ๊ณ , CPU ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ์ด ๋Š˜์–ด๋‚ฌ์œผ๋ฉฐ, POWER10 ํ”„๋กœ์„ธ์„œ์™€ ๊ด€๋ จ๋œ ์ผ๋ถ€ ๋ช…๋ น์˜ ์—๋ฎฌ๋ ˆ์ด์…˜์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. . Genesi/bPlan Pegasos II(pegasos2) ์นฉ ๊ธฐ๋ฐ˜ ๋ณด๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • RISC-V ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” OpenTitan ํ”Œ๋žซํผ๊ณผ virtio-vga ๊ฐ€์ƒ GPU(virgl ๊ธฐ๋ฐ˜)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • s390 ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—๋Š” 16์„ธ๋Œ€ CPU ๋ฐ ๋ฒกํ„ฐ ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด Intel CPU ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ง€์›์ด x86 ์—๋ฎฌ๋ ˆ์ดํ„ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Skylake-Client-v4, Skylake-Server-v5, Cascadelake-Server-v5, Cooperlake-v2, Icelake-Client-v3, Icelake-Server-v5, Denverton- v3, Snowridge-v3, Dhyana-v2), XSAVES ๋ช…๋ น์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. Q35(ICH9) ์นฉ์…‹ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” PCI ์žฅ์น˜์˜ ํ•ซ ํ”Œ๋Ÿฌ๊น…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. AMD ํ”„๋กœ์„ธ์„œ์—์„œ ์ œ๊ณต๋˜๋Š” ๊ฐ€์ƒํ™” ํ™•์žฅ์˜ ์—๋ฎฌ๋ ˆ์ด์…˜์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์— ์˜ํ•œ ๋ฒ„์Šค ์ฐจ๋‹จ ๊ฐ•๋„๋ฅผ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ๋ฒ„์Šค ์ž ๊ธˆ ์†๋„ ์ œํ•œ ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • NetBSD ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ NVMM ํ•˜์ดํผ๋ฐ”์ด์ €์šฉ ๊ฐ€์†๊ธฐ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • GUI์—์„œ VNC ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ ์ง€์›์€ ์ด์ œ ์™ธ๋ถ€ ์•”ํ˜ธํ™” ๋ฐฑ์—”๋“œ(gnutls, libgcrypt ๋˜๋Š” nettle)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•ํ•  ๋•Œ๋งŒ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€