Компанията Google работи по предоставянето на пълни версии на браузъра Chrome за ОС Fuchsia. В Fuchsia вече е наличен браузърен двигател на базата на кодовата база Chromium за изпълнение на изолирани уеб-приложения, но браузърът като отделен пълен продукт за Fuchsia не е бил достъпен, а самата платформа първоначално се развиваше за IoT и потребителски устройства, като Nest Hub. Напоследък ситуацията се промени и започнаха усилия за развитие на възможностите на Fuchsia, насочени към използване като десктоп платформа.
Включително се развива набор от промени, които правят възможно предоставянето на пълноценен Chrome в Fuchsia. Началната версия на Chrome за Fuchsia планират да бъде готова за пускане с Chrome 94, насрочен за 21 септември. Работата по пренасочването се осъществява постепенно — първоначално се осигурява възможност за изграждане на съкратена версия, в която някои функции са заменени с заглушки, които с развитието на пренасочването се заменят с работещи реализации на кода, отчитащи спецификата на Fuchsia. Например, се извършва адаптация за Fuchsia на системния трей, зареждането на файлове, функцията Click To Call, работа с сменяеми носители, синхронизация, потребителски директории, PWA приложения, извеждане на информация за паметта и натоварването на CPU и импорт на настройки от други браузъри.
Напомняме, че ОС Fuchsia се развива от Google от 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.
Източник: opennet.ru
