Google портує Chrome для ОС Fuchsia

Компанія 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 з 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.

Google портує Chrome для ОС Fuchsia

У процесі завантаження використовується системний менеджер, що включає appmgr для створення початкового програмного оточення, sysmgr для формування завантажувального оточення та basemgr для налаштування користувача оточення та організації входу в систему. Для забезпечення безпеки пропонується просунута система sandbox-ізоляції, в якій нові процеси не мають доступу до об'єктів ядра, не можуть виділяти пам'ять і не можуть запускати код, а для доступу до ресурсів застосовується система просторів імен, що визначає доступні повноваження. Платформа надає фреймворк для створення компонентів, що являють собою програми, що запускаються у своєму sandbox, які можуть взаємодіяти з іншими компонентами через IPC.

Джерело: opennet.ru

Додати коментар або відгук