Компания Google ведёт работу по предоставлению полных сборок браузера Chrome для ОС Fuchsia. В Fuchsia уже предоставляется браузерный движок на основе кодовой базы Chromium для выполнения обособленный web-приложений, но браузер как отдельный полноценный продукт для Fuchsia был недоступен, а сама платформа в первую очередь развивалась для IoT и потребительских устройств, таких как Nest Hub. Последнее время ситуация изменилась и началось развитие возможностей Fuchsia, нацеленных на использование как десктоп-платформы.
В том числе развивается набор изменений, делающих возможным поставку полноценного Chrome в Fuchsia. Начальную сборку Chrome для Fuchsia планируют довести до готовности к выпуску Chrome 94, намеченному на 21 сентября. Работа по портированию ведётся постепенно — вначале обеспечивается возможность сборки урезанной версии, в которой некоторые возможности заменены на заглушки, которые по мере портирования заменяются на рабочие реализации кода, учитывающего специфику Fuchsia. Например, ведётся адаптация для Fuchsia системного лотка, загрузки файлов, функции Click To Call, работы с извлекаемыми носителями, синхронизации, пользовательских каталогов, PWA-приложений, вывода информации о памяти и нагрузке на CPU и импорта настроек из других браузеров.
Напомним, что ОС Fuchsia развивается компаний Google c 2016 года с учётом недостаткой в области масштабирования и обеспечения безопасности, имеющихся в платформе Android. Система базируется на микроядре Zircon, основанном на наработках проекта LK, расширенного для применения на различных классах устройств, включая смартфоны и персональные компьютеры. Zircon расширяет LK поддержкой процессов и разделяемых библиотек, уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Драйверы реализуются в виде работающих в пространстве пользователя динамических библиотек, загружаемых процессом devhost и управляемых менеджером устройств (devmg, Device Manager).
Fuchsia jaoks on loodud oma graafiline liides, mis on kirjutatud Dart keeles, kasutades Flutter raamistikku. Projektis arendatakse ka kasutajaliidese loomise raamistikku Peridot, pakihaldurit Fargo, standardset raamatukogu libc, renderdus süsteemi Escher, Vulkan draiverit Magma, komposiitmanegerit Scenic, failisüsteeme MinFS, MemFS, ThinFS (FAT Go keeles) ja Blobfs, samuti sektsioonide haldurit FVM. Rakenduste arendamiseks on toetatud keeli C/C++, Dart, süsteemikomponentides on samuti lubatud Rusti kasutamine, võrgu stackis Go ja ehitussüsteemis Python.

Laadimise protsessis kasutatakse süsteemihaldurit, mis sisaldab appmgr'i algse programmikeskkonna loomiseks, sysmgr'i laadimis keskkonna kujundamiseks ja basemgr'i kasutajakeskkonna seadistamiseks ning sisselogimise korraldamiseks. Turvalisuse tagamiseks on pakutud täiustatud sandbox-isolatsiooni süsteem, kus uudsed protsessid ei pääse juurdepääsu tuumobjektidele, ei saa eraldada mälu ega saata koodi, ning ressurssidele juurdepääsuks rakendatakse nimede ruumide süsteem, mis määratleb kättesaadavad õigused. Platvorm pakub raamistikku komponentide loomiseks, mis on programmid, mida käitatakse oma sandboxes ja mis saavad teiste komponentidega suhelda läbi IPC.
Allikas: opennet.ru
