๋ค์ํ ํด๋์ฉ ๊ธฐ๊ธฐ, ๋ณด๋, ์๋์ฐจ ์ธํฌํ ์ธ๋จผํธ ์์คํ ์์ ์ฌ์ฉํ ์ ์๋ ์คํ ํ๋ซํผ webOS ์คํ์์ค ์๋์ 2.10์ด ์ถ์๋๋ค. Raspberry Pi 4 ๋ณด๋๋ ์ฐธ์กฐ ํ๋์จ์ด ํ๋ซํผ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ํ๋ซํผ์ Apache 2.0 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๊ณต๊ฐ ์ ์ฅ์์์ ๊ฐ๋ฐ๋๋ฉฐ ๊ณต๋ ๊ฐ๋ฐ ๊ด๋ฆฌ ๋ชจ๋ธ์ ์ค์ํ์ฌ ์ปค๋ฎค๋ํฐ์์ ๊ฐ๋ฐ์ ๊ฐ๋ ํฉ๋๋ค.
webOS ํ๋ซํผ์ ์๋ 2008๋ Palm์์ ๊ฐ๋ฐ๋์์ผ๋ฉฐ Palm Pre์ Pixie ์ค๋งํธํฐ์ ์ฌ์ฉ๋์์ต๋๋ค. 2010๋ Palm์ ์ธ์ํ ํ, ์ด ํ๋ซํผ์ Hewlett-Packard์ ์ธ์๋์๊ณ , ์ดํ HP๋ ์ด ํ๋ซํผ์ ์์ฌ์ ํ๋ฆฐํฐ, ํ๋ธ๋ฆฟ, ๋ ธํธ๋ถ, PC์ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ์ต๋๋ค. 2012๋ HP๋ webOS๋ฅผ ๋ ๋ฆฝ์ ์ธ ์คํ ์์ค ํ๋ก์ ํธ๋ก ์ ํํ ๊ฒ์ด๋ผ๊ณ ๋ฐํํ์ผ๋ฉฐ, 2013๋ ์๋ ๊ตฌ์ฑ ์์๋ฅผ ์คํ ์์ค๋ก ๊ณต๊ฐํ๊ธฐ ์์ํ์ต๋๋ค. 2013๋ LG๋ ์ด ํ๋ซํผ์ ํด๋ ํฉ์ปค๋๋ก๋ถํฐ ์ธ์ํ์ผ๋ฉฐ, ํ์ฌ 70๋ง ๋ ์ด์์ LG TV์ ์๋น์ ๊ธฐ๊ธฐ์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. 2018๋ ์ webOS ์คํ ์์ค ์๋์ ํ๋ก์ ํธ๊ฐ ์์๋์๋๋ฐ, ์ด๋ฅผ ํตํด LG๋ ๊ฐ๋ฐฉํ ๊ฐ๋ฐ ๋ชจ๋ธ๋ก ๋ณต๊ทํ๊ณ , ๋ค๋ฅธ ์ฐธ์ฌ์๋ฅผ ์ ์นํ๊ณ , webOS๊ฐ ์ง์ํ๋ ๊ธฐ๊ธฐ ๋ฒ์๋ฅผ ํ๋ํ๋ ค๊ณ ์๋ํ์ต๋๋ค.
webOS ์์คํ ํ๊ฒฝ์ Yocto ํ๋ก์ ํธ์ ๋น๋ ์์คํ ๋ฐ ๋ฉํ๋ฐ์ดํฐ ์ธํธ๋ฟ๋ง ์๋๋ผ OpenEmbedded ํดํท ๋ฐ ๊ธฐ๋ณธ ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ๋ฉ๋๋ค. webOS์ ํต์ฌ ๊ตฌ์ฑ ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋น์ค ์คํ์ ๋ด๋นํ๋ ์์คํ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ด๋ฆฌ์(SAM, System and Application Manager)์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ LSM(Luna Surface Manager)์ ๋๋ค. ๊ตฌ์ฑ ์์๋ Qt ํ๋ ์์ํฌ์ Chromium ๋ธ๋ผ์ฐ์ ์์ง์ ์ฌ์ฉํ์ฌ ์์ฑ๋ฉ๋๋ค.
๋ ๋๋ง์ Wayland ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๋ณตํฉ ๊ด๋ฆฌ์๋ฅผ ํตํด ์ํ๋ฉ๋๋ค. ๋ง์ถคํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ค๋ฉด ์น ๊ธฐ์ (CSS, HTML5 ๋ฐ JavaScript)๊ณผ React ๊ธฐ๋ฐ Enact ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์๋์ง๋ง Qt ๊ธฐ๋ฐ ์ธํฐํ์ด์ค๋ก C ๋ฐ C++๋ก ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ์๋ฒ ๋๋ ๊ทธ๋ํฝ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ถ๋ถ QML ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํ ๋ฐ์ฒ๊ฐ ์ ๊ณต๋๋๋ฐ, ์ด๋ ํฐ์น ์คํฌ๋ฆฐ ์กฐ์์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ (์ฐฝ ๋์ ) ์ฐ์ ๋งต ๊ฐ๋ ์ ์ ๊ณตํฉ๋๋ค.

DB8 ์คํ ๋ฆฌ์ง๋ LevelDB ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐฑ์๋๋ก ์ฌ์ฉํ์ฌ JSON ํ์์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. systemd ๊ธฐ๋ฐ์ Bootd๊ฐ ์ด๊ธฐํ์ ์ฌ์ฉ๋ฉ๋๋ค. uMediaServer ๋ฐ Media Display Controller(MDC) ์๋ธ์์คํ ์ ๋ฉํฐ๋ฏธ๋์ด ์ฝํ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ ๊ณต๋๋ฉฐ, ์ค๋์ค ์ฒ๋ฆฌ๋ ์ง์ํฉ๋๋ค. ์๋ฒ PulseAudio๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ ํ์จ์ด ์ ๋ฐ์ดํธ์๋ OSTree์ ์์์ ํํฐ์ ๊ต์ฒด ๋ฐฉ์์ด ์ฌ์ฉ๋ฉ๋๋ค(๋ ๊ฐ์ ์์คํ ํํฐ์ ์ด ์์ฑ๋๋๋ฐ, ํ๋๋ ํ์ฑ ํํฐ์ ์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์ ๋ฐ์ดํธ ํ์ผ์ ๋ณต์ฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค).
์ ๋ฆด๋ฆฌ์ค์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- ๋ค์ํ ์ ์ฅ์(๋ด๋ถ ์ ์ฅ์, USB ๋๋ผ์ด๋ธ, ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ์์คํ ๋ฑ)์ ์ก์ธ์คํ๊ธฐ ์ํ ๋จ์ผ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์ ์ฅ์ ์ก์ธ์ค ํ๋ ์์ํฌ๊ฐ ๊ตฌํ๋์์ต๋๋ค(์ง๊ธ์ Google Drive๋ง ์ง์๋ฉ๋๋ค). ์ด ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณตํต ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๊ตฌ์ฑ๋ ๋ชจ๋ ์คํ ๋ฆฌ์ง ๊ณต๊ธ์์ ๋ฌธ์, ์ด๋ฏธ์ง ๋ฐ ํ์ผ์ ๋ณด๊ณ ์ด ์ ์์ต๋๋ค.
- ๋ธ๋ผ์ฐ์ ์์ง์ ์ธ์ ์ฟ ํค์ ์ธ์ฆ ์ฟ ํค๊ฐ ์ํธํ๋ ํํ๋ก ์ ์ฅ๋๋๋ก ํฉ๋๋ค.
- GPIO, SPI, I2C ๋ฐ UART ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฅ์น์์ ์ํธ ์์ฉ์ ์ง์ํ๊ณ ์ฃผ๋ณ ์ฅ์น๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์๋ก์ด Peripheral Manager ์๋น์ค๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ด ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ซํผ์ ์์ค ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ์๋ก์ด ์ฅ์น๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- Luna Bus๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์ ๊ถํ์ ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ACG(์ก์ธ์ค ์ ์ด ๊ทธ๋ฃน) ์ก์ธ์ค ์ ์ด ๋ชจ๋ธ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ต๋๋ค. ์๋ก์ด ๋ฆด๋ฆฌ์ค์์๋ ๊ธฐ์กด ๋ณด์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ธฐ์กด ์๋น์ค๊ฐ ACG๋ก ๋ง์ด๊ทธ๋ ์ด์ ๋์์ต๋๋ค. ACG ๊ท์น์ ๊ตฌ๋ฌธ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru
