Компания 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).
Për Fuchsia është përgatitur një ndërfaqe grafike e veçantë, e shkruar në gjuhën Dart duke përdorur framework-un Flutter. Projekti gjithashtu zhvillon framework-un Peridot për ndërtimin e ndërfaqeve të përdoruesit, menaxherin e paketave Fargo, bibliotekën standarde libc, sistemin e renderimit Escher, driverin Vulkan Magma, menaxherin e kompozit Scenic, sistemet e skedarëve MinFS, MemFS, ThinFS (FAT në gjuhën Go) dhe Blobfs, si dhe menaxherin e pjesëve FVM. Për zhvillimin e aplikacioneve ofrohet mbështetje për gjuhët C/C++, Dart, në komponentët sistemorë gjithashtu lejohet përdorimi i Rust, në stack-un rrjetit Go, dhe në sistemin e ndërtimit gjuhën Python.

Gjatë procesit të ngarkimit përdoret menaxheri i sistemit, duke përfshirë appmgr për krijimin e mjedisit fillestar të programeve, sysmgr për formimin e mjedisit të ngarkesës dhe basemgr për konfigurimin e mjedisit të përdoruesit dhe organizimin e hyrjes në sistem. Për të siguruar sigurinë, ofrohet një sistem i avancuar i izolimit sandbox, në të cilin proceset e reja nuk kanë qasje në objektet e bërthamës, nuk mund të alokojnë memorie dhe nuk mund të ekzekutojnë kod, ndërsa për aksesin në burime zbatohet një sistem i hapësirave emërtuese, që përcakton autorizimet e disponueshme. Platforma ofron një framework për krijimin e komponenteve, të cilat janë programe që ekzekutohen në sandbox-in e tyre dhe mund të ndërveprojnë me komponente të tjera përmes IPC.
Burimi: opennet.ru
