Fuchsia OS от Google выходит из тени: ее установят на Google Nest Hub
На Хабре многие внимательно следят за судьбой молодой ОС Fuchsia OS от Google. Долгое время ее предназначение и позиционирование оставались достаточно туманными. Компания рассказывала о том, что ОС можно использовать на широком спектре разных устройств, но, где именно, оставалось лишь догадываться.
Похоже, что вскоре эту ОС можно будет «потрогать». Как оказалось, в Сеть утекли спецификации нового умного устройства Google, обновленной модели Nest Hub. И ее программное обеспечение — как раз эта загадочная операционная система. Вполне может быть, что она быстро станет чем-то большим, чем нишевой ОС, как это случалось с другими платформами.
Немного подробностей о Google Nest с «цветочком»
К слову, в том, что операционная система будет установлена именно на Nest Hub, нет ничего удивительного. Компания ранее тестировала ее на разных потребительных устройствах, включая Google Pixelbook, Nest Hub и Nest Hub Max.
На днях спецификации нового устройства (вернее, модифицированного) опубликованы Bluetooth Special Interest Group. Это не совсем утечка, а вполне официальный документ, но не от Google. Девайс не новый — это устройство 2018 года с новой прошивкой. После ребрендинга его назвали Google Nest Hub, ранее оно называлось Google Home Hub.
Ранее в поле «Software Version Number» для девайса было указано, что его операционная система — платформа Cast. Сейчас же красуется надпись Fuchsia 1.0.
Можно, конечно, попробовать установить Fuchsia и сейчас, ведь ее исходники находятся в свободном доступе. Но, к сожалению, сделать это сложно, если вообще возможно. Устройства защищены от загрузки неподписанного и не авторизованного вендором ПО. Конечно, умельцы смогут обойти этот момент, но, возможно, тратить время сейчас и не нужно, поскольку после выхода основного девайса с Fuchsia на борту все станет гораздо проще.
Кстати, существует еще возможность, что компания выпустит ограниченное количество умных устройств с новой ОС — только для разработчиков, чтобы те ознакомились с платформой и научились разрабатывать под нее ПО. В любом случае, если устройство и выйдет, то через несколько месяцев, а не сейчас.
Fuchsia OS — открытый проект
В конце 2020 года компания Google изменила модель лицензирования этой ОС. Коммиты и патчи стали принимать от всех желающих. Так что если на Хабре есть те, кто потратил время на помощь разработчикам этой ОС, будьте довольны: благодаря вашей работе вскоре выйдет первая версия платформы.
Исходный код ОС был впервые опубликован в августе 2016 года, в течение четырех лет разработчики вели разработку открыто, с «прозрачным» репо проекта.
После открытия Fuchsia для сообщества коммиты стал принимать управляющий совет, в состав которого вошла группа опытных технических руководителей компании. Совет следит за выполнением дорожной карты проекта и администрирует пользовательские изменения.
По словам команды Fuchsia, главные архитектурные принципы ОС — безопасность и обновляемость. Fuchsia — система широкого профиля, ее можно использовать для установки как на ПК, так и на телевизоры, умные колонки, гаджеты интернета вещей.
Особенности Fuchsia
Основа ОС — не Linux, а микроядро Zircon. Тем не менее, в ОС уже предоставляется уровень совместимости POSIX Lite, работающий поверх Fuchsia System ABI. Все это позволяет обеспечить запуск ряда Linux-программ, но при этом нужно перекомпилировать приложения или даже модифицировать исходные тексты. Одна из проблем POSIX Lite — неполная реализация всех возможностей POSIX.
У Fuchsia есть собственный графический интерфейс, который написан на Dart с использованием фреймворка flutter.
Кроме того, проект развивает:
- фреймворк для построения интерфейсов пользователя Peridot;
- пакетный менеджер Fargo;
- стандартную библиотеку libc;
- систему рендеринга Escher;
- Vulkan-драйвер Magma;
- композитный менеджер Scenic;
- файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs
- менеджер разделов FVM.
Для разработки приложений предоставляется поддержка языков C/C++, Dart, в системных компонентах также допускается использование Rust, в сетевом стеке — Go, а в системе сборки языка — Python.