Erik Moqvist, ํ๋ซํผ ์์ฑ์ ์ฌ๋ฐ ๊ทธ๋ฆฌ๊ณ ๋๊ตฌ ์บํด, ์๋ก์ด ๋ฐฐํฌํ์ ๊ฐ๋ฐ ์ค์
๋๋ค. ๋ชจ๋
ธ๋ฆฌ๋
์ค, C ์ธ์ด๋ก ์์ฑ๋ ํน์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋
๋ฆฝ ์คํํ ์คํ์ ์ํ ์๋ฒ ๋๋ Linux ์์คํ
์ ๋ง๋๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ๋ฐฐํฌํ์ ์ํํธ์จ์ด๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๋ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ๋ ํ๋์ ์ ์ ์ผ๋ก ๋งํฌ๋ ์คํ ํ์ผ ํํ๋ก ํจํค์ง๋์ด ์๋ค๋ ์ ์์ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐํฌํ์ Linux ์ปค๋๊ณผ ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋ RAM ๋์คํฌ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๋ ์กฐ๋ฆฝ๋ init ํ๋ก์ธ์ค) . ์ํธ ๋ฐฐํฌ์ MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ.
์ด ํ๊ฒฝ์ ํ์ผ ์์คํ
์ก์ธ์ค, ๋คํธ์ํฌ ์คํ ๋ฐ ์ฅ์น ๋๋ผ์ด๋ฒ๋ฅผ ํฌํจํ์ฌ Linux ์ปค๋์ ๋ชจ๋ ํ์ ์์คํ
๋ฐ ์์คํ
ํธ์ถ์ ์ ๊ณตํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ml (์
ธ, DHCP ๋ฐ NTP ํด๋ผ์ด์ธํธ, ์ฅ์น ๋งคํผ ๋ฑ์ด ํฌํจ๋ Monolinux C ๋ผ์ด๋ธ๋ฌ๋ฆฌ) ๋น๋๊ธฐ (๋น๋๊ธฐ ํ๋ ์์ํฌ), ๋นํธ ์คํธ๋ฆผ, ์ปฌ (HTTP, FTP, ...), ๋๊ตฌ ์ ๊ฑฐ (๋ธํ ํจ์น), ์ด์์ถ (์์ถ ์๊ณ ๋ฆฌ์ฆ), ์ธ๊ฐ ์นํ์ (๋ณด์กฐ ๋๊ตฌ), mbedTLS, xz ะธ ZLIB. ๋น ๋ฅธ ๊ฐ๋ฐ ์ฃผ๊ธฐ๊ฐ ์ง์๋๋ฏ๋ก ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ํ ๋ช ์ด ๋ด์ ์ ๋ฒ์ ์ ์๋์ ํ๊ฐํ ์ ์์ต๋๋ค.
๋ณด๋์ฉ์ผ๋ก ์ค๋น๋ Monolinux ๋ณํ ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด 3 ะธ ์งํผ. ์ด์
๋ธ๋ฆฌ์ ์ต์ข
ํฌ๊ธฐ๋ ์ฝ 800KB์
๋๋ค. ์ง๋ถํ๋ค ์งํผ CPU ARMv6-A(7MHz), 528GB DDR1 RAM ๋ฐ 3GB eMMC๋ฅผ ๊ฐ์ถ SoC i.MX4UL์ด ์ฅ์ฐฉ๋์ด ์์ต๋๋ค. Jiffy ๋ณด๋์ ๋ถํ
์๊ฐ์ ์ ์์ ์ผ ํ Ext0.37 ํ์ผ ์์คํ
์ค๋น๊น์ง ๋จ 4์ด์
๋๋ค. ์ด ์๊ฐ ์ค SoC์ ํ๋์จ์ด ์ด๊ธฐํ์ 1ms, ROM ์ฝ๋ ์คํ์ 184ms, ๋ถํธ๋ก๋ ์์
์ 86ms, Linux ์ปค๋ ์์์ 62ms, Ext40 ํ์ฑํ์ 4ms๊ฐ ์์๋ฉ๋๋ค. ์ฌ๋ถํ
์๊ฐ์ 0.26์ด์
๋๋ค. ๋คํธ์ํฌ ์คํ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด๋๋ท ์ฑ๋ ํ์ ๋ฐ ๋คํธ์ํฌ ๋งค๊ฐ๋ณ์ ํ๋ ์ง์ฐ์ผ๋ก ์ธํด ์์คํ
์ 2.2์ด ์์ ๋คํธ์ํฌ ์ํธ ์์ฉ ์ค๋น๊ฐ ์๋ฃ๋ฉ๋๋ค.
์์คํ
์ ์ต์ํ์ ๊ตฌ์ฑ์ผ๋ก Linux ์ปค๋ 4.14.78์ ์ฌ์ฉํฉ๋๋ค. ํจ์น, MMC ๋๋ผ์ด๋ฒ์์ ๋ถํ์ํ ์ง์ฐ์ ์ ๊ฑฐํ๊ณ (MMC๋ ๋ณด๋ ํ์จ์ด์ ์ํด ์ฐ๊ฒฐ๋๋ฉฐ ๋๋ผ์ด๋ฒ๊ฐ ์์๋ ๋ ์ด๋ฏธ ํ์ฑํ๋จ) ๋ณ๋ ฌ ๋ชจ๋์์ MMC ๋ฐ FEC(์ด๋๋ท) ๋๋ผ์ด๋ฒ์ ์ด๊ธฐํ๋ฅผ ์์ํฉ๋๋ค.
์ถ์ฒ : opennet.ru