๊ฐ์ํ(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์ฉ ์ด์์ฒด์ ๋ณต์ฌ๋ณธ๋ค์ ์ํํ๋ฉฐ ๊ฐ ๊ฒ์คํธ๋ ์์ ์ ์์ฉ์ ์ํํฉ๋๋ค.(์๋ ๊ทธ๋ฆผ ์ฐธ์กฐ)
Windows๋ ํธ์คํธ ์ด์์ฒด์ ์ด๊ณ VMware ์์ฉ์ ๊ฐ์ ๋จธ์ ๊ด๋ฆฌ์(VMM)์ ๋๋ค. VMM์ ๊ฒ์คํธ ์ด์์ฒด์ ๋ฅผ ์ํํ๊ณ ๊ทธ๋ค์ ์์ ์ด์ฉ์ ๊ด๋ฆฌํ๋ฉฐ ๊ฐ ๊ฒ์คํธ๋ฅผ ์๋ก๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค.
ํ๋์ ์ด์์ฒด์ ๊ฐ ๋ค์์ ์์ฉ์ ์ ๋ขฐ์ฑ ์๊ฒ ์ํํ ๋ฅ๋ ฅ์ด ์๋ค๊ณ ํด๋, ๊ฐ์ํ์ ์ด์ฉ์ ์ง์ํด์ ์ฑ์ฅํ๊ณ ์์ต๋๋ค. ๋ฉํฑ๊ณผ ๋ฐ์คํฌํฑ์์ VMM์ ์ฒดํ์ ์ํ๊ฑฐ๋ ๋๋ ๋ค๋ฅธ ํธ์คํธ์ฉ์ผ๋ก ์์ฑ๋ ์ด์์ฒด์ ์์ ์์ฉ์ ์ํํ๊ธฐ ์ํด ๋ค์์ ์ด์์ฒด์ ๋ฅผ ์ค์นํ ์ ์๊ฒ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด x86 CPU ์์์ macOS๋ฅผ ์ํํ๋ Apple ๋ฉํฑ์ Windows ์์ฉ์ ์ํํ๊ธฐ ์ํด Windows 10 ๊ฒ์คํธ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๋ค์ ์ด์์ฒด์ ๋ฅผ ์ํด ์ํํธ์จ์ด๋ฅผ ์์ฑํ๋ ํ์ฌ๋ ๊ฐ์ํ๋ฅผ ์ด์ฉํ์ฌ ํ๋์ ๋ฌผ๋ฆฌ ์๋ฒ๋ฅผ ์ด์ฉํ์ฌ ์ด๋ค ๋ชจ๋ ์ด์์ฒด์ ๋ฅผ ์ํํ์ฌ ๊ฐ๋ฐ, ํ ์คํ , ๋๋ฒ๊น ์ ์ํํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ์ผํฐ์์๋ ๊ฐ์ํ๊ฐ ๊ณ์ฐ ํ๊ฒฝ์ ์ํํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ด ๋์์ต๋๋ค. VM-ware ESX ๋ฐ Citrix XenServer์ ๊ฐ์ VMM์ ๋๋ ํธ์คํธ ์ด์์ฒด์ ์์ ์คํ๋๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ ๋จธ์ ํ๋ก์ธ์ค์๊ฒ ์๋น์ค ๋ฐ ์์ ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ํธ์คํธ ์ด์์ฒด์ ๊ทธ ์์ฒด์ ๋๋ค.
'ComputerScience ๐ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ์์คํ ์ฝ(System Calls) (0) | 2022.02.05 |
---|---|
[OS] ์ฌ์ฉ์์ ์ด์์ฒด์ ์ธํฐํ์ด์ค(User and Operating-System Interface) (0) | 2022.02.03 |
[OS] ๋ถ์ฐ์์คํ (Distributed Systems) ์๋ก (0) | 2022.02.02 |
[OS] ์ปดํจํฐ ์์คํ ๊ตฌ์กฐ(Computer-System Architecture) (0) | 2022.02.01 |
[OS] ์ปดํจํฐ ์์คํ ์ ๊ตฌ์ฑ: ์ ์ฅ ์ฅ์น ๊ตฌ์กฐ(Storage Structure) (0) | 2022.02.01 |
[OS] ์ปดํจํฐ ์์คํ ์ ๊ตฌ์ฑ: ์ธํฐ๋ฝํธ(Interrupts) (0) | 2022.01.30 |
๋๊ธ