ОС Inferno портирована для мобильной платформы Android

Джон Флорен (John Floren) анонсировал в списке рассылки os.plan9.general свой проект по портированию ОС Inferno, созданной авторами операционных систем UNIX, Plan 9 и языка Си, на платформу Android. Заявлена поддержка смартфона Google Nexus S и электронной книги Nook Color в режиме двойной загрузки.

В качестве основы для порта была выбрана версия системы для платформы Linux-arm, в которую были добавлены изменения, необходимые для поддержки библиотеки Bionic (аналог libc для Android), графического API Linux fbdev и радио-интерфейса Android. ОС работает независимо от виртуальной машины dalvik и всего расположенного выше нее программного стека: после низкоуровневой инициализации устройства и загрузки ядра Linux, управление передается виртуальной машине Inferno Dis, в рамках которой исполняются все Inferno-приложения.

Стандартный графический интерфейс Inferno был переработан с учетом небольших размеров экрана. Оконный менеджер теперь разворачивает все окна на полный экран, а для управления ими используются механические/сенсорные клавиши телефона (например, клавиша "назад" закрывает приложение, а клавиша "меню" - показывает экранную клавиатуру). Реализованы приложения для совершения звонков, отправки SMS, графические элементы увеличены с целью простого управления с помощью пальца. Доступны все Inferno-приложения из стандартной поставки ОС.

Интерфейс к радио-модулю телефона реализован в виде файлового сервера. Это позволяет легко экспортировать его по сети с целью совершения звонков или отправки СМС с удаленной машины. Так, чтобы отправить СМС со стационарного компьютера, достаточно установить на него эмулятор Inferno и выполнить две команды:

     ; mount IP-адрес-телефона /mnt     ; echo send номер 'текст смс' /mnt/phone/sms  

Увидеть порт в действии на телефоне Google Nexus S можно в видео-ролике, опубликованном на YouTube. Инструкция по сборке есть на сайте проекта.

Напомним, что ОС Inferno была создана в Bell Labs по заказу компании Lucent и увидела свет в 1995 году. Она основана на коде операционной системы Plan 9 и дополнена виртуальной машиной Dis, приложения для которой написаны на языке Limbo, предке языка Go. В основе Inferno лежит идея об использовании файлов для представления всех ресусов операционной системы, начиная от устройств и заканчивая окнами графического интерфейса и буфером обмена. Обрабатывать запросы доступа к таким файлам может не только ядро ОС, но и обычные приложения, а для передачи запросов используется сетевой протокол 9P. Благодаря этому любой ресурс операционной системы можно экспортировать на удаленную машину. ОС доступна для множества архитектур, а также может работать в среде Linux, *BSD, MacOS X, Solaris, Windows и других ОС. Подробнее об Inferno на русском можно узнать в Inferno Wiki.

©  OpenNet