Firma Google rozpoczęła dystrybucję nowego oprogramowania sprzętowego opartego na systemie operacyjnym Fuchsia dla inteligentnych ramek do zdjęć Nest Hub Max wydanych w 2019 roku. W pierwszej fazie oprogramowanie oparte na Fuchsia zacznie być dostarczane uczestnikom Programu Google Preview Program, a jeśli podczas próbnego wdrożenia nie pojawią się nieoczekiwane problemy, oprogramowanie zostanie zastosowane na urządzeniach innych użytkowników Nest Hub Max.
Ramka na zdjęcia Nest Hub Max to drugie urządzenie konsumenckie wyposażone w system operacyjny Fuchsia. Model Nest Hub jako pierwszy rok temu otrzymał oprogramowanie oparte na technologii Fuchsia, które ma mniejszy ekran i nie ma wbudowanej kamery wideo, która jest wykorzystywana w systemie nadzoru wideo i bezpieczeństwa. Pomimo wymiany systemu operacyjnego w oprogramowaniu sprzętowym, interfejs użytkownika i funkcjonalność zostały całkowicie zachowane, a użytkownicy końcowi nie muszą wymieniać różnic, ponieważ interfejs jest zbudowany na frameworku Flutter i wyodrębniony z komponentów niskiego poziomu. Wcześniej urządzenia Nest Hub Max, które łączą w sobie funkcje ramki na zdjęcia, systemu multimedialnego i interfejsu do zarządzania inteligentnym domem, korzystały z oprogramowania sprzętowego opartego na powłoce Cast i jądrze Linux.
Fuchsia OS jest rozwijany przez Google od 2016 roku, biorąc pod uwagę skalowalność i niedociągnięcia w zakresie bezpieczeństwa platformy Android. System oparty jest na mikrojądrze Zircon, bazującym na opracowaniach projektu LK, rozbudowanym do użytku na różnych klasach urządzeń, w tym smartfonach i komputerach osobistych. Zircon rozszerza LK o obsługę procesów i bibliotek współdzielonych, poziom użytkownika, system obsługi obiektów i model bezpieczeństwa oparty na możliwościach. Sterowniki są implementowane jako biblioteki dynamiczne działające w przestrzeni użytkownika, ładowane przez proces devhost i zarządzane przez menedżera urządzeń (devmg, Device Manager).
Fuchsia posiada własny interfejs graficzny napisany w Dart z wykorzystaniem frameworka Flutter. W ramach projektu opracowano także framework interfejsu użytkownika Peridot, menedżer pakietów Fargo, standardową bibliotekę libc, system renderowania Escher, sterownik Magma Vulkan, menedżer kompozytów Scenic, MinFS, MemFS, ThinFS (FAT w języku Go) i plik Blobfs systemów, a także partycje FVM. Do tworzenia aplikacji zapewniona jest obsługa C / C ++, Dart, Rust jest również dozwolony w komponentach systemu, w stosie sieciowym Go oraz w systemie kompilacji języka Python.
Proces rozruchu wykorzystuje menedżera systemu, który obejmuje appmgr do utworzenia początkowego środowiska oprogramowania, sysmgr do zbudowania środowiska rozruchowego i basemgr do skonfigurowania środowiska użytkownika i organizacji logowania. Aby zapewnić bezpieczeństwo, zaproponowano zaawansowany system izolacji sandbox, w którym nowe procesy nie mają dostępu do obiektów jądra, nie mogą przydzielać pamięci i nie mogą uruchamiać kodu, a do dostępu do zasobów wykorzystywany jest system przestrzeni nazw, który określa dostępne uprawnienia. Platforma zapewnia platformę do tworzenia komponentów, czyli programów działających w piaskownicy, które mogą wchodzić w interakcje z innymi komponentami za pośrednictwem IPC.
Źródło: opennet.ru