Firma Google opublikowała pełną wersję przeglądarki internetowej Chromium dla systemu operacyjnego Fuchsia, która zastąpiła w liście aplikacji wcześniej oferowaną okrojoną przeglądarkę Simple Browser, zaprojektowaną do obsługi odrębnych aplikacji internetowych, a nie pracy z witrynami. Pośrednio zapewnienie wsparcia dla standardowej przeglądarki internetowej potwierdza zamiar Google rozwijania Fuchsia nie tylko dla IoT i urządzeń konsumenckich, takich jak Nest Hub, ale również dla platform desktopowych. Aby zapoznać się z aktualnym stanem rozwoju Fuchsia, można skorzystać z emulatora, a także z testowych wersji projektu dahliaOS.
Interfejs wersji Chromium dla Fuchsia jest w zasadzie podobny do wersji dla innych systemów desktopowych, z wyjątkiem pojedynczych niedoróbek i błędów, takich jak problemy z wyświetlaniem menu kontekstowych i otwieraniem kilku okien. Tymczasem, w ostatnim czasie intensywnie pracuje się nad usunięciem takich problemów, na przykład, kilka dni temu wprowadzono wsparcie dla wbudowanego podglądu PDF oraz możliwość drukowania.

Przypomnijmy, że system operacyjny Fuchsia rozwijany jest przez firmę Google od 2016 roku, z uwzględnieniem niedociągnięć w zakresie skalowalności i bezpieczeństwa, które występują w platformie Android. System opiera się na mikrojądrze Zircon, które bazuje na dorobku projektu LK, rozszerzonego do zastosowania na różnych klasach urządzeń, w tym smartfonach i komputerach osobistych. Zircon rozszerza LK o wsparcie dla procesów i bibliotek współdzielonych, poziom użytkownika, system przetwarzania obiektów oraz model zapewnienia bezpieczeństwa oparty na capability. Sterowniki są realizowane jako działające w przestrzeni użytkownika dynamiczne biblioteki, ładowane przez proces devhost i zarządzane przez menedżera urządzeń (devmg, Device Manager).
Dla Fuchsia przygotowano własny interfejs graficzny napisany w języku Dart z użyciem frameworka Flutter. Projekt rozwija również framework do budowy interfejsów użytkownika Peridot, menedżer pakietów Fargo, standardową bibliotekę libc, system renderowania Escher, sterownik Vulkan Magma, menedżer kompozycji Scenic, systemy plików MinFS, MemFS, ThinFS (FAT w języku Go) i Blobfs oraz menedżer partycji FVM. Dla rozwoju aplikacji udostępniona jest obsługa języków C/C++, Dart, w komponentach systemowych możliwe jest także użycie Rust, w stosie sieciowym Go, a w systemie budowy języka Python.

W trakcie ładowania używany jest menedżer systemu, który obejmuje appmgr do stworzenia początkowego środowiska programowego, sysmgr do formowania środowiska ładowania oraz basemgr do konfiguracji środowiska użytkownika i organizacji logowania do systemu. Aby zapewnić bezpieczeństwo, wprowadzono 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 dostęp do zasobów realizowany jest przez system przestrzeni nazw, który określa dostępne uprawnienia. Platforma udostępnia framework do tworzenia komponentów, które są programami uruchamianymi w swoim sandboksie, które mogą komunikować się z innymi komponentami poprzez IPC.
Źródło: opennet.ru
