์์ฒด ์ปค๋ ๋ฐ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ํจ๊ป ์ ๊ณต๋๋ ์๋ก์ด Essence ์ด์ ์ฒด์ ๋ฅผ ์ด๊ธฐ ํ ์คํธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ 2017๋ ๋ถํฐ ํ ์ด์ฑํฌ์ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ ์ฒ์๋ถํฐ ์๋ก ๋ง๋ค์ด์ก์ผ๋ฉฐ ๋ฐ์คํฌํ ๋ฐ ๊ทธ๋ํฝ ์คํ ๊ตฌ์ถ์ ๋ํ ๋ ์ฐฝ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ ๋ช ํฉ๋๋ค. ๊ฐ์ฅ ๋์ ๋๋ ๊ธฐ๋ฅ์ ์ฐฝ์ ํญ์ผ๋ก ๋๋๋ ๊ธฐ๋ฅ์ผ๋ก, ํ ์ฐฝ์์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ๋์์ ์์ ํ ์ ์๊ณ , ํด๊ฒฐ ์ค์ธ ์์ ์ ๋ฐ๋ผ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฐฝ์ผ๋ก ๊ทธ๋ฃนํํ ์ ์์ต๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ C++๋ก ์์ฑ๋์์ผ๋ฉฐ MIT ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์ฐฝ ๊ด๋ฆฌ์๋ ์ด์ ์ฒด์ ์ปค๋ ์์ค์์ ์๋ํ๋ฉฐ ์ธํฐํ์ด์ค๋ ์์ฒด ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ณต์กํ ์ ๋๋ฉ์ด์ ํจ๊ณผ๋ฅผ ์ง์ํ๋ ์ํํธ์จ์ด ๋ฒกํฐ ์์ง์ ์ฌ์ฉํ์ฌ ์์ฑ๋ฉ๋๋ค. ์ธํฐํ์ด์ค๋ ์์ ํ ๋ฒกํฐ์ด๋ฉฐ ๋ชจ๋ ํ๋ฉด ํด์๋์ ๋ง๊ฒ ์๋์ผ๋ก ํฌ๊ธฐ๊ฐ ์กฐ์ ๋ฉ๋๋ค. ์คํ์ผ์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ ๋ณ๋์ ํ์ผ์ ์ ์ฅ๋๋ฏ๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ๋์์ธ์ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. OpenGL ์ํํธ์จ์ด ๋ ๋๋ง์ Mesa์ ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฌ๋ฌ ์ธ์ด ์์ ์ ์ง์ํ๋ฉฐ FreeType ๋ฐ Harfbuzz๋ฅผ ์ฌ์ฉํ์ฌ ๊ธ๊ผด์ ๋ ๋๋งํฉ๋๋ค.
์ปค๋์๋ ์ฌ๋ฌ ์ฐ์ ์์ ์์ค์ ์ง์ํ๋ ์์ ์ค์ผ์ค๋ฌ, ๊ณต์ ๋ฉ๋ชจ๋ฆฌ, mmap ๋ฐ ๋ค์ค ์ค๋ ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ง์ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํ์ ์์คํ , ๋คํธ์ํฌ ์คํ(TCP/IP), ์ฌ์ด๋ ๋ฏน์ฑ์ ์ํ ์ค๋์ค ํ์ ์์คํ , VFS ๋ฐ ๋ฐ์ดํฐ ์บ์ฑ์ ์ํ ๋ณ๋์ ๋ ์ด์ด๊ฐ ์๋ EssenceFS ํ์ผ ์์คํ . ์์ฒด FS ์ธ์๋ Ext2, FAT, NTFS ๋ฐ ISO9660์ฉ ๋๋ผ์ด๋ฒ๊ฐ ์ ๊ณต๋ฉ๋๋ค. ํ์์ ๋ฐ๋ผ ์ ์ฌํ ๋ชจ๋์ ๋ก๋ํ ์ ์๋ ๊ธฐ๋ฅ์ ํตํด ๊ธฐ๋ฅ์ ๋ชจ๋๋ก ์ด๋ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ๋๋ผ์ด๋ฒ๋ ACPICA, IDE, AHCI, NVMe, BGA, SVGA, HD ์ค๋์ค, ์ด๋๋ท 8254x ๋ฐ USB XHCI(์คํ ๋ฆฌ์ง ๋ฐ HID)๋ฅผ ๊ฐ์ถ ACPI์ฉ์ผ๋ก ์ค๋น๋์ด ์์ต๋๋ค.
ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ํธํ์ฑ์ GCC ๋ฐ ์ผ๋ถ Busybox ์ ํธ๋ฆฌํฐ๋ฅผ ์คํํ๊ธฐ์ ์ถฉ๋ถํ POSIX ๊ณ์ธต์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑ๋ฉ๋๋ค. Essence๋ก ํฌํ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ Musl C ๋ผ์ด๋ธ๋ฌ๋ฆฌ, Bochs ์๋ฎฌ๋ ์ดํฐ, GCC, Binutils, FFmpeg ๋ฐ Mesa๊ฐ ํฌํจ๋ฉ๋๋ค. Essence์ฉ์ผ๋ก ํน๋ณํ ์ ์๋ ๊ทธ๋ํฝ ์ ํ๋ฆฌ์ผ์ด์ ์๋ ํ์ผ ๊ด๋ฆฌ์, ํ ์คํธ ํธ์ง๊ธฐ, IRC ํด๋ผ์ด์ธํธ, ์ด๋ฏธ์ง ๋ทฐ์ด ๋ฐ ์์คํ ๋ชจ๋ํฐ๊ฐ ํฌํจ๋ฉ๋๋ค.
์์คํ ์ 64MB ๋ฏธ๋ง์ RAM์ ๊ฐ์ถ ๋ ๊ฑฐ์ ํ๋์จ์ด์์ ์คํ๋ ์ ์์ผ๋ฉฐ ์ฝ 30MB์ ๋์คํฌ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค. ๋ฆฌ์์ค๋ฅผ ์ ์ฝํ๊ธฐ ์ํด ํ์ฑ ์ ํ๋ฆฌ์ผ์ด์ ๋ง ์คํ๋๊ณ ๋ชจ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก๊ทธ๋จ์ ์ผ์ ์ค์ง๋ฉ๋๋ค. ๋ก๋ฉ์๋ ๋ช ์ด๋ฐ์ ๊ฑธ๋ฆฌ์ง ์์ผ๋ฉฐ ์ข ๋ฃ๋ ๊ฑฐ์ ์ฆ์ ์ด๋ฃจ์ด์ง๋๋ค. ์ด ํ๋ก์ ํธ๋ QEMU ํ ์คํธ์ ์ ํฉํ ์๋ก์ด ๊ธฐ์ฑ ์ด์ ๋ธ๋ฆฌ๋ฅผ ๋งค์ผ ๊ฒ์ํฉ๋๋ค.
์ถ์ฒ : opennet.ru