์ ์ธ๊ณ ๊ฐ๋ฐ์๋ฅผ ์ํด ์น์ด์ ๋ธ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๋ฉ์ปค๋์ฆ์ด ์ฑ๋ฅ์ ๋ฏธ์น๋ ๋ณต์กํ ์ํฅ์ ์ ๊ทผ ์ ์ด ์ค๋ฒํค๋๋ฅผ ์ค์ฌ์ผ๋ก ํ๊ตฌํฉ๋๋ค.
์น์ด์ ๋ธ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ์ฑ๋ฅ: ์ ๊ทผ ์ ์ด ์ค๋ฒํค๋ ์ดํดํ๊ธฐ
์น์ด์ ๋ธ๋ฆฌ(Wasm)๋ ์ฝ๋๊ฐ ๋ค์ํ ํ๋ซํผ์์ ์๋๋ฐ์ค ํ๊ฒฝ ๋ด์์ ํจ์จ์ ์ด๊ณ ์์ ํ๊ฒ ์คํ๋ ์ ์๋๋ก ํ๋ ํ์ ์ ์ธ ๊ธฐ์ ๋ก ๋ถ์ํ์ต๋๋ค. Wasm์ ์ค๊ณ๋ ๋ณด์๊ณผ ์ด์์ฑ์ ์ฐ์ ์ํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ , ์๋ฒ๋ฆฌ์ค ํจ์, ์ฌ์ง์ด ๋ค์ดํฐ๋ธ ํ์ฅ ๊ธฐ๋ฅ์๋ ์ด์์ ์ ๋๋ค. Wasm ๋ณด์ ๋ชจ๋ธ์ ํต์ฌ ์์น์ ๊ฐ๋ ฅํ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๊ธฐ๋ฅ์ผ๋ก, ๋ชจ๋์ด ํ ๋น๋ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๊ฑฐ๋ ์์์ํค๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ๋ณด์ ๋ฉ์ปค๋์ฆ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ด๋ฌํ ๋ณดํธ ๊ธฐ๋ฅ์ ์ฑ๋ฅ ์ค๋ฒํค๋๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค. ์ด ๋ธ๋ก๊ทธ ํฌ์คํธ์์๋ ์น์ด์ ๋ธ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ์ฑ๋ฅ์ ๋ฏธ๋ฌํ ์ฐจ์ด์ , ํนํ ์ด๋ก ์ธํด ๋ฐ์ํ ์ ์๋ ์ ๊ทผ ์ ์ด ์ค๋ฒํค๋์ ์ด์ ์ ๋ง์ถฐ ์์ธํ ์์๋ด ๋๋ค.
์น์ด์ ๋ธ๋ฆฌ ๋ณด์์ ๊ธฐ๋ฅ: ๋ฉ๋ชจ๋ฆฌ ๊ฒฉ๋ฆฌ
ํต์ฌ์ ์ผ๋ก, ์น์ด์ ๋ธ๋ฆฌ๋ ์๊ฒฉํ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ์ ๊ฐ์ ํ๋ ๊ฐ์ ๋จธ์ (VM) ๋ด์์ ์๋ํฉ๋๋ค. ๊ฐ Wasm ๋ชจ๋์๋ ๋ณธ์ง์ ์ผ๋ก ์ฐ์์ ์ธ ๋ฐ์ดํธ ๋ฐฐ์ด์ธ ์์ฒด ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์ ๊ณต๋ฉ๋๋ค. Wasm ๋ฐํ์์ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ(์ฝ๊ธฐ, ์ฐ๊ธฐ, ์คํ)์ด ์ด ํ ๋น๋ ์์ญ ๋ด๋ก ์ ํ๋๋๋ก ๋ณด์ฅํ ์ฑ ์์ด ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฉ๋ฆฌ๋ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๋ก ๊ธฐ๋ณธ์ด ๋ฉ๋๋ค:
- ๋ฐ์ดํฐ ์์ ๋ฐฉ์ง: ํ๋์ ๋ชจ๋ ๋ด์ ์๋ ์ ์์ ์ด๊ฑฐ๋ ๋ฒ๊ทธ๊ฐ ์๋ ์ฝ๋๊ฐ ๋ค๋ฅธ ๋ชจ๋, ํธ์คํธ ํ๊ฒฝ ๋๋ ๋ธ๋ผ์ฐ์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐ์ฐํ ๋ฎ์ด์ธ ์ ์์ต๋๋ค.
- ๋ณด์ ๊ฐํ: ๊ธฐ์กด ๋ค์ดํฐ๋ธ ์ฝ๋์์ ํํ ๋ฐ์ํ๋ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๋ use-after-free ์ค๋ฅ ๊ฐ์ ์ทจ์ฝ์ ์ ์ํํฉ๋๋ค.
- ์ ๋ขฐ์ฑ ํ๋ณด: ๊ฐ๋ฐ์๋ค์ ์ 3์ ๋ชจ๋์ด ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฌด๊ฒฐ์ฑ์ ์์์ํฌ ๊ฐ๋ฅ์ฑ์ด ๊ฑฐ์ ์๋ค๋ ๊ฒ์ ์๊ณ ๋ ํฐ ์ ๋ขฐ๋ฅผ ๊ฐ์ง๊ณ ํตํฉํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ๊ฒฉ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ปดํ์ผ ํ์ ๊ฒ์ฌ์ ๋ฐํ์ ๊ฒ์ฌ์ ์กฐํฉ์ ํตํด ๋ฌ์ฑ๋ฉ๋๋ค.
์ปดํ์ผ ํ์ ๊ฒ์ฌ: ์ฒซ ๋ฒ์งธ ๋ฐฉ์ด์
์น์ด์
๋ธ๋ฆฌ ์ฌ์ ์์ฒด์๋ ์ปดํ์ผ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ํ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ํญ์ ๋ชจ๋ ์์ฒด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ก ๋ณด์ฅํฉ๋๋ค. ํฌ์ธํฐ๊ฐ ์์์ ์์น๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๋ ์ ์์ค ์ธ์ด์ ๋ฌ๋ฆฌ, load ๋ฐ store์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ Wasm ๋ช
๋ น์ด๋ ๋ชจ๋์ ์ ํ ๋ฉ๋ชจ๋ฆฌ ๋ด ์คํ์
์ ๊ธฐ๋ฐ์ผ๋ก ์๋ํฉ๋๋ค. Wasm ์ปดํ์ผ๋ฌ์ ๋ฐํ์์ ํ๋ ฅํ์ฌ ์ด๋ฌํ ์คํ์
์ด ์ ํจํ์ง ํ์ธํฉ๋๋ค.
๋ฐํ์ ๊ฒ์ฌ: ๊ฒฝ๊ณํ๋ ์ํธ์
์ปดํ์ผ ํ์ ๊ฒ์ฌ๊ฐ ๊ฐ๋ ฅํ ๊ธฐ๋ฐ์ ๋ง๋ จํ์ง๋ง, ๋ชจ๋์ด ๊ฒฐ์ฝ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ์ง ์๋๋ก ๋ณด์ฅํ๊ธฐ ์ํด์๋ ๋ฐํ์ ๊ฐ์ ๊ฐ ์ค์ํฉ๋๋ค. ์น์ด์ ๋ธ๋ฆฌ ๋ฐํ์์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์์ ์ ๊ฐ๋ก์ฑ๊ณ , ํด๋น ์์ ์ด ๋ชจ๋์ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ํ๊ณ ๋ด์ ์๋์ง ํ์ธํ๋ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ์ ๊ทผ ์ ์ด ์ค๋ฒํค๋๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํฉ๋๋ค.
์น์ด์ ๋ธ๋ฆฌ์์์ ์ ๊ทผ ์ ์ด ์ค๋ฒํค๋ ์ดํดํ๊ธฐ
์ ๊ทผ ์ ์ด ์ค๋ฒํค๋๋ ๋ฐํ์์ด ๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ํฉ๋ฒ์ ์ธ์ง ํ์ธํ๋ ๋ฐ ๋๋ ์ฑ๋ฅ ๋น์ฉ์ ์๋ฏธํฉ๋๋ค. Wasm ๋ชจ๋์ด ํน์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์์ ์ฝ๊ฑฐ๋ ์ฐ๋ ค๊ณ ์๋ํ ๋, Wasm ๋ฐํ์์ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค:
- ๋ชจ๋์ ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ธฐ๋ณธ ์ฃผ์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- Wasm ๋ช ๋ น์ด์ ๋ช ์๋ ์คํ์ ์ ๊ธฐ๋ณธ ์ฃผ์์ ๋ํ์ฌ ์ ํจ ์ฃผ์๋ฅผ ๊ณ์ฐํฉ๋๋ค.
- ์ด ์ ํจ ์ฃผ์๊ฐ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋ ๊ฒฝ๊ณ ๋ด์ ์๋์ง ํ์ธํฉ๋๋ค.
- ๊ฒ์ฌ๋ฅผ ํต๊ณผํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ํ์ฉํฉ๋๋ค. ์คํจํ๋ฉด ์คํ์ ํธ๋ฉ(์ค๋จ)ํฉ๋๋ค.
์ด๋ฌํ ๊ฒ์ฌ๋ ๋ณด์์ ํ์์ ์ด์ง๋ง, ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ถ๊ฐ์ ์ธ ๊ณ์ฐ ๋จ๊ณ๋ฅผ ๋ํฉ๋๋ค. ์ฑ๋ฅ์ด ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ , ํนํ ๊ด๋ฒ์ํ ๋ฉ๋ชจ๋ฆฌ ์กฐ์์ ํฌํจํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ์ด๊ฒ์ด ์ค์ํ ์์๊ฐ ๋ ์ ์์ต๋๋ค.
์ ๊ทผ ์ ์ด ์ค๋ฒํค๋์ ์์ธ
์ค๋ฒํค๋๋ ๊ท ์ผํ์ง ์์ผ๋ฉฐ ์ฌ๋ฌ ์์ธ์ ์ํด ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค:
- ๋ฐํ์ ๊ตฌํ: Chrome, Firefox, Safari์ ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ Wasmtime, Wasmer์ ๊ฐ์ ๋ ๋ฆฝํ ๋ฐํ์ ๋ฑ ๋ค์ํ Wasm ๋ฐํ์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐ ์ ๊ทผ ์ ์ด๋ฅผ ์ํด ๊ฐ๊ธฐ ๋ค๋ฅธ ์ ๋ต์ ์ฌ์ฉํฉ๋๋ค. ์ผ๋ถ๋ ๋ค๋ฅธ ๊ฒ๋ณด๋ค ๋ ์ต์ ํ๋ ๊ฒฝ๊ณ ๊ฒ์ฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํ๋์จ์ด ์ํคํ ์ฒ: ๊ธฐ๋ณธ CPU ์ํคํ ์ฒ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น(MMU)๋ ์ญํ ์ ํ ์ ์์ต๋๋ค. ๋ฐํ์์์ ์์ฃผ ํ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๋งคํ ๋ฐ ํ์ด์ง ๋ณดํธ์ ๊ฐ์ ๊ธฐ์ ์ ํ๋์จ์ด์ ๋ฐ๋ผ ์ฑ๋ฅ ํน์ฑ์ด ๋ค๋ฅผ ์ ์์ต๋๋ค.
- ์ปดํ์ผ ์ ๋ต: Wasm ์ฝ๋๊ฐ ์์ค ์ธ์ด(์: C++, Rust, Go)์์ ์ปดํ์ผ๋๋ ๋ฐฉ์์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํจํด์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ์๊ณ ์ ๋ ฌ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์์ฃผ ์์ฑํ๋ ์ฝ๋๋ ํฌ๊ณ ์ ๋ ฌ๋์ง ์์ ์ ๊ทผ์ ํ๋ ์ฝ๋์ ๋ค๋ฅด๊ฒ ๋์ํ ์ ์์ต๋๋ค.
- Wasm ๊ธฐ๋ฅ ๋ฐ ํ์ฅ: Wasm์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ ์๋ก์ด ๊ธฐ๋ฅ์ด๋ ์ ์์ด ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด๋ ๋ณด์ ๊ณ ๋ ค ์ฌํญ์ ๋์ ํ์ฌ ์ค๋ฒํค๋์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
์ค๋ฒํค๋ ์ ๋ํ: ๋ฒค์น๋งํน ๋ฐ ๋ถ์
์์ ์ธ๊ธํ ๋ณ์๋ค ๋๋ฌธ์ ์ ๊ทผ ์ ์ด ์ค๋ฒํค๋๋ฅผ ์ ํํ๊ฒ ์ ๋ํํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค. Wasm ์ฑ๋ฅ ๋ฒค์น๋งํน์ ์ข ์ข ํน์ ๊ณ์ฐ ์์ ์ ์คํํ๊ณ ๊ทธ ์คํ ์๊ฐ์ ๋ค์ดํฐ๋ธ ์ฝ๋๋ ๋ค๋ฅธ ์๋๋ฐ์ค ํ๊ฒฝ๊ณผ ๋น๊ตํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ง์ฝ์ ์ธ ๋ฒค์น๋งํฌ์ ๊ฒฝ์ฐ, ๋ถ๋ถ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๊ฒ์ฌ์ ๊ธฐ์ธํ ์ ์๋ ์ฐจ์ด๋ฅผ ๊ด์ฐฐํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ๋ฒค์น๋งํน ์๋๋ฆฌ์ค
์ฑ๋ฅ ๋ถ์๊ฐ๋ค์ ์ข ์ข ๋ค์์ ์ฌ์ฉํฉ๋๋ค:
- ํ๋ ฌ ๊ณฑ์ : ๋ฐฐ์ด ์ ๊ทผ๊ณผ ์กฐ์์ ํฌ๊ฒ ์์กดํ๋ ๊ณ ์ ์ ์ธ ๋ฒค์น๋งํฌ์ ๋๋ค.
- ์๋ฃ ๊ตฌ์กฐ ์ฐ์ฐ: ๋น๋ฒํ ๋ฉ๋ชจ๋ฆฌ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ๊ฐ ํ์ํ ๋ณต์กํ ์๋ฃ ๊ตฌ์กฐ(ํธ๋ฆฌ, ๊ทธ๋ํ, ํด์ ํ ์ด๋ธ)๋ฅผ ํฌํจํ๋ ๋ฒค์น๋งํฌ์ ๋๋ค.
- ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ์ฒ๋ฆฌ: ํฝ์ ๋ฐ์ดํฐ์ ๋ํ ํฐ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์์ ์๋ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- ๊ณผํ ๊ณ์ฐ: ๊ด๋ฒ์ํ ๋ฐฐ์ด ์ฒ๋ฆฌ๋ฅผ ํฌํจํ๋ ์์น ์๋ฎฌ๋ ์ด์ ๋ฐ ๊ณ์ฐ์ ๋๋ค.
์ด๋ฌํ ๋ฒค์น๋งํฌ์ Wasm ๊ตฌํ์ ๋ค์ดํฐ๋ธ ๊ตฌํ๊ณผ ๋น๊ตํ ๋ ์ข ์ข ์ฑ๋ฅ ๊ฒฉ์ฐจ๊ฐ ๊ด์ฐฐ๋ฉ๋๋ค. ์ด ๊ฒฉ์ฐจ๋ ์ฌ๋ฌ ์์ธ(์: JIT ์ปดํ์ผ ํจ์จ์ฑ, ํจ์ ํธ์ถ ์ค๋ฒํค๋)์ ํฉ์ด์ง๋ง, ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๊ฒ์ฌ๊ฐ ์ ์ฒด ๋น์ฉ์ ๊ธฐ์ฌํฉ๋๋ค.
๊ด์ฐฐ๋ ์ค๋ฒํค๋์ ์ํฅ์ ๋ฏธ์น๋ ์์ธ
- ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ: ๋ฐํ์์ด ๋ ๋ณต์กํ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๋ ํ์ด์ง ํ ์ด๋ธ์ ๊ด๋ฆฌํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ๋ ๋ง์ ์ค๋ฒํค๋๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค.
- ์ ๊ทผ ํจํด: ์์ฐจ์ ์ ๊ทผ์ ๋๋๋ก ํ๋์จ์ด ํ๋ฆฌํ์นญ์ ์ํด ์ต์ ํ๋ ์ ์์ผ๋ฏ๋ก, ์์ ์ ๊ทผ ํจํด์ ์์ฐจ์ ์ ๊ทผ๋ณด๋ค ์ค๋ฒํค๋์ ๋ ๋ฏผ๊ฐํ ๊ฒฝํฅ์ด ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฐ์ฐ์ ์: ๊ณ์ฐ ์ฐ์ฐ์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ฐ์ฐ์ ๋น์จ์ด ๋์ ์ฝ๋๋ ๋ ๋๋๋ฌ์ง ์ค๋ฒํค๋๋ฅผ ๋ณด์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
์ํ ์ ๋ต ๋ฐ ํฅํ ๋ฐฉํฅ
์ ๊ทผ ์ ์ด ์ค๋ฒํค๋๋ Wasm์ ๋ณด์ ๋ชจ๋ธ์ ๋ด์ฌ๋์ด ์์ง๋ง, ๋ฐํ์ ์ต์ ํ ๋ฐ ์ธ์ด ํด๋ง์ ์ง์์ ์ธ ๋ ธ๋ ฅ์ ๊ทธ ์ํฅ์ ์ต์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
๋ฐํ์ ์ต์ ํ
Wasm ๋ฐํ์์ ์ง์์ ์ผ๋ก ๊ฐ์ ๋๊ณ ์์ต๋๋ค:
- ํจ์จ์ ์ธ ๊ฒฝ๊ณ ๊ฒ์ฌ: ๋ฐํ์์ ๊ฒฝ๊ณ ๊ฒ์ฌ๋ฅผ ์ํด ์๋ฆฌํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ ์ฌ์ ์ผ๋ก CPU ํน์ ๋ช ๋ น์ด ๋๋ ๋ฒกํฐํ๋ ์ฐ์ฐ์ ํ์ฉํ ์ ์์ต๋๋ค.
- ํ๋์จ์ด ์ง์ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ: ์ผ๋ถ ๋ฐํ์์ ํ๋์จ์ด ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๊ธฐ๋ฅ(MMU ํ์ด์ง ํ ์ด๋ธ ๋ฑ)๊ณผ์ ๋ ๊น์ ํตํฉ์ ํ์ํ์ฌ ์ผ๋ถ ๊ฒ์ฌ ๋ถ๋ด์ ์ํํธ์จ์ด์์ ํ๋์จ์ด๋ก ์คํ๋ก๋ํ ์ ์์ต๋๋ค.
- Just-In-Time (JIT) ์ปดํ์ผ ๊ฐ์ : Wasm ์ฝ๋๊ฐ ์คํ๋ ๋, JIT ์ปดํ์ผ๋ฌ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํจํด์ ๋ถ์ํ๊ณ ํน์ ์คํ ์ปจํ ์คํธ ๋ด์์ ๋ถํ์ํ๋ค๊ณ ์ฆ๋ช ํ ์ ์๋ ๊ฒฝ์ฐ ์ผ๋ถ ๊ฒ์ฌ๋ฅผ ์ต์ ํํ๊ฑฐ๋ ์ฌ์ง์ด ์๋ตํ ์๋ ์์ต๋๋ค.
์ธ์ด ๋ฐ ์ปดํ์ผ ํด๋ง
๊ฐ๋ฐ์์ ํด์ฒด์ธ ์ ์์๋ ์ญํ ์ ํ ์ ์์ต๋๋ค:
- ์ต์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ ์ด์์: Wasm์ผ๋ก ์ปดํ์ผ๋๋ ์ธ์ด๋ ํจ์จ์ ์ธ ์ ๊ทผ ๋ฐ ๊ฒ์ฌ์ ๋ ์ ํฉํ ๋ฉ๋ชจ๋ฆฌ ๋ ์ด์์์ ์ํด ๋ ธ๋ ฅํ ์ ์์ต๋๋ค.
- ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ : ๋ ๋์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ํจํด์ ๋ณด์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ๋ฉด ๊ฐ์ ์ ์ผ๋ก ๊ด์ฐฐ๋ ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- Wasm GC ์ ์: ๊ณง ์ถ์๋ ์น์ด์ ๋ธ๋ฆฌ์ฉ ๊ฐ๋น์ง ์ปฌ๋ ์ (GC) ์ ์์ Wasm์ ๊ด๋ฆฌํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ฉฐ, ์ด๋ ์ ์ฌ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ณดํธ๋ฅผ ๋ ์ํํ๊ฒ ํตํฉํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ์ด ๋ํ ์์ฒด์ ์ธ ์ฑ๋ฅ ๊ณ ๋ ค ์ฌํญ์ ๋๋ฐํฉ๋๋ค.
์น์ด์ ๋ธ๋ฆฌ ์์คํ ์ธํฐํ์ด์ค(WASI)์ ๊ทธ ์ด์
์น์ด์ ๋ธ๋ฆฌ ์์คํ ์ธํฐํ์ด์ค(WASI)๋ Wasm ๋ชจ๋์ด ํธ์คํธ ํ๊ฒฝ๊ณผ ์์ ํ๊ณ ์ด์ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ํธ ์์ฉํ ์ ์๋๋ก ํ๋ ๋ชจ๋์ ์์คํ ์ธํฐํ์ด์ค์ ๋๋ค. WASI๋ I/O, ํ์ผ ์์คํ ์ ๊ทผ ๋ฐ ๊ธฐํ ์์คํ ์์ค ์์ ์ ์ํ ํ์ค API๋ฅผ ์ ์ํฉ๋๋ค. WASI๋ ์ฃผ๋ก ํต์ฌ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๊ฒ์ฌ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๊ธฐ๋ณด๋ค๋ ๊ธฐ๋ฅ(์: ํ์ผ ์ ๊ทผ)์ ์ ๊ณตํ๋ ๋ฐ ์ค์ ์ ๋์ง๋ง, WASI์ ์ ๋ฐ์ ์ธ ์ค๊ณ๋ ์์ ํ๊ณ ํจ์จ์ ์ธ ์คํ ํ๊ฒฝ์ ๋ชฉํ๋ก ํ๋ฏ๋ก, ๊ฐ์ ์ ์ผ๋ก ์ต์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ์ ์ด์ ์ ์ป์ต๋๋ค.
Wasm์ ๋ฐ์ ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ ์ง๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํ ์ ์๋ ํฌํจ๋ฉ๋๋ค:
- ๊ณต์ ๋ฉ๋ชจ๋ฆฌ: ์ฌ๋ฌ Wasm ์ค๋ ๋ ๋๋ ์ฌ๋ฌ Wasm ์ธ์คํด์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ณต์ ํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ ๋๊ธฐํ ๋ฐ ๋ณดํธ์ ๋ํ ์๋ก์ด ๊ณผ์ ๋ฅผ ์ ๊ธฐํ์ง๋ง, ๋ค์ค ์ค๋ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋นํ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ ๊ทผ ์ ์ด๋ ๊ฒฝ๊ณ๋ฟ๋ง ์๋๋ผ ๊ณต์ ๋ฐ์ดํฐ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๊ถํ๊น์ง ํฌํจํ์ฌ ํจ์ฌ ๋ ์ค์ํด์ง๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ํค(MPK) ๋๋ ์ธ๋ถํ๋ ๊ถํ: ํฅํ ์ ์์์๋ ๋จ์ํ ๊ฒฝ๊ณ ๊ฒ์ฌ๋ฅผ ๋์ด ๋ ์ธ๋ถํ๋ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๋ฉ์ปค๋์ฆ์ ํ์ํ ์ ์์ผ๋ฉฐ, ์ ์ฌ์ ์ผ๋ก ๋ชจ๋์ด ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ํด ํน์ ์ ๊ทผ ๊ถํ(์ฝ๊ธฐ ์ ์ฉ, ์ฝ๊ธฐ-์ฐ๊ธฐ, ์คํ ๋ถ๊ฐ)์ ์์ฒญํ ์ ์๋๋ก ํ ์ ์์ต๋๋ค. ์ด๋ ์์ฒญ๋ ์์ ๊ณผ ๊ด๋ จ๋ ๊ฒ์ฌ๋ง ์ํํจ์ผ๋ก์จ ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
Wasm ์ฑ๋ฅ์ ๋ํ ๊ธ๋ก๋ฒ ๊ด์
Wasm ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ์ ์ฑ๋ฅ ์ํฅ์ ์ ์ธ๊ณ์ ์ธ ๊ด์ฌ์ฌ์ ๋๋ค. ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ Wasm์ ํ์ฉํ๊ณ ์์ต๋๋ค:
- ์น ์ ํ๋ฆฌ์ผ์ด์ : ๋ชจ๋ ๋๋ฅ์ ๋ธ๋ผ์ฐ์ ์์ ๊ณ ์ฑ๋ฅ ๊ทธ๋ํฝ, ๊ฒ์ ๋ฐ ๋ณต์กํ UI๋ Wasm์ ์๋ ๋๋ถ์ ์ด์ ์ ์ป์ง๋ง, ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋๋ ํนํ ์ ์ฌ์ ์ฅ์น์์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
- ์ฃ์ง ์ปดํจํ : ๊ณ์ฐ ๋ฆฌ์์ค๊ฐ ์ ํ๋ ์ ์๋ ์ฃ์ง ์ฅ์น(IoT, ๋ง์ดํฌ๋ก ๋ฐ์ดํฐ ์ผํฐ)์์ Wasm ๋ชจ๋์ ์คํํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ํฌํจํ ๋ชจ๋ ์ค๋ฒํค๋๋ฅผ ์ต์ํํ๋ ๊ฒ์ด ๋ฌด์๋ณด๋ค ์ค์ํฉ๋๋ค.
- ์๋ฒ๋ฆฌ์ค ๋ฐ ํด๋ผ์ฐ๋: ์๋ฒ๋ฆฌ์ค ํจ์์ ๊ฒฝ์ฐ ์ฝ๋ ์คํํธ ์๊ฐ๊ณผ ์คํ ์๋๊ฐ ์ค์ํฉ๋๋ค. ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ์ต์ํ์ ์ ๊ทผ ์ค๋ฒํค๋๋ ๋ ๋น ๋ฅธ ์๋ต ์๊ฐ๊ณผ ์ ์ธ๊ณ ๊ธฐ์ ์ ์ด์ ๋น์ฉ ์ ๊ฐ์ ๊ธฐ์ฌํฉ๋๋ค.
- ๋ฐ์คํฌํฑ ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ : Wasm์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ๋์ด ํ์ฅ๋จ์ ๋ฐ๋ผ ๋ค์ํ ์ด์ ์ฒด์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์์ ์ํด ์๋๋ฐ์ฑ์ ์์กดํ๊ณ ์๋ต์ฑ์ ์ํด ์ฑ๋ฅ์ ์์กดํด์ผ ํฉ๋๋ค.
์ ํ ์ถ์ฒ ์์ง์ Wasm์ ์ฌ์ฉํ๋ ๊ธ๋ก๋ฒ ์ ์ ์๊ฑฐ๋ ํ๋ซํผ์ ์๊ฐํด ๋ณด์ญ์์ค. ์ด ์์ง์ด ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ์ ํ ์นดํ๋ก๊ทธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์ฒญ๋น ์๋ฐฑ๋ง ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์ํํ๋ค๋ฉด, ์ ๊ทผ๋น ๋ช ๋๋ ธ์ด์ ์ค๋ฒํค๋๋ผ๋ ์๋นํ ๋์ ๋ ์ ์์ผ๋ฉฐ, ๋ธ๋ ํ๋ผ์ด๋ฐ์ด๋ ๊ด๊ตฐ์ ์ ๊ฐ์ ์ฑ์๊ธฐ ์ผํ ์์ฆ ๋์ ์ ํ์จ์ ์ ์ฌ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ต์ ํํ๋ ๊ฒ์ ๋จ์ํ ๊ธฐ์ ์ ์ธ ์ถ๊ตฌ๊ฐ ์๋๋ผ ๋น์ฆ๋์ค์ ์ธ ํ์ ๊ณผ์ ์ ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก Wasm์ผ๋ก ๊ตฌ์ถ๋ ์ค์๊ฐ ํ์ ๋์์ธ ๋๊ตฌ๋ ์ ์ธ๊ณ ์ฌ์ฉ์ ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ํํ๊ฒ ๋๊ธฐํํด์ผ ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๊ฒ์ฌ๋ก ์ธํ ์ง์ฐ์ ์ฌ์ฉ์ ๊ฒฝํ์ ๋จ์ ์์ผ ๋ค๋ฅธ ์๊ฐ๋์ ๋คํธ์ํฌ ์กฐ๊ฑด์์ ์์ ํ๋ ํ๋ ฅ์๋ค์ ์ข์ ์ํฌ ์ ์์ต๋๋ค. ๊ณผ์ ๋ ์ด๋ฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๊ตฌํ๋ ์ค์๊ฐ ์๋ต์ฑ์ ์ ํดํ์ง ์์ผ๋ฉด์ ๋ณด์ ๋ณด์ฅ์ ์ ์งํ๋ ๊ฒ์ ๋๋ค.
๊ฒฐ๋ก : ๋ณด์๊ณผ ์ฑ๋ฅ์ ๊ท ํ
์น์ด์ ๋ธ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๋ ๋ณด์๊ณผ ์ด์์ฑ์ ์ด์์ ๋๋ค. ์ ๊ทผ ์ ์ด ๋ฉ์ปค๋์ฆ์ ๋ชจ๋์ด ์ง์ ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ๋ด์์ ์๋ํ๋๋ก ๋ณด์ฅํ์ฌ ๊ด๋ฒ์ํ ์ทจ์ฝ์ ์ ๋ฐฉ์งํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ณด์์๋ ์ ๊ทผ ์ ์ด ์ค๋ฒํค๋๋ผ๋ ๋น์ฉ์ด ๋ฐ๋ฆ ๋๋ค.
Wasm ์ํ๊ณ๊ฐ ์ฑ์ํจ์ ๋ฐ๋ผ ๋ฐํ์ ๊ตฌํ, ์ปดํ์ผ๋ฌ ์ต์ ํ ๋ฐ ์๋ก์ด ์ธ์ด ๊ธฐ๋ฅ์ ๋ํ ์ง์์ ์ธ ์ฐ๊ตฌ ๊ฐ๋ฐ์ด ์ด ์ค๋ฒํค๋๋ฅผ ์ต์ํํ๊ธฐ ์ํด ๊ณ์ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ฐ๋ฐ์์๊ฒ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๋น์ฉ์ ๊ธฐ์ฌํ๋ ์์๋ฅผ ์ดํดํ๊ณ ์ฝ๋์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ฑํํ๋ ๊ฒ์ด ์น์ด์ ๋ธ๋ฆฌ์ ์ ์ฒด ์ฑ๋ฅ ์ ์ฌ๋ ฅ์ ๋ฐํํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
Wasm์ ๋ฏธ๋๋ ํจ์ฌ ๋ ์ ๊ตํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐ ๋ณดํธ ์ ๋ต์ ์ฝ์ํฉ๋๋ค. ๋ชฉํ๋ ๊ฒฌ๊ณ ํ ๊ท ํ์ ์ ์งํ๋ ๊ฒ์ ๋๋ค: Wasm์ด ์๋ ค์ง ๊ฐ๋ ฅํ ๋ณด์ ๋ณด์ฅ์ ์ ๊ณตํ๋ฉด์๋, ์ฑ๋ฅ์ด ๊ฒฝ์๋ ฅ์ ์ ์งํ๊ณ ๊ด๋ฒ์ํ ๊น๋ค๋ก์ด ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํ๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ๋ฐ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ง์์ ์ผ๋ก ์ป๊ณ ์ด๋ฅผ ํ๋ช ํ๊ฒ ์ ์ฉํจ์ผ๋ก์จ ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ ์น์ด์ ๋ธ๋ฆฌ๋ก ๊ตฌ๋๋๋ ํ์ ์ ์ด๊ณ ์์ ํ๋ฉฐ ๊ณ ์ฑ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ์ํด์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.