PDA

Просмотр полной версии : ОС Fuchsia переходит на стадию тестирования на сотрудниках Google


Suicide
02.03.2020, 19:33
Компания Google внесла изменения (https://9to5google.com/2020/02/28/fuchsia-friday-dogfood/), свидетельствующие о переходе операционной системы Fuchsia (https://fuchsia.dev/) на стадию финального внутреннего тестировния "dogfooding (https://en.wikipedia.org/wiki/Eating_your_own_dog_food)", подразумевающую использование продукта в повседневной деятельности сотрудников, перед его доведением до обычных пользователей. На указанной стадии продукт находится (https://testing.googleblog.com/2014/01/the-google-test-and-development.html) в состоянии, уже прошедшем основное тестирование специальными командами оценки качества. Перед тем как поставлять продукт широким массам дополнительно проводят итоговую проверку на своих сотрудниках, не вовлечённых в разработку.

В клиенте к системе управления доставкой обновлений Omaha (https://omahaproxy.appspot.com/), в которой тестируются выпуски Chrome и Chrome OS, добавлен (https://fuchsia-review.googlesource.com/c/fuchsia/+/360977) компонент fuchsia.cobalt.SystemDataUpdater и предложена инструкция по переводу устройств на новую ветку "dogfood-release" при помощи утилиты fx (https://fuchsia.dev/reference/tools/fx/cmd/shell) (аналог adb для Fuchsia). В систему непрерывной интеграции добавлены (https://fuchsia-review.googlesource.com/c/fuchsia/+/367024/3#message-f596fb65fbf635d4995d369f27ab685a7f9bbdab) сборки загрузчика для ветки dogfood, а в платформу Fuchsia включены (https://fuchsia-review.googlesource.com/c/cobalt-registry/+/367034/8#message-65ae869304ee7f9e025da8af9244d56d024bdd39) отдельные метрики для оценки результатов тестирования.

В комментариях к изменениям в Fuchsia упомянуты (https://fuchsia-review.googlesource.com/c/fuchsia/+/359997/14#message-f1d22911d6ff9a8c348de4bd8ace7305b191b27b) две ссылки для доставки обновлений fuchsia-updates.googleusercontent.com и arm64.dogfood-release.astro.fuchsia.com, во второй ссылке Astro является кодовым именем умного экрана Google Nest Hub (https://en.wikipedia.org/wiki/Google_Home#Home_Hub), который, судя по всему, используется сотрудниками Google в качестве прототипа для тестирования Fuchsia вместо штатной прошивки Cast Platform. Интерфейс Nest Hub построен на базе приложения Dragonglass, использующего фреймворк Flutter, который также поддерживается в Fuchsia.

Напомним, что в рамках проекта Fuchsia компанией Google развивается универсальная операционная система, способная работать на любых типах устройств, от рабочих станций и смартфонов до встраиваемой и потребительской техники. Разработка ведётся с учётом опыта создания платформы Android и учитывает недостатки в области масштабирования и обеспечения безопасности.

Система базируется на микроядре Zircon (https://fuchsia.dev/fuchsia-src/concepts/kernel/), основанного на наработках проекта LK (https://github.com/littlekernel/lk), расширенного для применения на различных классах устройств, включая смартфоны и персональные компьютеры. Zircon расширяет LK поддержкой процессов и разделяемых библиотек (https://fuchsia.dev/fuchsia-src/concepts/kernel/vdso), уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Драйверы реализуются (https://fuchsia.dev/fuchsia-src/concepts/drivers/device-model) в виде работающих в пространстве пользователя динамических библиотек, загружаемых процессом devhost и управляемых менеджером устройств (devmg, Device Manager).

Для Fuchsia подготовлен (https://www.opennet.ru/opennews/art.shtml?num=46517) собственный графический интерфейс (https://fuchsia.googlesource.com/topaz/+/master/shell/), написанный на языке Dart с использованием фреймворка Flutter. Проектом также развиваются фреймворк для построения интерфейсов пользователя Peridot, пакетный менеджер Fargo, стандартная библиотека libc (https://fuchsia.dev/fuchsia-src/concepts/system/libc), система рендеринга Escher (https://fuchsia.googlesource.com/fuchsia/+/master/src/ui/lib/escher/README.md), Vulkan-драйвер Magma (https://fuchsia.googlesource.com/fuchsia/+/master/garnet/lib/magma/), композитный менеджер Scenic (https://fuchsia.dev/fuchsia-src/the-book/ui/scenic.md), файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs, а также менеджер разделов FVM. Для разработки приложений предоставляется (https://fuchsia.googlesource.com/fuchsia/+/refs/heads/master/docs/project/policy/programming_languages.md) поддержка языков C/C++, Dart, в системных компонентах также допускается использование Rust, в сетевом стеке Go, а в системе сборки языка Python.

https://www.opennet.ru/opennews/pics_base/0_1583135045.png (https://fuchsia.dev/fuchsia-src/concepts/graphics/scenic/meta/scenic_within_fuchsia_diagram.png)

В процессе загрузки используется (https://fuchsia.dev/fuchsia-src/concepts/framework/boot_sequence) системный менеджер, включающий appmgr для создания начального программного окружения, sysmgr для формирования загрузочного окружения и basemgr для настройки пользовательского окружения и организации входа в систему. Для совместимости с Linux в Fuchsia предлагается (https://www.linux.com/blog/2018/6/googles-fuchsia-adds-emulator-running-linux-apps) библиотека Machina, которая позволяет запускать Linux-программы в специальной изолированной виртуальной машине, формируемой при помощи гипервизора на базе ядра Zircon и спецификаций Virtio, по аналогии с тем, как организован (https://www.opennet.ru/opennews/art.shtml?num=48563) запуск Linux-приложений в Chrome OS.

Для обеспечения безопасности предлагается продвинутая система sandbox-изоляции (https://fuchsia.dev/fuchsia-src/the-book/sandboxing.md), в которой новые процессы не имеют доступа к объектам ядра, не могут выделять память и не могут запускать код, а для доступа к ресурсам применяется система пространств имён (https://fuchsia.dev/fuchsia-src/the-book/namespaces.md), определяющая доступные полномочия. Платформа предоставляет (https://fuchsia.dev/fuchsia-src/concepts/components/introduction) фреймворк для создания компонентов, представляющих собой программы, запускаемые в своём sandbox, которые могут взаимодействовать с другими компонентами через IPC.

2.03.2020

https://www.opennet.ru/opennews/art.shtml?num=52464​

user100
02.03.2020, 21:11
Вроде в этой Фуксии не такое кастрированное ядро, как на Андроиде, что интереснее...но вот как всё остальное реализуют - это вопрос.

Велосипед изобретают,опять.