Fuchsia OS — операционная система будущего от Google?

Google работает над новой операционной системой: С Fuchsia OS технологическая группа отказывается от архитектуры Linux и вместо этого полагается на самостоятельно разработанное микроядро Zircon. Fuchsia может заменить не только настольную операционную систему Chrome OS, но и Android, предназначенную для мобильных устройств. И это несмотря на то, что Android сегодня практически не имеет себе равных на рынке.

Является ли Google Fuchsia операционной системой будущего? Мы внимательно изучили этот проект.

Что такое Google Fuchsia?

Фуксия — это не только цвет между красным и синим, но и название модульной, основанной на правах операционной системы реального времени, которую Google разрабатывает на глазах у общественности с 2016 года. Система написана на языках C, C++, Dart, Go и Rust и работает на современных 64-битных процессорах Intel ARM.

Факт

Операционная система реального времени (RTOS) — это операционная система, способная реагировать на события и предоставлять результаты обработки мгновенно или в течение заранее определенного времени.

Исходный код Fuchsia OS находится под открытой лицензией (включая лицензии BSD, MIT и Apache) и может быть просмотрен и загружен любым желающим в публичных Git-репозиториях Google. Здесь представлена полная документация по проекту.

Согласно документации, Fuchsia OS одинаково подходит для смартфонов, планшетов, ноутбуков и настольных компьютеров. С мая 2017 года Armadillo доступна в виде оптимизированного под сенсорное управление пользовательского интерфейса (UI) с графическим интерфейсом пользователя. Google разрабатывает настольный пользовательский интерфейс для Fuchsia OS под рабочим названием Capybara. С тех пор ходили слухи, что Google работает над заменой практически непревзойденной Android.

Как работает Fuchsia OS?

При разработке Fuchsia OS компания Google открывает новые возможности. Можно сказать, что компания извлекла уроки из прошлых ошибок — особенно в отношении ограничений и проблем с обновлением и модификацией Android и Chrome OS. Главное отличие от уже существующих операционных систем Google: Fuchsia OS является модульной от начала и до конца. Это отражается не только в модульной архитектуре системы, но и в совершенно новом понимании того, что такое приложение.

Модульная конструкция приложений

Google Fuchsia основана на модульном дизайне, который ломает концепцию приложения. Единицы программного обеспечения называются пакетами. Пакет — это набор файлов, включая метаданные, файлы манифеста и исполняемые элементы. Последние в терминологии Google называются компонентами.

Компоненты Fuchsia наиболее близки к тому, что мы сегодня называем приложениями. Каждый компонент выполняет определенную задачу и может быть объединен с другими компонентами для создания сложных приложений. Составные части компонента включают файл манифеста, а также связанный с ним код. Компоненты всегда работают в собственной песочнице, получают доступ к объектам через пространства имен и публикуют их через каталог экспорта. Fuchsia OS фокусируется на двух типах компонентов: модулях и агентах.

Компоненты в роли агента работают в фоновом режиме и предоставляют услуги для других компонентов. Агент вызывается либо другим компонентом, либо системой — например, в ответ на определенные триггеры, такие как push-уведомления или другие процессы на экране.

Модули — это компоненты с пользовательским интерфейсом, которые выполняются на переднем плане и видны пользователю. Каждый модуль в операционной системе был разработан для выполнения определенной задачи и помечен соответствующим образом, чтобы к нему можно было автоматически обратиться при необходимости. Для этого используется функция модуля, которая может быть описана с помощью так называемых глаголов и существительных.

Каждый модуль включает в себя список глаголов, которые указывают, какую работу может выполнять модуль, а также список существительных, которые представляют сущности, с которыми ведется работа. Согласно терминологии Google, термин «сущность» включает любое уникально идентифицируемое лицо, место, вещь, событие или понятие, существующее в виде структурированного объекта данных, на который можно ссылаться, извлекать, представлять, манипулировать или совместно использовать.

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

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

Резюме

=Концепция модульных приложений Fuchsia OS позволяет Google сместить акцент с приложений на действия и контент. Вместо классической операционной системы используемого в данный момент приложения, задачи в Fuchsia решаются группой компонентов в так называемых историях, которые получают доступ к необходимым в данный момент ресурсам через модули.

Следующий график иллюстрирует модульную концепцию, лежащую в основе разработки приложений для Fuchsia OS.

Модульная архитектура системы

Системная архитектура Fuchsia OS также основана на модульном подходе. Операционная система состоит из четырех более или менее независимых уровней, каждый из которых имеет свои собственные задачи: Циркон, Гранат, Перидот и Топаз.

Циркон

Zircon (ранее Magenta) — основа новой операционной системы Google, но, строго говоря, она не является частью Fuchsia OS и может быть использована и в других операционных системах.

Zircon содержит ядро Fuchsia OS, менеджер устройств, самые основные и первые драйверы устройств, а также низкоуровневые системные библиотеки, такие как libc и launchpad. Кроме того, Zircon предлагает FIDL (Fuchsia Interface Definition Language), протокол для межпроцессного взаимодействия. FIDL не зависит от языка программирования, но имеет связи с такими популярными языками программирования, как C, C++, Dart, Go и Rust.

Как основа Fuchsia OS, Zircon обеспечивает аппаратный доступ для последующих уровней, создает программные абстракции над общими аппаратными ресурсами и служит платформой для разработки низкоуровневого программного обеспечения. Zircon является результатом проекта Little Kernel (LK), который выступает в качестве загрузчика для Android.

Garnet

Garnet — это первый системный уровень, специфичный для Fuchsia, основанный на Zircon. Предоставляются различные системные сервисы на уровне устройства, а также сетевые, мультимедийные и графические сервисы — например, для установки программного обеспечения, администрирования системы и связи с другими системами. Garnet содержит графический рендерер Escher, систему управления пакетами и обновления Amber, а также текстовый редактор и редактор кода Xi.

Peridot

Peridot — это уровень операционной системы Fuchsia OS, на котором модульные приложения (см. выше) управляются и компилируются в соответствии с текущими требованиями пользователя. Основными компонентами Peridot являются Ledger и Maxwell.

  • Ledger: Ledger — это облачная система хранения данных (Distributed Storage System), которая обеспечивает отдельное хранилище данных для каждого компонента Fuchsia (модуля или агента). Данные синхронизируются между различными устройствами. Это позволяет пользователю продолжить работу на одном устройстве Fuchsia с того же места, где он закончил на другом устройстве Fuchsia. Журнал привязан к учетной записи пользователя в Google.
  • Maxwell: С помощью Maxwell компания Google интегрировала в Fuchsia OS компонент, который поддерживает пользователей в качестве искусственного интеллекта. Как и Fuchsia, Maxwell имеет модульную конструкцию. Система ИИ состоит из ряда агентов, которые анализируют действия пользователя и используемый им контент, определяют подходящую информацию в фоновом режиме и направляют предложения операционной системе — например, какие модули или истории следует загрузить в соответствии с поведением пользователя в конкретный момент времени. Языковой помощник Google также является частью компонента ИИ, который в настоящее время дорабатывается в рамках проекта Fuchsia под кодовым названием Kronk.
Примечание

Kronk — пока единственный компонент Fuchsia OS, который не разрабатывается как проект с открытым исходным кодом.

Topaz

Topaz — это системный уровень Fuchsia OS, на котором пользователи взаимодействуют с операционной системой. Здесь отображаются пользовательские интерфейсы компонентов, определенных на уровнях ниже: как графический пользовательский интерфейс с домашним экраном — в зависимости от устройства Armadillo или Capybara — так и визуальные фронтэнды модулей. На этом системном уровне также интегрирован кроссплатформенный фреймворк Google для мобильных приложений с открытым исходным кодом Flutter. Поэтому можно предположить, что пользователи Fuchsia OS в будущем также смогут запускать и использовать приложения из других систем — например, приложения для Android или iOS.

Преимущества и недостатки Fuchsia OS с первого взгляда

В соответствии с модульным подходом, разработчики Fuchsia OS разделили архитектуру системы на отдельные области со специальными задачами. Это не только улучшает читаемость кода, но и влияет на адаптивность и обновление операционной системы. Помимо прочего, Google решает проблему обновления, с которой Android боролся долгое время.

Факт

Экосистема Android борется с проблемой обновлений. Об этом можно судить, взглянув на панель официального распространения: Новые версии операционной системы распространяются медленно. Это проблема, с которой не сталкиваются конкуренты. В то время как оборудование и программное обеспечение Apple поступают из одного источника и могут быть сразу же адаптированы, каждое обновление Android сначала должно быть внедрено различными производителями оборудования.

Кроме того, модульная архитектура системы отвечает потребностям торговых партнеров Google, которые хотят адаптировать или расширить Fuchsia OS в соответствии со своими собственными идеями.

Производители оборудования имеют возможность заменять отдельные уровни операционной системы на свои собственные продукты без ущерба для функциональности других уровней. Samsung, например, может заменить Topaz на самостоятельно разработанный пользовательский интерфейс в стиле TouchWiz. Amazon может отказаться от Peridot и языкового помощника Google, а вместо этого оснастить Fuchsia OS модулем приложений на базе AWS, включая Alexa.

В обоих случаях производители устройств могут предлагать индивидуальные версии Fuchsia OS, не затрагивая функции Zircon и Garnet и официальные циклы обновления этих слоев.

Преимущества Недостатки
Модульная архитектура системы Fuchsia OS позволяет Google выпускать обновления безопасности гораздо быстрее, чем Android. Google делает Ledger основным компонентом Fuchsia OS. Ledger управляет синхронизацией приложений на нескольких устройствах, тесно связывая систему с облаком.
Благодаря модульной конструкции производители оборудования имеют возможность заменять отдельные уровни системы Fuchsia OS своими собственными модулями — без ущерба для функционирования других уровней.  

Состояние разработки

Fuchsia OS постепенно обретает форму, но еще далеко не готова к выходу на рынок. Даже официальная дата релиза еще не объявлена компанией Google. По сообщениям СМИ, первые аппаратные тесты уже состоялись. Как первый производитель устройств, тестирующий Fuchsia OS, компания Huawei успешно запустила новую операционную систему на Honor Play. Смартфон оснащен чипом Huawei Kirin-970, который также используется в других устройствах этого производителя, таких как Mate 10, Mate 20 и Mate 20 Pro.

Демонстрация Fuchsia OS

Fuchsia OS может быть скомпилирована в виде APK (Android Package) и установлена на смартфоны и планшеты Android еще на стадии разработки. Демо-версия Fuchsia OS, созданная Мануэлем Гулао на сайте mgoulao.github.io»>Демо-версия Fuchsia OS показывает, как она выглядит.

Если вы откроете демо-версию Fuchsia OS в браузере, вы увидите веб-сайт, на котором отображается стартовый экран операционной системы. Он приветствует пользователя фоновым изображением и текущим временем. Кроме того, доступны три кнопки: кнопка, открывающая настройки Wi-Fi, кнопка входа для зарегистрированных пользователей и гостевой вход.

В демо-версии можно зарегистрироваться только в качестве гостя.

Зарегистрированным пользователям доступен главный экран Fuchsia OS, на котором вся информация отображается на одной странице.

Наиболее заметным элементом на главном экране является окно в центре экрана, которое содержит строку поиска Google, мастер языка Google и приложения, установленные на устройстве.

Если вы запустите приложение (в качестве демонстрационной версии доступна только демонстрационная версия), вы увидите, что Google выбрал оконный пользовательский интерфейс.

Нажатие на изображение пользователя в центре главного экрана открывает меню с часто используемыми настройками.

Fuchsia OS также была тщательно протестирована редакторами Ars Technica, которые заставили предрелизную версию работать на пиксельной книге. На следующем видео показан результат тестирования:

Смотрите это видео на The Scene.

В целях защиты вашей конфиденциальности видео не будет загружаться, пока вы не нажмете на него.

Оцените статью
cdelat.ru
Добавить комментарий