Контакты
Подписка
МЕНЮ
Контакты
Подписка

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


23.08.2016

Попытка разобраться в 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. 

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 развивается достаточно хорошими темпами", — добавил он.

 

 

Cnews