Dmitry Zavalishin์ Genode ๋ง์ดํฌ๋ก์ปค๋ OS ํ๊ฒฝ์์ ์๋ํ๋๋ก Phantom ์ด์ ์ฒด์ ์ ๊ฐ์ ๋จธ์ ์ ํฌํ ํ๋ ํ๋ก์ ํธ์ ๋ํด ๋งํ์ต๋๋ค. ์ธํฐ๋ทฐ์ ๋ฐ๋ฅด๋ฉด Phantom์ ๊ธฐ๋ณธ ๋ฒ์ ์ ์ด๋ฏธ ํ์ผ๋ฟ ํ๋ก์ ํธ๋ฅผ ์ํ ์ค๋น๊ฐ ์๋ฃ๋์์ผ๋ฉฐ Genode ๊ธฐ๋ฐ ๋ฒ์ ์ ์ฐ๋ง์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋ ๊ฒ์ ๋๋ค. ๋์์ ์ง๊ธ๊น์ง ํ๋ก์ ํธ ์น ์ฌ์ดํธ์๋ ์คํ ๊ฐ๋ฅํ ๊ฐ๋ ์ ํ๋กํ ํ์ ๋ง ๋ฐํ๋์์ผ๋ฉฐ ์์ ์ฑ๊ณผ ๊ธฐ๋ฅ์ด ์ฐ์ ์ฉ์ผ๋ก ์ ํฉํ ์์ค์ ์ด๋ฅด์ง ๋ชปํ์ผ๋ฉฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณํ ์ค ํ๋๋ ์ํ ๋ฒ์ ์ ํ์ฑ์ ๋๋ค. ํ์ฌ ๊ฐ๋ฐ์์ ์คํ์ ์ ํฉํฉ๋๋ค.
ํ๋ก์ ํธ ์ฝ๋๋ LGPL ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋์ง๋ง ๋ฉ์ธ ์ ์ฅ์์ ๋ง์ง๋ง ๋ณ๊ฒฝ ๋ ์ง๋ 2019๋ 2020์์ ๋๋ค. ํ๋ก์ ํธ์ ๊ด๋ จ๋ ๊ณต๊ฐ ํ๋์ XNUMX๋ XNUMX์๋ถํฐ Innopolis University์ ํ์์ธ Anton Antonov๊ฐ ๊ด๋ฆฌํ๊ณ ์๋ Genode์ฉ ํฌํฌ๊ฐ ์๋ ์ ์ฅ์์ ์ง์ค๋์ด ์์ต๋๋ค.
2000๋ ๋ ์ด๋ฐ๋ถํฐ Phantom ์ด์ ์ฒด์ ๋ Dmitry Zavalishin์ ๊ฐ์ธ ํ๋ก์ ํธ๋ก ๊ฐ๋ฐ๋์์ผ๋ฉฐ 2010๋ ๋ถํฐ๋ Dmitry๊ฐ ๋ง๋ Digital Zone ํ์ฌ์ ์ฐํ๋ก ์ด์ ๋์์ต๋๋ค. ์ด ์์คํ ์ ๋์ ์ ๋ขฐ์ฑ์ ์ด์ ์ ๋ง์ถ๊ณ "๋ชจ๋ ๊ฒ์ด ํ์ผ"์ด ์๋ "๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด"๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ํ ๋ณด์กด ๋ฐ ์ง์์ ์ธ ์ํ์ผ๋ก ์ธํด ํ์ผ ์ฌ์ฉ์ ์ ๊ฑฐํฉ๋๋ค. ์ผํ๋ค. Phantom์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ๋์ง ์๊ณ ์ค๋จ๋ ์์น์์ ์ผ์ ์ค์ง๋๊ณ ๋ค์ ์์๋ฉ๋๋ค. ๋ชจ๋ ๋ณ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํ์๋ก ํ๋ ๊ธฐ๊ฐ ๋์ ์ ์ฅํ ์ ์์ผ๋ฉฐ ํ๋ก๊ทธ๋๋จธ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ํน๋ณํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ผ ํ์๊ฐ ์์ต๋๋ค.
Phantom์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฐ ๊ฐ์ ๋จธ์ ๊ณผ ์ ์ฌํ ์คํ ๊ธฐ๋ฐ ๊ฐ์ ๋จธ์ ์์ ์คํ๋๋ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ๋ฉ๋๋ค. ๊ฐ์ ๋จธ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฉ๋ชจ๋ฆฌ ์ง์์ฑ์ ์ ๊ณตํฉ๋๋ค. ์์คํ ์ ๊ฐ์ ๋จธ์ ์ํ์ ์ค๋ ์ท์ ์ฃผ๊ธฐ์ ์ผ๋ก ์๊ตฌ ๋ฏธ๋์ด์ ํ๋ฌ์ํฉ๋๋ค. ์ข ๋ฃ ๋๋ ์ถฉ๋ ํ ๋ง์ง๋ง์ผ๋ก ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ ์ค๋ ์ท๋ถํฐ ์์ ์ ๊ณ์ํ ์ ์์ต๋๋ค. ์ค๋ ์ท์ ๊ฐ์ ๋จธ์ ์ ์ผ์ ์ค๋จํ์ง ์๊ณ ๋น๋๊ธฐ์์ผ๋ก ์์ฑ๋์ง๋ง ์ค๋ ์ท์ ๊ฐ์ ๋จธ์ ์ด ์ค์ง๋๊ณ ๋์คํฌ์ ์ ์ฅ๋์๋ค๊ฐ ๋ค์ ์์๋ ๊ฒ์ฒ๋ผ ์ผํ์ฑ ์กฐ๊ฐ์ ์บก์ฒํฉ๋๋ค.
๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ณตํต ์ ์ญ ์ฃผ์ ๊ณต๊ฐ์์ ์คํ๋๋ฏ๋ก ์ปค๋๊ณผ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ์ ์ปจํ ์คํธ ์ ํ์ด ํ์ํ์ง ์์ผ๋ฉฐ ์ฐธ์กฐ ์ ๋ฌ์ ํตํด ๊ฐ์ฒด๋ฅผ ๊ตํํ ์ ์๋ ๊ฐ์ ๋จธ์ ์์ ์คํ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ์ ํต์ ์ ํฌ๊ฒ ๋จ์ํํ๊ณ ์๋๋ฅผ ๋์ ๋๋ค. ์ก์ธ์ค ๋ถ๋ฆฌ๋ ํด๋น ๋ฉ์๋๋ฅผ ํธ์ถํด์ผ๋ง ์ป์ ์ ์๋ ์ฐธ์กฐ์ธ ๊ฐ์ฒด ์์ค์์ ์ํ๋ฉ๋๋ค(ํฌ์ธํฐ ์ฐ์ ์ด ์์). ์ซ์ ๊ฐ์ ํฌํจํ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๋ณ๋์ ๊ฐ์ฒด๋ก ์ทจ๊ธ๋ฉ๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ์์ ์ด ์ฐ์์ ์ผ๋ก ๋ณด์ด๋ฉฐ OS ์ฌ๋ถํ , ์ถฉ๋ ๋ฐ ์ปดํจํฐ ์ข ๋ฃ์ ์์กดํ์ง ์์ต๋๋ค. Phantom์ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ ๊ฐ์ฒด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ํด ์ค๋จ ์์ด ์คํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ๋น๊ต๋ฉ๋๋ค. Phantom์ฉ Java ํ๋ก๊ทธ๋จ ํฌํ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ์ฃผ์ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ๊ฐ์ฃผ๋๋ฉฐ, ์ด๋ Phantom ๊ฐ์ ๋จธ์ ๊ณผ JVM์ ์ ์ฌ์ฑ์ ์ํด ์ด์ง๋ฉ๋๋ค. Java ์ธ์ด์ฉ ๋ฐ์ดํธ์ฝ๋ ์ปดํ์ผ๋ฌ ์ธ์๋ ์ด ํ๋ก์ ํธ๋ Python ๋ฐ C#์ฉ ์ปดํ์ผ๋ฌ๋ฅผ ๋ง๋ค๊ณ WebAssembly ์ค๊ฐ ์ฝ๋์์ ๋ฒ์ญ๊ธฐ๋ฅผ ๊ตฌํํ ๊ณํ์ ๋๋ค.
๋น๋์ค ๋ฐ ์ค๋์ค ์ฒ๋ฆฌ์ ๊ฐ์ด ๊ณ ์ฑ๋ฅ์ด ํ์ํ ์์ ์ ์ํํ๊ธฐ ์ํด ๋ณ๋์ ์ค๋ ๋์์ ๋ค์ดํฐ๋ธ ์ฝ๋๋ก ๋ฐ์ด๋๋ฆฌ ๊ฐ์ฒด๋ฅผ ์คํํ ์ ์์ต๋๋ค(LLVM์ ๋ฐ์ด๋๋ฆฌ ๊ฐ์ฒด๋ฅผ ๋น๋ํ๋ ๋ฐ ์ฌ์ฉ๋จ). ์ ์์ค ์ปค๋ ์๋น์ค์ ์ก์ธ์คํ๊ธฐ ์ํด ์ผ๋ถ VM ํด๋์ค("๋ด๋ถ" ํด๋์ค)๋ OS ์ปค๋ ์์ค์์ ๊ตฌํ๋ฉ๋๋ค. Linux ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํด Unix ํ๋ก์ธ์ค ์๋์ ํ์ํ ํธ์ถ์ ์๋ฎฌ๋ ์ดํธํ๋ POSIX ๊ณ์ธต์ด ์ ๊ณต๋ฉ๋๋ค(POSIX ๊ณ์ธต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ง์์ฑ์ ์์ง ์ ๊ณต๋์ง ์์).
๊ธฐ์กด์ Phantom OS์๋ ๊ฐ์ ๋จธ์ ์ธ์๋ ์ค๋ ๋, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์, ๊ฐ๋น์ง ์์ง๊ธฐ, ๋๊ธฐํ ๋ฉ์ปค๋์ฆ, I / O ์์คํ ๋ฐ ์ฅ๋น ์์ ์ฉ ๋๋ผ์ด๋ฒ๋ฅผ ๊ตฌํํ๋ ์์ฒด ์ปค๋์ด ํฌํจ๋์ด์์ด ๊ฐ์ ธ ์ค๊ธฐ๊ฐ ์๋นํ ๋ณต์กํฉ๋๋ค. ๊ด๋ฒ์ํ ์ฌ์ฉ์ ์ํ ์ค๋น ํ๋ก์ ํธ. ๋ณ๋๋ก ๋คํธ์ํฌ ์คํ, ๊ทธ๋ํฝ ํ์ ์์คํ ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๊ฐ ํฌํจ๋ ๊ตฌ์ฑ ์์๊ฐ ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค. ๊ทธ๋ํฝ ํ์ ์์คํ ๊ณผ ์ฐฝ ๊ด๋ฆฌ์๊ฐ ์ปค๋ ์์ค์์ ์๋ํ๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค.
ํ๋ก์ ํธ์ ์์ ์ฑ, ์ด์์ฑ ๋ฐ ๋ณด์์ ๊ฐ์ ํ๊ธฐ ์ํด ๋ ์ผ ํ์ฌ Genode Labs์์ ๊ฐ๋ฐ์ ๊ฐ๋ ํ๋ ๊ฐ๋ฐฉํ ๋ง์ดํฌ๋ก ์ปค๋ ์ด์ ์ฒด์ Genode์ ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋๋ก Phantom ๊ฐ์ ๋จธ์ ์ ์ ์กํ๋ ค๋ ์๋๊ฐ ์์์ต๋๋ค. ์ ๋ ธ๋ ๊ธฐ๋ฐ์ ํฌํ ์ ์คํํด๋ณด๊ณ ์ถ์ ๋ถ๋ค์ ์ํด ๋์ปค ๊ธฐ๋ฐ์ ํน๋ณํ ๋น๋ ํ๊ฒฝ์ด ์ค๋น๋์ด ์์ต๋๋ค.
Genode๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ ํ ์คํธ๋ ๋ง์ดํฌ๋ก์ปค๋๊ณผ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค(ํ์ฌ ํ์์์ ๋๋ผ์ด๋ฒ๋ C๋ก ์์ฑ๋๊ณ Phantom ์ปค๋ ์์ค์์ ์คํ๋จ). ํนํ ์ํ์ ์ ๋ขฐ์ฑ ๊ฒ์ฆ์ ํต๊ณผํ seL4 ๋ง์ดํฌ๋ก์ปค๋์ ์ฌ์ฉํ์ฌ ์ ์ ์ธ์ด์ ๋ช ์๋ ์ฌ์์ ์๋ฒฝํ๊ฒ ์ค์ํจ์ ํ์ธํ ์ ์๋ค. ์ ์ฒด OS ํ๊ฒฝ์ ๊ฒ์ฆํ ์ ์๋ Phantom ๊ฐ์ ๋จธ์ ์ ๋ํ ์ ์ฌํ ์ ๋ขฐ์ฑ ์ฆ๋ช ์ ์ค๋นํ ๊ฐ๋ฅ์ฑ์ด ๊ณ ๋ ค๋๊ณ ์์ต๋๋ค.
Genode ๊ธฐ๋ฐ ํฌํธ์ ์ฃผ์ ์์ฉ ๋ถ์ผ๋ ๋ค์ํ ์ฐ์ ์ฉ ๋ฐ ์๋ฒ ๋๋ ์ฅ์น์ ๋ํ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ๋๋ค. ํ์ฌ ๊ฐ์ ๋จธ์ ์ ๋ํ ์ผ๋ จ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ด๋ฏธ ์ค๋น๋์์ผ๋ฉฐ Genode์์ ์คํ๋๋ ๋ฐ์ธ๋ฉ์ด ์ปค๋์ ์ง์์ฑ ๊ตฌ์ฑ ์์์ ๊ธฐ๋ณธ ํ์ ์์ค ์ธํฐํ์ด์ค์ ์ถ๊ฐ๋์์ต๋๋ค. Phantom ๊ฐ์ ๋จธ์ ์ ์ด๋ฏธ 64๋นํธ Genode ํ๊ฒฝ์์ ์๋ํ ์ ์์ง๋ง VM์ ์์ง ์ง์์ฑ ๋ชจ๋๋ก ๊ตฌํ๋์ง ์์๊ณ ๋๋ผ์ด๋ฒ ํ์ ์์คํ ์ ์ฌ์์ ํด์ผ ํ๋ฉฐ ๋คํธ์ํฌ ์คํ ๋ฐ ๊ทธ๋ํฝ ํ์ ์์คํ ์ด ์๋ ๊ตฌ์ฑ ์์๋ Genode์ ๋ง๊ฒ ์กฐ์ ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru