Мы несколько раз писали об операционной системе 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.
При желании Fuchsia можно компилировать из исходников и установить еще на каком-либо девайсе, что время от времени и делают умельцы. Но сделать это не так просто, поскольку некоторые системы имеют защиту от неподписанного и неавторизованного ПО.
Когда Fuchsia можно будет потрогать?
Вскоре это смогут сделать участники Preview Program, у которых, конечно, есть Nest Hub. Затем, в течение нескольких месяцев, платформа будет развернута на остальных устройствах. Функциональность систем затронута не будет — скорее всего, владельцы девайсов, которые не особо близки к IT, не заметят разницы. Те же функции, тот же интерфейс, те же графические элементы, включая нескучные обои.
Как бы там ни было, но Google, наконец, представила свой долгострой. ОС вполне подходит для обычных пользователей — для взаимодействия с ней не требуются какие-то особые знания. Можно предположить, что сейчас компания тестирует свою ОС в полевых условиях, это вроде как и не бета-тест, но и не очень масштабное распространение системы. Если все пройдет хорошо, компания может рассмотреть возможность установки Fuchsia и на другие свои устройства, которые до сих пор работали на Cast OS.
«Это не только телефоны и компьютеры. В мире Интернета вещей постепенно увеличивается число устройств, которым требуются новые операционные системы, платформы. Я думаю, что сейчас есть возможность использовать разные ОС с разными достоинствами и специализацией. Fuchsia — одна из таких вещей, поэтому следите за обновлениями», — заявил Хироши Локхаймер, отвечающий в Google за операционные системы Android и Chrome OS.
Из каких компонентов состоит Fuchsia?
Основа системы — собственное микроядро Zircon, не Linux. Микроядро базируется на наработках проекта LK, расширяя его поддержкой как процессов, так и разделяемых библиотек, уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Разработчики реализовали драйверы как работающие в пространстве пользователя динамические библиотеки. Загружаются они при помощи процесса devhost, а управляются менеджером устройств (devmg, Device Manager). Пользовательская оболочка операционной системы, Armadillo, написана на языке 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 — для настройки окружения пользователя и организации входа его в систему.
Позаботились разработчики и о безопасности, для чего используется «песочница». В ней новые процессы не получают доступ к объектам ядра, не могут выделять память или запускать код. Для доступа к ресурсам примеряется система пространств имен, которая определяет доступные полномочия.
Fuchsia OS — полностью открытая операционная система
Большой плюс операционной системы в том, что она открыта — корпорация изменила модель позиционирования платформы в 2020 году. Соответственно, патчи и коммиты разработчики принимают от всех желающих. После открытия Fuchsia для сообщества коммиты стал принимать управляющий совет, в состав которого вошла группа опытных технических руководителей компании. Совет следит за выполнением дорожной карты проекта и администрирует пользовательские изменения.
Но и до изменения лицензии разработка ОС была полностью прозрачной — в течение четырех лет любой желающий мог оценивать изменения в репо проекта.
Разработчики позиционируют систему как безопасную и обновляемую, позиционируя ее как мультиплатформенную. Она может работать на ПК, умных телевизорах, колонках и прочих гаджетах.
Автор: Екатерина