Google официально представил свою третью ОС — подробнее о Fuchsia

kreiz7cwhjwirc7920qowjvuzca.jpeg

Мы несколько раз писали об операционной системе Fuchsia в своем блоге. Несколько лет о ней говорили как о странном проекте, цели и позиционирование которого неизвестны. Затем ситуация прояснилось — представители Google заявили о том, что использовать ОС можно на самых разных устройствах.

Насколько месяцев назад в сети появились спецификации нового девайса от Google, где значилось, что в качестве ОС используется именно Fuchsia. Этим устройством стал обновленный Nest Hub от Google. На днях компания официально представила как этот девайс, так и ОС для него. Таким образом теперь у Google сразу три операционных системы — Android, Chrome и Fuchsia.


Что за девайс?


Речь идет об устройстве, которое изначально называлось Google Home Hub. Оно оснащено 7-дюймовым дисплеем, при помощи которого можно управлять цифровым помощником компании. Впервые гаджет появился на рынке в 2018 году.

В 2019 устройство переименовали в Nest Hub, но все равно это была система первого поколения. И сейчас именно она, а не системы второго поколения вроде Nest Hub или Nest Hub Max, получает в качестве ОС новую «цветочную» платформу.

Изначально устройство позиционировалось как элемент экосистемы Android Things. Затем компания установила на устройстве платформу Google Cast Platform, которая базировалась на Linux. Ну, а теперь и ее заменили на Fuchsia OS.

Об этом стало известно примерно назад, когда несколько СМИ опубликовали спецификации Nest.

a8441f421405b247ba16277fa06216ae.png

При желании Fuchsia можно компилировать из исходников и установить еще на каком-либо девайсе, что время от времени и делают умельцы. Но сделать это не так просто, поскольку некоторые системы имеют защиту от неподписанного и неавторизованного ПО.

Когда Fuchsia можно будет потрогать?


Вскоре это смогут сделать участники Preview Program у которых, конечно, есть Nest Hub. Затем, в течение нескольких месяцев, платформа будет развернута на остальных устройствах. Функциональность систем затронута не будет — скорее всего, владельцы девайсов, которые не особо близки к IT, не заметят разницы. Те же функции, тот же интерфейс, те же графические элементы, включая нескучные обои.
kdghu-opcas9qaoz21w6bokivja.jpeg

Как бы там ни было, но Google, наконец, представила свой долгострой. ОС вполне подходит для обычных пользователей — для взаимодействия с ней не требуются какие-то особые знания. Можно предположить, что сейчас компания тестирует свою ОС в полевых условиях, это вроде как и не бета-тест, но и не очень масштабное распространение системы. Если все пройдет хорошо, компания может рассмотреть возможность установки Fuchsia и на другие свои устройства, которые до сих пор работали на Cast OS.

«Это не только телефоны и компьютеры. В мире Интернета вещей постепенно увеличивается число устройств, которым требуются новые операционные системы, платформы. Я думаю, что сейчас есть возможность использовать разные ОС с разными достоинствами и специализацией. Fuchsia — одна из таких вещей, поэтому следите за обновлениями», — заявил Хироши Локхаймер, отвечающий в Google за операционные системы Android и Chrome OS.

Из каких компонентов состоит Fuchsia?


Основа системы — собственное микроядро Zircon, не Linux. Микроядро базируется на наработках проекта LK, расширяя его поддержкой как процессов, так и разделяемых библиотек, уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Разработчики реализовали драйверы как работающие в пространстве пользователя динамические библиотеки. Загружаются они при помощи процесса devhost, а управляются менеджером устройств (devmg, Device Manager). Пользовательская оболочка операционной системы, Armadillo, написана на языке Dart с использованием фреймворка Flutter.
ff3f5fd94ee0f5c1d98ad1acbb3f8a28.jpg

Кроме того, команда проекта развивает:
  • фреймворк для построения интерфейсов пользователя Peridot;
  • пакетный менеджер Fargo;
  • стандартную библиотеку libc;
  • систему рендеринга Escher;
  • Vulkan-драйвер Magma;
  • композитный менеджер Scenic;
  • файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs
  • менеджер разделов FVM.

Для разработки приложений предоставляется поддержка языков C/C++, Dart, в системных компонентах также допускается использование Rust, в сетевом стеке — Go, а в системе сборки языка — Python.
b314d4a8df6cd74ea8a9fcb59af98c30.png

В ходе загрузки используется системный менеджер, который для создания начального программного окружения активирует appmgr. Кроме того, sysmgr применяется для формирования загрузочного окружения, а basemgr — для настройки окружения пользователя и организации входа его в систему.

Позаботились разработчики и о безопасности, для чего используется «песочница». В ней новые процессы не получают доступ к объектам ядра, не могут выделять память или запускать код. Для доступа к ресурсам примеряется система пространств имен, которая определяет доступные полномочия.

Fuchsia OS — полностью открытая операционная система


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

Но и до изменения лицензии разработка ОС была полностью прозрачной — в течение четырех лет любой желающий мог оценивать изменения в репо проекта.

Разработчики позиционируют систему как безопасную и обновляемую, позиционируя ее как мультиплатформенную. Она может работать на ПК, умных телевизорах, колонках и прочих гаджетах.

ael_dvuesjegt9kcwmvihyl8zfq.png

© Habrahabr.ru