ОС Fuchsia переходит на стадию тестирования на сотрудниках Google
2 марта 2020 года
Компания Google внесла изменения, свидетельствующие о переходе операционной системы Fuchsia на стадию финального внутреннего тестирования "dogfooding", подразумевающую использование продукта в повседневной деятельности сотрудников, перед его доведением до обычных пользователей. На указанной стадии продукт находится в состоянии, уже прошедшем основное тестирование специальными командами оценки качества. Перед тем, как поставлять продукт широким массам, дополнительно проводят итоговую проверку на своих сотрудниках, не вовлечённых в разработку.
В клиенте к системе управления доставкой обновлений Omaha (Архивная копия от 14 апреля 2013 на Wayback Machine), в которой тестируются выпуски Chrome и Chrome OS, добавлен компонент fuchsia.cobalt.SystemDataUpdater и предложена инструкция по переводу устройств на новую ветку "dogfood-release" при помощи утилиты fx (аналог adb для Fuchsia). В систему непрерывной интеграции добавлены сборки загрузчика для ветки dogfood, а в платформу Fuchsia включены отдельные метрики для оценки результатов тестирования.
В комментариях к изменениям в Fuchsia упомянуты две ссылки для доставки обновлений fuchsia-updates.googleusercontent.com и arm64.dogfood-release.astro.fuchsia.com, во второй ссылке Astro является кодовым именем умного экрана Google Nest Hub, который, судя по всему, используется сотрудниками Google в качестве прототипа для тестирования Fuchsia вместо штатной прошивки Cast Platform. Интерфейс Nest Hub построен на базе приложения Dragonglass, использующего фреймворк Flutter, который также поддерживается в Fuchsia.
Напомним, что в рамках проекта Fuchsia компанией Google развивается универсальная операционная система, способная работать на любых типах устройств, от рабочих станций и смартфонов до встраиваемой и потребительской техники. Разработка ведётся с учётом опыта создания платформы Android и учитывает недостатки в области масштабирования и обеспечения безопасности.
Система базируется на микроядре Zircon, основанного на наработках проекта LK, расширенного для применения на различных классах устройств, включая смартфоны и персональные компьютеры. Zircon расширяет LK поддержкой процессов и разделяемых библиотек, уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Драйверы реализуются в виде работающих в пространстве пользователя динамических библиотек, загружаемых процессом devhost и управляемых менеджером устройств (devmg, Device Manager).
Для Fuchsia подготовлен собственный графический интерфейс (Архивная копия от 30 октября 2019 на Wayback Machine), написанный на языке Dart с использованием фреймворка Flutter. Проектом также развиваются фреймворк для построения интерфейсов пользователя Peridot, пакетный менеджер Fargo, стандартная библиотека libc, система рендеринга Escher, Vulkan-драйвер Magma (Архивная копия от 30 октября 2019 на Wayback Machine), композитный менеджер Scenic(недоступная ссылка), файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs, а также менеджер разделов FVM. Для разработки приложений предоставляется (Архивная копия от 23 мая 2020 на Wayback Machine) поддержка языков C/C++, Dart, в системных компонентах также допускается использование Rust, в сетевом стеке Go, а в системе сборки языка Python.
В процессе загрузки используется (Архивная копия от 19 января 2021 на Wayback Machine) системный менеджер, включающий appmgr для создания начального программного окружения, sysmgr для формирования загрузочного окружения и basemgr для настройки пользовательского окружения и организации входа в систему. Для совместимости с Linux в Fuchsia предлагается библиотека Machina, которая позволяет запускать Linux-программы в специальной изолированной виртуальной машине, формируемой при помощи гипервизора на базе ядра Zircon и спецификаций Virtio, по аналогии с тем, как организован запуск Linux-приложений в Chrome OS.
Для обеспечения безопасности предлагается продвинутая система sandbox-изоляции(недоступная ссылка), в которой новые процессы не имеют доступа к объектам ядра, не могут выделять память и не могут запускать код, а для доступа к ресурсам применяется система пространств имён(недоступная ссылка), определяющая доступные полномочия. Платформа предоставляет фреймворк для создания компонентов, представляющих собой программы, запускаемые в своём sandbox, которые могут взаимодействовать с другими компонентами через IPC.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.