19.01.2021

В ОС Fuchsia начат приём изменений от представителей сообщества


Компания Google сообщила о расширении открытой модели разработки операционной системы Fuchsia. Отныне кроме сотрудников Google в разработке Fuchsia смогут принимать участие и представители сообщества, изменения от которых будут приниматься в проект. Для упрощения общения с разработчиками введены в строй публичные списки рассылки и система отслеживания ошибок. Разработана модель управления проектом, описывающая механизмы принятия решений.

Также опубликован план дальнейшей разработки Fuchsia, в котором отмечены основные направления развития и приоритеты. Среди первичных задач отмечена разработка фреймворка для драйверов устройств, которые можно будет обновлять отдельно от ядра системы, а также улучшение производительности файловых систем и расширение средств ввода для людей с ограниченными возможностями.

Напомним, что в рамках проекта Fuchsia компанией Google развивается универсальная операционная система, способная работать на любых типах устройств, от рабочих станций и смартфонов до встраиваемой и потребительской техники. Разработка ведётся с учётом опыта создания платформы 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 для настройки пользовательского окружения и организации входа в систему. Для совместимости с Linux в Fuchsia предлагается библиотека Machina, которая позволяет запускать Linux-программы в специальной изолированной виртуальной машине, формируемой при помощи гипервизора на базе ядра Zircon и спецификаций Virtio, по аналогии с тем, как организован запуск Linux-приложений в Chrome OS.

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=54223

Добавить комментарий