Bareflank๋ 64๋นํธ Intel CPU์์ Linux, Windows ๋ฐ UEFI๋ฅผ ์ง์ํฉ๋๋ค. Intel VT-x ๊ธฐ์ ์ ๊ฐ์ ๋จธ์ ๋ฆฌ์์ค์ ํ๋์จ์ด ๊ณต์ ์ ์ฌ์ฉ๋ฉ๋๋ค. macOS ๋ฐ BSD ์์คํ ์ ๋ํ ์ง์์ ํฅํ ARM64 ๋ฐ AMD ํ๋ซํผ์์๋ ์๋ํ ์ ์๋๋ก ๊ณํ๋์ด ์์ต๋๋ค. ๋ํ ์ด ํ๋ก์ ํธ๋ VMM(Virtual Machine Manager) ๋ก๋ฉ์ ์ํ ์์ฒด ๋๋ผ์ด๋ฒ, VVM ๋ชจ๋ ๋ก๋ฉ์ ์ํ ELF ๋ก๋, ์ฌ์ฉ์ ๊ณต๊ฐ์์ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ ์ดํ๊ธฐ ์ํ bfm ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. C++11/14 ์ฌ์์ ์ ์๋ ์์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฅ์ ์์ฑํ๊ธฐ ์ํ ๋๊ตฌ, ์์ธ ์คํ ํด์ (unwind)๋ฅผ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์ฑ์/์๋ฉธ์ ์ฌ์ฉ ๋ฐ ์์ธ ์ฒ๋ฆฌ๊ธฐ ๋ฑ๋ก์ ์ง์ํ๋ ์์ฒด ๋ฐํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
Bareflank๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ํ ์์คํ
์ ๊ฐ๋ฐ ์ค์
๋๋ค.
Bareflank 2.0์ ์ฃผ์ ํ์ ์ฌํญ:
- ๊ฐ์ ๋จธ์ ์์ ์ด์ ์ฒด์ ์ ํ์ ์คํ์ ์ํด UEFI์์ ์ง์ Bareflank๋ฅผ ์์ํ๋ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Linux์ SLAB/Buddy ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์์ ์ ์ฌํ๊ฒ ์ค๊ณ๋ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๊ฐ ๊ตฌํ๋์์ต๋๋ค. ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๋ ์กฐ๊ฐํ ๊ฐ์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๋ ๋์ ์ฑ๋ฅ์ ํ์ฉํ๋ฉฐ ๋ค์์ ํตํด ํ์ดํผ๋ฐ์ด์ ์ ๋ํ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ง์ํฉ๋๋ค.
bf๋๋ผ์ด๋ฒ , ํ์ดํผ๋ฐ์ด์ ์ ์ด๊ธฐ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ CPU ์ฝ์ด ์์ ๋ฐ๋ผ ์ต์ ์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค. - ๋ช ๋ น ํด์๊ธฐ์ ๋ ๋ฆฝ์ ์ธ CMake ๊ธฐ๋ฐ์ ์๋ก์ด ๋น๋ ์์คํ ์ ํ์ดํผ๋ฐ์ด์ ์ปดํ์ผ์ ํฌ๊ฒ ๊ฐ์ํํ๊ณ ARM๊ณผ ๊ฐ์ ์ถ๊ฐ ์ํคํ ์ฒ์ ๋ํ ํฅํ ์ง์์ ๋จ์ํํฉ๋๋ค.
- ์ฝ๋๊ฐ ์ฌ๊ตฌ์ฑ๋์์ผ๋ฉฐ ์์ค ํ
์คํธ์ ๊ตฌ์กฐ๊ฐ ๋จ์ํ๋์์ต๋๋ค. ์ฝ๋ ๋ณต์ ์์ด ํ์ดํผ์ปค๋๊ณผ ๊ฐ์ ๊ด๋ จ ํ๋ก์ ํธ์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค. ๋ณด๋ค ๋ช
ํํ๊ฒ ๊ตฌ๋ถ๋ ์ฝ๋
ํ์ดํผ๋ฐ์ด์ , ์ธ์์ธ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ฐํ์, ์ ์ด ๋๊ตฌ, ๋ถํธ๋ก๋ ๋ฐ SDK; - ์ด์ ์ C++์์ ์ฌ์ฉ๋์๋ ์์ ๋ฉ์ปค๋์ฆ ๋์ ๋๋ถ๋ถ์ API๊ฐ ๋ค์์ ์ฌ์ฉํ๋๋ก ์ ํ๋์์ต๋๋ค.
๋ํ๋จ , API๋ฅผ ๋จ์ํํ์ฌ ์ฑ๋ฅ์ ๋์ด๊ณ ๋ฆฌ์์ค ์๋น๋ฅผ ์ค์์ต๋๋ค.
์ถ์ฒ : opennet.ru