Загадочную новую ОС от Google запустили на ПК и изучили

Софт
мобильная версия
, Текст: Сергей Попсулин

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


Попытка разобраться в Fuchsia

Пользователь Гэри Симс (Gary Sims) скомпилировал Fuchsia («Фуксия»), новую ОС от Google, о которой впервые стало известно 15 августа 2016 г., и попытался разобраться, для чего компания ее создает. До сих пор ответа на этот вопрос так и не появилось.

Компиляция Fuchsia

Наиболее простой способ скомпилировать Fuchsia — сделать это на 64-разрядном ПК с процессором Intel и операционной системой Ubuntu Linux, рассказал Гэри Симс на сайте Android Authority.

Fuchsia состоит из двух больших частей — Magenta, представляющей собой ядро, и различных инструментов, библиотек и программ, которые делают из Magenta операционную систему Fuchsia. В основе Magenta лежит Little Kernel (LK), крошечная операционная система, созданная для встраиваемых систем и загрузчиков ОС. LK обладает узкой функциональностью, так как не рассчитана на использование за пределами встраиваемых решений. Целью надстройки над LK является создание системы, которая бы поддерживала больший объем памяти и периферийные устройства (то есть умела работать с драйверами). 

Запуск 

Простейший способ запустить Fuchsia — использовать qemu, популярный эмулятор с открытым исходным кодом. При загрузке Fuchsia выдается большое количество сообщений, информирующих о процессе. Появляется стартовое сообщение «welcome to lk/MP», после чего ядро инициализирует различные подсистемы, такие как потоки и таймеры. Затем выполняется опознание процессора, запускаются планировщик, менеджер устройств и поддержка сети. В конце загрузки пользователь получает доступ к простой оболочке mxsh.  

Загрузка Fuchsia

mxsh поддерживает ряд команд, включая cd, cp, echo, ls и rm. При вводе неизвестной команды оболочка попытается запустить приложение с таким именем в папке /boot/bin/. Эта папка уже содержит большое количество исполняемых файлов, они предназначены для тестирования и дальнейшей разработки Fuchsia. Например, приложение thread-depth-test тестирует способность ОС создавать потоки. 

Поддержка Dart

Более важно, что Fuchsia поддерживает Dart, скриптовый язык программирования, созданный Google в качестве альтернативы JavaScript. Язык Dart находится в достаточно зрелой фазе своего развития, компания Google, например, использует его в своих различных сервисах, включая рекламную платформу AdWords. 

Dart может быть запущен двумя способами. Первый способ — путем компиляции в JavaScript и затем путем запуска через интерпретатор JavaScript. Второй способ — непосредственная интерпретация через виртуальную машину Dart. В Fuchsia применяется второй способ.

Для тестирования Dart в Fuchsia, в папку /boot/apps помещен простой Dart-скрипт hello_fuchsia.dart. Он выводит в консоль надпись «Hello, Fuchsia!» Для его запуска в консоли нужно ввести строку «dart /boot/apps/hello_fuchsia.dart». Вывод надписи «Hello, Fuchsia!» в консоль может не впечатлить. Но это означает, что Fuchsia достаточно сложна для того, чтобы запустить среду сложного интерпретатора и выполнить скрипт. Это вовлекает такие вещи, как управление процессами, управление потоками, управление памятью, системой ввода/вывода и пр. «Похоже на Linux, дорелизную версию». 

Возможные сферы применения

Судя по всему, язык Dart будет играть важную роль в Fuchsia. Текущая сборка не включает компиляторы C, Java других языков высокого уровня. А Dart в ней есть и работает. Это может означать, что Google разрабатывает устройство, которое будет работать под управлением Fuchsia, и приложения для которого будет писаться на Dart. Это может быть шлем виртуальной реальности, система бытовой автоматизации, интеллектуальное устройство для доступа к обширной инфраструктуре сервисов Google. 

В то же время автор не верит в предположения, что Fuchsia задумывается как конкурент Microsoft Windows. По его словам, это абсурд. Как и предположения, что новая ОС заменит Android или Chrome OS. «Для успеха любой ОС нужна гигантская поддержка сообщества разработчиков. Google инвестировала миллионы долларов в создание экосистемы Android и она не планирует ее бросать», — считает Симс.

В то же время стоит помнить, что Fuchsia находится в стадии зародыша. В ней нет ни графического интерфейса (и нет гарантий, что он вообще появится), ни пользовательского установщика. Количество команд и библиотек невелико и т. д. «Те, кто разбирается в сложностях создания ОС, поймет, что Fuchsia развивается достаточно хорошими темпами», — добавил он.