Google์ Google Nest Hub ๋ฐ Nest Hub Max ์ก์์ ๋ํ ์๋น ํ์จ์ด ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๋ Fuchsia 14 ์ด์ ์ฒด์ ์ถ์๋ฅผ ๋ฐํํ์ต๋๋ค. Fuchsia OS๋ Android ํ๋ซํผ์ ํ์ฅ์ฑ๊ณผ ๋ณด์ ๋จ์ ์ ๊ณ ๋ คํ์ฌ 2016๋ ๋ถํฐ Google์์ ๊ฐ๋ฐ๋์์ต๋๋ค.
Fuchsia 14์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ:
- Starnix ๊ณ์ธต์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์ด Linux ์ปค๋์ ์์คํ ์ธํฐํ์ด์ค๋ฅผ ํด๋น Fuchsia ํ์ ์์คํ ์ ๋ํ ํธ์ถ๋ก ๋ณํํจ์ผ๋ก์จ ์์ ๋์ง ์์ Linux ํ๋ก๊ทธ๋จ์ ์คํ์ด ๋ณด์ฅ๋ฉ๋๋ค. ์ ๋ฒ์ ์๋ ์๊ฒฉ ํ์ผ ์์คํ ๋ง์ดํธ์ ๋ํ ์ง์ ์ถ๊ฐ, fxfs์ ๋ํ ์ฌ๋ณผ๋ฆญ ๋งํฌ์ ๋ํ xattrs ์ถ๊ฐ, mmap() ์์คํ ํธ์ถ์ ์ถ์ ์ง์ ์ถ๊ฐ, /proc/pid/stat์ ์ ๋ณด ํ์ฅ, fuchsia_sync::Mutex์ ๋ํ ์ง์ ํ์ฑํ, ์ง์ ๊ตฌํ O_TMPFILE, pidfd_getfd, sys_reboot(),timer_create,timer_delete, times() ๋ฐ ptrace()์ ๊ฒฝ์ฐ ext4 ๊ตฌํ์ ์์คํ ํ์ผ ์บ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ํฅ์๋ ๋ธ๋ฃจํฌ์ค ์คํ. HSP(HandSet ํ๋กํ) Bluetooth ํ๋กํ์ ์ค๋์ค์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ A2DP ํ๋กํ์ ํตํด ์ค๋์ค๋ฅผ ๋ธ๋ก๋์บ์คํ ํ ๋ ์ง์ฐ์ด ๊ฐ์๋์์ต๋๋ค.
- ์ค๋งํธ ํ์ ์ฅ์น ์ฐ๊ฒฐ ํ์ค์ ๊ตฌํํ Matter์๋ ์ ๋ฐ์ดํธ ๊ทธ๋ฃน์ ๋ํ ์ง์๊ณผ ๋ฐฑ๋ผ์ดํธ ์ ์ด ์ ์ผ์์ ์ํ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ชจ๋ ํ๋ซํผ์ ๋คํธ์ํฌ ์คํ์๋ FastUDP ์์ผ์ ๋ํ ์ง์์ด ํฌํจ๋ฉ๋๋ค.
- RISC-V ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ฉํฐ ์ฝ์ด ์์คํ (SMP)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ ์ค์ผ์ค๋ฌ์ ์ํธ์์ฉํ๊ธฐ ์ํ API๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- DeviceTree ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- USB ์ธํฐํ์ด์ค๊ฐ ์๋ ์ค๋์ค ์ฅ์น์ฉ ๋๋ผ์ด๋ฒ๋ DFv2 ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณํ๋์์ต๋๋ค.
Fuchsia๋ LK ํ๋ก์ ํธ์ ๊ฐ๋ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ Zircon ๋ง์ดํฌ๋ก์ปค๋์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ์ค๋งํธํฐ ๋ฐ ๊ฐ์ธ์ฉ ์ปดํจํฐ๋ฅผ ํฌํจํ ๋ค์ํ ์ข ๋ฅ์ ์ฅ์น์ ์ฌ์ฉํ ์ ์๋๋ก ํ์ฅ๋์์ต๋๋ค. Zircon์ ํ๋ก์ธ์ค ๋ฐ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ฌ์ฉ์ ์์ค, ๊ฐ์ฒด ์ฒ๋ฆฌ ์์คํ ๋ฐ ๊ธฐ๋ฅ ๊ธฐ๋ฐ ๋ณด์ ๋ชจ๋ธ์ ์ง์ํ์ฌ LK๋ฅผ ํ์ฅํฉ๋๋ค. ๋๋ผ์ด๋ฒ๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ๋๊ณ devhost ํ๋ก์ธ์ค์ ์ํด ๋ก๋๋๊ณ ์ฅ์น ๊ด๋ฆฌ์(devmg, ์ฅ์น ๊ด๋ฆฌ์)์ ์ํด ๊ด๋ฆฌ๋๋ ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ตฌํ๋ฉ๋๋ค.
Fuchsia์๋ Flutter ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ Dart๋ก ์์ฑ๋ ์์ฒด ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๊ฐ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ๋ํ Peridot ์ฌ์ฉ์ ์ธํฐํ์ด์ค ํ๋ ์์ํฌ, Fargo ํจํค์ง ๊ด๋ฆฌ์, libc ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ, Escher ๋ ๋๋ง ์์คํ , Magma Vulkan ๋๋ผ์ด๋ฒ, Scenic ๋ณตํฉ ๊ด๋ฆฌ์, MinFS, MemFS, ThinFS(Go ์ธ์ด์ FAT) ๋ฐ Blobfs ํ์ผ์ ๊ฐ๋ฐํฉ๋๋ค. ์์คํ ๋ฐ ๊ด๋ฆฌ์ FVM ํํฐ์ . ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํด C/C++ ๋ฐ Dart ์ธ์ด์ ๋ํ ์ง์์ด ์ ๊ณต๋๋ฉฐ Rust๋ ์์คํ ๊ตฌ์ฑ ์์, Go ๋คํธ์ํฌ ์คํ ๋ฐ Python ์ธ์ด ์ด์ ๋ธ๋ฆฌ ์์คํ ์์๋ ํ์ฉ๋ฉ๋๋ค.
๋ถํ
ํ๋ก์ธ์ค์์๋ ์ด๊ธฐ ์ํํธ์จ์ด ํ๊ฒฝ์ ์์ฑํ๋ appmgr, ๋ถํ
ํ๊ฒฝ์ ์์ฑํ๋ sysmgr, ์ฌ์ฉ์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ณ ๋ก๊ทธ์ธ์ ๊ตฌ์ฑํ๋ basemgr ๋ฑ์ ์์คํ
๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ณด์์ ๋ณด์ฅํ๊ธฐ ์ํด ์๋ก์ด ํ๋ก์ธ์ค๊ฐ ์ปค๋ ๊ฐ์ฒด์ ์ก์ธ์คํ ์ ์๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ ์ ์์ผ๋ฉฐ ์ฝ๋๋ฅผ ์คํํ ์ ์์ผ๋ฉฐ ๋ค์์คํ์ด์ค ์์คํ
์ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค์ ์ก์ธ์คํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ถํ์ ๊ฒฐ์ ํ๋ ๊ณ ๊ธ ์๋๋ฐ์ค ๊ฒฉ๋ฆฌ ์์คํ
์ด ์ ์๋ฉ๋๋ค. ํ๋ซํผ์ ์์ฒด ์๋๋ฐ์ค์์ ์คํ๋๊ณ IPC๋ฅผ ํตํด ๋ค๋ฅธ ๊ตฌ์ฑ ์์์ ์ํธ ์์ฉํ ์ ์๋ ํ๋ก๊ทธ๋จ์ธ ๊ตฌ์ฑ ์์๋ฅผ ์์ฑํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ถ์ฒ : opennet.ru