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

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

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

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

  • Linux ํ”Œ๋žซํผ์—์„œ๋Š” ์ค‘๊ฐ„ ๋ฒ„ํผ๋ง ์—†์ด ์‹ค์‹œ๊ฐ„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค‘์— ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ์ „์†ก์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” zero-copy-send ์˜ต์…˜์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
  • QMP(QEMU Machine Protocol)์—๋Š” block-export-add ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ "๋”ํ‹ฐ" ์ƒํƒœ์˜ ํŽ˜์ด์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” NBD ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ QEMU ํ•˜์œ„ ์‹œ์Šคํ…œ์˜ ์ฟผ๋ฆฌ ํ†ต๊ณ„์— ์ƒˆ๋กœ์šด ๋ช…๋ น 'query-stats' ๋ฐ 'query-stats-schema'๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒŒ์ŠคํŠธ ์—์ด์ „ํŠธ๋Š” Solaris ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฐœ์„ ํ–ˆ์œผ๋ฉฐ ๋””์Šคํฌ ๋ฐ CPU ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ƒˆ๋กœ์šด 'guest-get-diskstats' ๋ฐ 'guest-get-cpustats' ๋ช…๋ น์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. NVMe SMART์˜ ์ •๋ณด ์ถœ๋ ฅ์„ 'guest-get-disks' ๋ช…๋ น์— ์ถ”๊ฐ€ํ•˜๊ณ  NVMe ๋ฒ„์Šค ์œ ํ˜•์— ๋Œ€ํ•œ ์ •๋ณด ์ถœ๋ ฅ์„ 'guest-get-fsinfo' ๋ช…๋ น์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • LoongArch ๋ช…๋ น ์ง‘ํ•ฉ ์•„ํ‚คํ…์ฒ˜(LA64)์˜ 64๋น„ํŠธ ๋ณ€ํ˜•์„ ์ง€์›ํ•˜๋Š” ์ƒˆ๋กœ์šด LoongArch ์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” Loongson 3 5000 ํ”„๋กœ์„ธ์„œ์™€ Loongson 7A1000 ๋…ธ์Šค๋ธŒ๋ฆฌ์ง€๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ARM ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” Aspeed AST1030 SoC, Qaulcomm ๋ฐ AST2600/AST1030(fby35)๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ์—๋ฎฌ๋ ˆ์ดํŠธ๋œ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. Cortex-A76 ๋ฐ Neoverse-N1 CPU์˜ ์—๋ฎฌ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ ํ”„๋กœ์„ธ์„œ ํ™•์žฅ SME(Scalable Matrix Extensions), RAS(Reliability, Availability, Serviceability) ๋ฐ ๋ช…๋ น์˜ ์˜ˆ์ธก ์‹คํ–‰ ์ค‘ ๋‚ด๋ถ€ ์บ์‹œ์—์„œ ๋ˆ„์ถœ์„ ์ฐจ๋‹จํ•˜๋Š” ๋ช…๋ น๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CPU. '๊ฐ€์ƒ' ๋จธ์‹ ์˜ ๊ฒฝ์šฐ GICv4 ์ธํ„ฐ๋ŸฝํŠธ ์ปจํŠธ๋กค๋Ÿฌ ์—๋ฎฌ๋ ˆ์ด์…˜์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • KVM์šฉ x86 ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—๋Š” LBR(Last Branch Record) ์ถ”์  ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๊ฐ€์ƒํ™” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • HPPA ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” ๋ถ€ํŒ… ๋ฉ”๋‰ด์—์„œ PS/6 ํ‚ค๋ณด๋“œ ์‚ฌ์šฉ์„ ์ง€์›ํ•˜๋Š” SeaBIOS v2 ๊ธฐ๋ฐ˜์˜ ์ƒˆ๋กœ์šด ํŽŒ์›จ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ–ฅ์ƒ๋œ ์ง๋ ฌ ํฌํŠธ ์—๋ฎฌ๋ ˆ์ด์…˜. ์ถ”๊ฐ€ STI ์ฝ˜์†” ๊ธ€๊ผด์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Nios2 ๋ณด๋“œ์šฉ MIPS ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ(-machine 10m50-ghrd)๋Š” ๋ฒกํ„ฐ ์ธํ„ฐ๋ŸฝํŠธ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ๋ ˆ์ง€์Šคํ„ฐ ์„€๋„์šฐ ์„ธํŠธ์˜ ์—๋ฎฌ๋ ˆ์ด์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํ–ฅ์ƒ๋œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ.
  • 'or1k-sim' ์‹œ์Šคํ…œ์šฉ OpenRISC ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—๋Š” ์ตœ๋Œ€ 4๊ฐœ์˜ 16550A UART ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • RISC-V ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—๋Š” 1.12.0 ์‚ฌ์–‘์— ์ •์˜๋œ ์ƒˆ๋กœ์šด ISA(๋ช…๋ น ์ง‘ํ•ฉ ํ™•์žฅ)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Sdtrig ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜๊ณ  ๋ฒกํ„ฐ ๋ช…๋ น์— ๋Œ€ํ•œ ์ง€์›์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ๊ธฐ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. TPM(Trusted Platform Module) ์ง€์›์ด 'virt' ์—๋ฎฌ๋ ˆ์ดํŠธ ๋จธ์‹ ์— ์ถ”๊ฐ€๋˜์—ˆ๊ณ , Ibex SPI ์ง€์›์ด 'OpenTitan' ๋จธ์‹ ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 390x ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋Š” VEF 2(Vector-Enhancements Facility 2) ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. s390-ccw BIOS๋Š” ์„นํ„ฐ ํฌ๊ธฐ๊ฐ€ 512๋ฐ”์ดํŠธ๊ฐ€ ์•„๋‹Œ ๋””์Šคํฌ์—์„œ ๋ถ€ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Xtensa ์•„ํ‚คํ…์ฒ˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—๋Š” ์บ์‹œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ lx106 ์ปค๋„ ๋ฐ ๊ฐœ์ฒด ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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