02.07.2022

Доступен Chromium для ОС Fuchsia

Компания Google опубликовала полноценную версию web-браузера Chromium для операционной системы Fuchsia, который заменил в списке приложений ранее предлагаемый урезанный браузер Simple Browser, рассчитанный на выполнение обособленных web-приложений, в не работу с сайтами. Косвенно предоставление поддержки обычного web-браузера подтверждает намерение Google развивать Fuchsia не только для IoT и потребительских устройств, таких как Nest Hub, но и для десктоп-платформ. Для ознакомления с текущим состоянием развития Fuchsia можно воспользоваться эмулятором, а также тестовыми сборками от проекта dahliaOS.

Интерфейс сборки Chromium для Fuchsia в целом аналогичен сборкам для других настольных систем, за исключением единичных недоработок и ошибок, таких как проблемы с отображением контекстных меню и открытием нескольких окон. При этом, последнее время активно ведётся работа по устранению подобных проблем, например, а днях была обеспечена поддержка встроенного PDF-просмотрщика и возможность вывода на печать.

Напомним, что ОС Fuchsia развивается компаний Google c 2016 года с учётом недостатков в области масштабирования и обеспечения безопасности, имеющихся в платформе Android. Система базируется на микроядре Zircon, основанном на наработках проекта LK, расширенного для применения на различных классах устройств, включая смартфоны и персональные компьютеры. Zircon расширяет LK поддержкой процессов и разделяемых библиотек, уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Драйверы реализуются в виде работающих в пространстве пользователя динамических библиотек, загружаемых процессом devhost и управляемых менеджером устройств (devmg, Device Manager).

Для Fuchsia подготовлен собственный графический интерфейс, написанный на языке Dart с использованием фреймворка Flutter. Проектом также развиваются фреймворк для построения интерфейсов пользователя Peridot, пакетный менеджер Fargo, стандартная библиотека libc, система рендеринга Escher, Vulkan-драйвер Magma, композитный менеджер Scenic, файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs, а также менеджер разделов FVM. Для разработки приложений предоставляется поддержка языков C/C++, Dart, в системных компонентах также допускается использование Rust, в сетевом стеке Go, а в системе сборки языка Python.

В процессе загрузки используется системный менеджер, включающий appmgr для создания начального программного окружения, sysmgr для формирования загрузочного окружения и basemgr для настройки пользовательского окружения и организации входа в систему. Для обеспечения безопасности предлагается продвинутая система sandbox-изоляции, в которой новые процессы не имеют доступа к объектам ядра, не могут выделять память и не могут запускать код, а для доступа к ресурсам применяется система пространств имён, определяющая доступные полномочия. Платформа предоставляет фреймворк для создания компонентов, представляющих собой программы, запускаемые в своём sandbox, которые могут взаимодействовать с другими компонентами через IPC.

Источник.