Unix ๊ณ์ด ์ด์ ์ฒด์ ์ธ ToaruOS 2.0์ด ์ถ์๋์ด ์ฒ์๋ถํฐ ์์ฑ๋์์ผ๋ฉฐ ์์ฒด ์ปค๋, ๋ถํธ๋ก๋, ํ์ค C ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํจํค์ง ๊ด๋ฆฌ์, ์ฌ์ฉ์ ๊ณต๊ฐ ๊ตฌ์ฑ ์์ ๋ฐ ๋ณตํฉ ์ฐฝ ๊ด๋ฆฌ์๊ฐ ์๋ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๊ฐ ํจ๊ป ์ ๊ณต๋์์ต๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ C๋ก ์์ฑ๋์์ผ๋ฉฐ BSD ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. QEMU, VMware ๋๋ VirtualBox์์ ํ ์คํธํ ์ ์๋ 14.4MB ํฌ๊ธฐ์ ๋ผ์ด๋ธ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๋ก๋์ฉ์ผ๋ก ์ค๋น๋์์ต๋๋ค.
์ด ํ๋ก์ ํธ๋ 2010๋ ์ผ๋ฆฌ๋ ธ์ด ๋ํ๊ต์์ ์์๋์์ผ๋ฉฐ ์ฒ์์๋ ์๋ก์ด ๋ณตํฉ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค ์์ฑ ๋ถ์ผ์ ์ฐ๊ตฌ ์์ ์ผ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค. 2012๋ ๋ถํฐ ๊ฐ๋ฐ์ ๊ฐ๋ฐ์ ๊ด์ฌ์ด ์๋ ์ปค๋ฎค๋ํฐ์์ ๊ฐ๋ฐํ ToaruOS ์ด์ ์ฒด์ ๋ก ์ ํ๋์์ต๋๋ค. ํ์ฌ ํํ์ ์์คํ ์๋ ๋ณตํฉ ์ฐฝ ๊ด๋ฆฌ์๊ฐ ์ฅ์ฐฉ๋์ด ์์ผ๋ฉฐ ELF ํ์, ๋ฉํฐํ์คํน, ๊ทธ๋ํฝ ์คํ์์ ๋์ ์ผ๋ก ์ฐ๊ฒฐ๋ ์คํ ํ์ผ์ ์ง์ํ๊ณ Python 3 ๋ฐ GCC๋ฅผ ์คํํ ์ ์์ต๋๋ค.
ToaruOS๋ ๋์คํฌ ๋๋ผ์ด๋ฒ(PATA ๋ฐ ATAPI), EXT2 ๋ฐ ISO9660 ํ์ผ ์์คํ , ํ๋ ์ ๋ฒํผ์ ๊ฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๋๋ถ๋ถ์ ๊ตฌ์ฑํ๋ ๋ก๋ ๊ฐ๋ฅํ ๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ์ํ ๋๊ตฌ์ ๋ชจ๋๋ฆฌ์ ํ๋ ์์ํฌ๋ฅผ ๊ฒฐํฉํ๋ ํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋์ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๋ ์ปค๋์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. , ํค๋ณด๋, ๋ง์ฐ์ค, ๋คํธ์ํฌ ์นด๋(AMD PCnet FAST, Realtek RTL8139 ๋ฐ Intel PRO/1000), ์ฌ์ด๋ ์นฉ(Intel AC'97) ๋ฐ ๊ฒ์คํธ ์์คํ ์ฉ VirtualBox ์ถ๊ฐ ๊ธฐ๋ฅ. ์ปค๋์ Unix ์ค๋ ๋, TTY, ๊ฐ์ ํ์ผ ์์คํ , ์์ฌ ํ์ผ ์์คํ /proc, ๋ฉํฐ์ค๋ ๋ฉ, IPC, ๋จ๋์คํฌ, ptrace, ๊ณต์ ๋ฉ๋ชจ๋ฆฌ, ๋ฉํฐํ์คํน ๋ฐ ๊ธฐํ ํ์ค ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
ext2๊ฐ ํ์ผ ์์คํ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๋ถํธ๋ก๋๋ BIOS์ EFI๋ฅผ ์ง์ํฉ๋๋ค. ๋คํธ์ํฌ ์คํ์ BSD ์คํ์ผ ์์ผ API์ ์ฌ์ฉ์ ํ์ฉํ๊ณ ๋ฃจํ๋ฐฑ์ ํฌํจํ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ์ง์ํฉ๋๋ค. Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo ์๋ฎฌ๋ ์ดํฐ, Bochs ๋ฑ๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์ด ToaruOS๋ก ํฌํ ๋์์ต๋๋ค. ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ์ค์์ Vi์ ์ ์ฌํ ์ฝ๋ ํธ์ง๊ธฐ Bim์ด ๋์ ๋๋๋ค. ์ด๋ ํ์ผ ๊ด๋ฆฌ์, ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ, ์์ ฏ ์ง์ ๊ทธ๋ํฝ ํจ๋, ํจํค์ง ๊ด๋ฆฌ์ ๋ฑ๊ณผ ๊ฐ์ ToaruOS ๊ด๋ จ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ฐ ์ง๋ ๋ช ๋ ๊ฐ ์ฌ์ฉ๋์ด ์์ต๋๋ค. ์ด๋ฏธ์ง(PNG, JPEG) ๋ฐ ํธ๋ฃจํ์ ๊ธ๊ผด์ ์ง์ํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ ๋ํ ์์คํ ์ฉ ์ ํธ๋ฆฌํฐ ๋ฐ ์ฌ์ฉ์ ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ Python์ ๋์ฒดํ๋๋ก ์ค๊ณ๋ ์์ฒด ๋์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Kuroko๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. ์ด ์ธ์ด๋ ๊ตฌ๋ฌธ(๋ช ์์ ์ธ ๋ณ์ ์ ์๊ฐ ํฌํจ๋ Python์ ๋จ์ถ ๋ฐฉ์ธ์ผ๋ก ์์น)์์ Python์ ์ฐ์์ํค๋ฉฐ ๊ตฌํ์ด ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ๋ฐ์ดํธ์ฝ๋์ ์ปดํ์ผ ๋ฐ ํด์์ด ์ง์๋ฉ๋๋ค. ๋ฐ์ดํธ์ฝ๋ ์ธํฐํ๋ฆฌํฐ๋ ๊ฐ๋น์ง ์์ง๊ธฐ๋ฅผ ์ ๊ณตํ๊ณ ์ ์ญ ์ ๊ธ์ ์ฌ์ฉํ์ง ์๊ณ ๋ฉํฐ์ค๋ ๋ฉ์ ์ง์ํฉ๋๋ค. ์ปดํ์ผ๋ฌ์ ์ธํฐํ๋ฆฌํฐ๋ ์์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(~500KB) ํํ๋ก ์ปดํ์ผ๋ ์ ์์ผ๋ฉฐ, ๋ค๋ฅธ ํ๋ก๊ทธ๋จ๊ณผ ํตํฉ๋๊ณ C API๋ฅผ ํตํด ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค. ToaruOS ์ธ์๋ Linux, macOS, Windows์์ ์ธ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ WebAssembly๋ฅผ ์ง์ํ๋ ๋ธ๋ผ์ฐ์ ์์ ์คํํ ์ ์์ต๋๋ค.
ToaruOS์ ์ ๋ฆด๋ฆฌ์ค์์๋:
- Misaka ์ปค๋์๋ ์ฌ์ฉ์ ์ ์ ์ ํธ๋ฆฌํฐ top, strace, dbg, ping ๋ฐ cpuwidget์ ๊ตฌํํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ํ ๋ณํ ์ถ๊ฐ๋ฅผ ํฌํจํ์ฌ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ต๋๋ค.
- ์ฐฝ ํ๋ ์์ํฌ์ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค.
- ํธ๋ฃจํ์ ํ์์ ์ง์ํ๋ ํ ์คํธ ๋์คํฐ๋ผ์ด์ ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋งํฌ์ ์ผ๋ก ํ ์คํธ ์์์ ์ง์ ํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ํ๋์จ์ด ๊ตฌ์ฑ์ ๋ํ ์ง์์ด ํ์ฅ๋์ด BIOS ๋ถํธ ๋ก๋๊ฐ ๊ฐ์ ๋์์ต๋๋ค. EFI ๋ถํธ ๋ก๋๊ฐ ๋ค์ ์์ฑ๋์์ต๋๋ค. ์ปค๋ ๋ผ์ธ ๋ช ๋ น์ ํตํ ํธ์ง ์ง์์ด ๋ ๋ถํธ๋ก๋ ๋ชจ๋์ ์ถ๊ฐ๋์์ต๋๋ค.
- ํจ๋ ๋์์ธ์ด ํ๋ํ๋์์ต๋๋ค. ์ด์ ์์ ฏ์ ๋ค์ด๋ก๋ ๊ฐ๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์์ ๋์ ๋ ์ด์์ ๋ฐ ์๋ก์ด ํ์ ์ ์ง์ํฉ๋๋ค.
- ๋ทฐ์ด๊ฐ ๋ค์ ์์ฑ๋์์ผ๋ฉฐ ์๋ก์ด ํ๋ ํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ณ์ฐ๊ธฐ์ ์๋ก์ด ๊ตฌํ์ ์ถ๊ฐํ์ต๋๋ค.
- ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๊ฐ๋ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- VMware์์ ์๋ฎฌ๋ ์ดํธ๋ Ensoniq ES1371 ์นฉ์ ์ฉ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ค์ ์ฃผ์ ๋ฆด๋ฆฌ์ค 2.1์ AHCI, xHCI, USB HID ์ฅ์น๋ฅผ ์ง์ํ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ๋ธ๋์น 2.2์์๋ AArch64 ์ํคํ ์ฒ์ ๋ํ ์ง์์ ๊ตฌํํ ๊ณํ์ ๋๋ค.
์ถ์ฒ : opennet.ru