๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ComputerScience ๐Ÿ“š/์šด์˜์ฒด์ œ

[OS] ๊ฐ€์ƒํ™”(Virtualization) ์„œ๋ก 

by ์•ˆ์ฃผํ˜• 2022. 2. 2.

ํ•™์Šตํ•  ๊ต์žฌ

 

๊ฐ€์ƒํ™”(Virtualization)

๊ฐ€์ƒํ™”๋Š” ๋‹จ์ผ ์ปดํ“จํ„ฐ(CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ, ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์นด๋“œ ๋“ฑ)์˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์‹คํ–‰ ํ™˜๊ฒฝ์œผ๋กœ ์ถ”์ƒํ™”ํ•˜์—ฌ ๊ฐœ๋ณ„ ํ™˜๊ฒฝ์ด ์ž์‹ ๋งŒ์˜ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค๋Š” ํ™˜์ƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ™˜๊ฒฝ์€ ๋™์‹œ์— ์‹คํ–‰๋˜๊ณ  ์„œ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ณ„ ์šด์˜์ฒด์ œ(์˜ˆ: Windows ๋ฐ UNIX)๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์‚ฌ์šฉ์ž๋Š” ๋‹จ์ผ ์šด์˜์ฒด์ œ์—์„œ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ ๊ฐ„์— ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 ๊ฐ€์ƒํ™”๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ ๋‚ด์—์„œ ํ•˜๋‚˜์˜ ์‘์šฉ์ฒ˜๋Ÿผ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์–ธ๋œป ๋ณด์•„์„œ๋Š” ๊ทธ๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ๋ณ„ ์ด์œ ๊ฐ€ ์—†๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๊ฐ€์ƒํ™” ์‚ฐ์—…์€ ๋ฐฉ๋Œ€ํ•˜๋ฉฐ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์–ด ๊ทธ ์šฉ๋„์™€ ์ค‘์š”์„ฑ์„ ์ž…์ฆํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 ๋„“๊ฒŒ ๋งํ•˜๋ฉด ๊ฐ€์ƒํ™” ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์—๋ฎฌ๋ ˆ์ด์…˜์„ ํฌํ•จํ•˜๋Š” ํด๋ž˜์Šค์˜ ๊ตฌ์„ฑ์›์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•˜๋Š” ์—๋ฎฌ๋ ˆ์ด์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์†Œ์Šค CPU ์œ ํ˜•์ด ๋Œ€์ƒ CPU ์œ ํ˜•๊ณผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, Apple์‚ฌ๊ฐ€ ์ž์‹ ์˜ ๋ฐ์Šคํฌํ†ฑ๊ณผ ๋žฉํ†ฑ ์ปดํ“จํ„ฐ์˜ CPU๋ฅผ IBM Power CPU์—์„œ ์ธํ…” x86 CPU๋กœ ์ „ํ™˜ํ–ˆ์„ ๋•Œ "Rosetta"๋ผ๋Š” ์—๋ฎฌ๋ ˆ์ด์…˜ ์„ค๋น„๋ฅผ ํฌํ•จํ•˜์—ฌ IBM CPU์šฉ์œผ๋กœ ์ปดํŒŒ์ผ๋˜์—ˆ๋˜ ์‘์šฉ์„ ์ธํ…” CPU์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋…์ด ํ•œ ๊ธฐ๊ณ„๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋œ ์ „์ฒด ์šด์˜์ฒด์ œ๋ฅผ ๋‹ค๋ฅธ ๊ธฐ๊ณ„์—์„œ ์ˆ˜ํ–‰๋˜๋„๋ก ํ™•์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์—๋ฎฌ๋ ˆ์ด์…˜์€ ์‚ฌ์šฉ ๋น„์šฉ์ด ํฝ๋‹ˆ๋‹ค. ์†Œ์Šค ์‹œ์Šคํ…œ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ธฐ๊ณ„์–ด ์ˆ˜์ค€์˜ ๋ชจ๋“  ๋ช…๋ น์€ ๋ชฉํ‘œ ์‹œ์Šคํ…œ์—์„œ ๋™๋“ฑํ•œ ๊ธฐ๋Šฅ์œผ๋กœ ๋ฒˆ์—ญ๋˜์–ด์•ผ ํ•˜๊ณ , ์ข…์ข… ์ด๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชฉํ‘œ ๋ช…๋ น์–ด๊ฐ€ ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ ์†Œ์Šค์™€ ๋ชฉํ‘œ CPU๊ฐ€ ๋น„์Šทํ•œ ์„ฑ๋Šฅ ์ˆ˜์ค€์ผ ๊ฒฝ์šฐ ์—๋ฎฌ๋ ˆ์ดํŠธ ๋œ ์ฝ”๋“œ๋Š” ์›๋ž˜์˜ ์ฝ”๋“œ๋ณด๋‹ค ํ›จ์”ฌ ๋Š๋ฆฌ๊ฒŒ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

  ์ด์™€ ๋‹ฌ๋ฆฌ ๊ฐ€์ƒํ™”์—์„œ๋Š” ํŠน์ • CPU๋ฅผ ์œ„ํ•ด ์ปดํŒŒ์ผ๋œ ์šด์˜์ฒด์ œ๊ฐ€ ๋™์ผ CPU์šฉ์˜ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ ๋‚ด์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™”๋Š” ๋‹ค์ˆ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—…์„ ๋ณ‘ํ–‰ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ IBM ๋Œ€ํ˜•์ปดํ“จํ„ฐ์— ์ฒ˜์Œ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ˆ˜์˜ ๊ฐ€์ƒ ๊ธฐ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ ๋งŽ์€ ์‚ฌ์šฉ์ž๋“ค์ด ๋‹จ์ผ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ์‹œ์Šคํ…œ์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ›„์— ๋‹ค์ˆ˜์˜ Microsoft Windows ์‘์šฉ์„ ์ธํ…” x86 CPU์— ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด VMware๊ฐ€ Windows์ƒ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์‘์šฉ์˜ ํ˜•ํƒœ๋กœ ์ƒˆ๋กœ์šด ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์‘์šฉ์€ ๊ฒŒ์ŠคํŠธ(guest)๋ผ ๋ถˆ๋ฆฌ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ Windows๋‚˜ ๋‹ค๋ฅธ x86์šฉ ์šด์˜์ฒด์ œ ๋ณต์‚ฌ๋ณธ๋“ค์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๊ฐ ๊ฒŒ์ŠคํŠธ๋Š” ์ž์‹ ์˜ ์‘์šฉ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.(์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ์กฐ)

(์ขŒ) ํ•˜๋‚˜์˜ ์šด์˜์ฒด์ œ์™€ (์šฐ) 3๊ฐœ์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์‹คํ–‰์‹œํ‚ค๋Š” ์ปดํ“จํ„ฐ

Windows๋Š” ํ˜ธ์ŠคํŠธ ์šด์˜์ฒด์ œ์ด๊ณ  VMware ์‘์šฉ์€ ๊ฐ€์ƒ ๋จธ์‹  ๊ด€๋ฆฌ์ž(VMM)์ž…๋‹ˆ๋‹ค. VMM์€ ๊ฒŒ์ŠคํŠธ ์šด์˜์ฒด์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ๋“ค์˜ ์ž์› ์ด์šฉ์„ ๊ด€๋ฆฌํ•˜๋ฉฐ ๊ฐ ๊ฒŒ์ŠคํŠธ๋ฅผ ์„œ๋กœ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.

 ํ˜„๋Œ€์˜ ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ค์ˆ˜์˜ ์‘์šฉ์„ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ˆ˜ํ–‰ํ•  ๋Šฅ๋ ฅ์ด ์žˆ๋‹ค๊ณ  ํ•ด๋„, ๊ฐ€์ƒํ™”์˜ ์ด์šฉ์€ ์ง€์†ํ•ด์„œ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋žฉํ†ฑ๊ณผ ๋ฐ์Šคํฌํ†ฑ์—์„œ VMM์€ ์ฒดํ—˜์„ ์œ„ํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ์šด์˜์ฒด์ œ์ƒ์˜ ์‘์šฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์ˆ˜์˜ ์šด์˜์ฒด์ œ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด x86 CPU ์œ„์—์„œ macOS๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” Apple ๋žฉํ†ฑ์€ Windows ์‘์šฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Windows 10 ๊ฒŒ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ˆ˜ ์šด์˜์ฒด์ œ๋ฅผ ์œ„ํ•ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํšŒ์‚ฌ๋Š” ๊ฐ€์ƒํ™”๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ์ด๋“ค ๋ชจ๋“  ์šด์˜์ฒด์ œ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŒ…, ๋””๋ฒ„๊น…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ๋Š” ๊ฐ€์ƒํ™”๊ฐ€ ๊ณ„์‚ฐ ํ™˜๊ฒฝ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. VM-ware ESX ๋ฐ Citrix XenServer์™€ ๊ฐ™์€ VMM์€ ๋”๋Š” ํ˜ธ์ŠคํŠธ ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ€์ƒ ๋จธ์‹  ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์„œ๋น„์Šค ๋ฐ ์ž์› ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ˜ธ์ŠคํŠธ ์šด์˜์ฒด์ œ ๊ทธ ์ž์ฒด์ž…๋‹ˆ๋‹ค.

 

๋Œ“๊ธ€