Pull to refresh
0
1cloud.ru
IaaS, VPS, VDS, Частное и публичное облако, SSL

Запустить Linux в браузере — поможет эмулятор jor1k (со встроенными Monkey Island, Doom и Frontier Elite II)

Reading time 3 min
Views 5K
В материале говорим о возможностях этого открытого инструмента и его технических параметрах. Также расскажем об аналогичных проектах, разрабатываемых в этой сфере.

В предыдущих сериях:



Фото — Faris Mohammed — Unsplash

Что это за инструмент


Jor1k представляет собой эмулятор микропроцессора, построенного на базе микроархитектуры OpenRISC 1000. Это — 32 разрядный чип, который открытое сообщество разрабатывает под лицензией LGPL. Устройство использовали в НАСА для создания наноспутника TechEdSat.

Эмулятор написан на JavaScript и работает из браузера. Jor1k увидел свет в 2013 году и с тех пор поддерживается автором. Им выступил Себастьян Макке (Sebastian Macke). Ему помогали несколько коллег по цеху, среди которых значится Жерар Браад (Gerard Braad), ведущий инженер-программист из Red Hat. Авторы проекта говорят, что запустили его для демонстрации возможностей JavaScript.

Инструмент можно использовать как образовательную платформу в университетах. Он также подходит на роль бенчмарка для тестирования JS-движков и может стать альтернативным способом портировать старое ПО на современные системы. Есть мнение, что jor1k сможет выступить в роли узла для TAILS-системы, исключив необходимость выделять отдельную машину.

Что он умеет


В качестве демо есть несколько системных образов — их список представлен в подразделе Demos на GitHub. Большая часть построена на Linux 3.16, позволяет работать с графикой X.Org и Wayland/Weston плюс запускать различные приложения. Например, в jor1k есть два встроенных бенчмарка — nbench и coremark. Первый разработали в 90-х годах специалисты из ныне закрытого журнала о микрокомпьютерах BYTE. nbench позволяет оценить производительность памяти, а также CPU и FPU. Что касается coremark, то это свод бенчмарков для процессора во встраиваемых системах. Среди заданий для тестов есть: обработка связных списков и матриц плюс подсчет суммы CRC.

Также в jor1k можно воспроизвести несколько видеороликов и поиграть в компьютерные игры. Среди них есть Monkey Island, Doom и Frontier Elite II. В частности, Monkey Island запускается с помощью утилиты ScummVM, разработанной специально для загрузки игр студии LucasArts.

Хотя стоит отметить, что производительность игр оставляет желать лучшего — курсор реагирует на движения мыши достаточно медленно, плюс присутствует задержка после клика.



Картинка выводится при помощи эмулируемого фреймбуфера с разрешением 640x400 и поддержкой сенсорного экрана LPC32xx. Данные система хранит на виртуальном ATA-диске в 64 килобайта и обрабатывает их 32 мегабайтами оперативной памяти. Ввод организован с помощью драйвера виртуальной клавиатуры. В jor1k встроен ethernet-контроллер, позволяющий выходить в интернет из сэмулированной в браузере среды. Один из резидентов Hacker News в тематическом треде отмечает, что в этом случае разработчики перенаправляют все запросы через собственный сервер.

Эмулятор поддерживает многопоточную работу с двумя, четырьмя, восемью и шестнадцатью ядрами. Каждая версия эмулятора загружается по отдельной ссылке — их можно найти в подразделе Demos официального репозитория. Отметим, что при увеличении числа ядер система начинает работать нестабильно — в будущем разработчики планируют решить эту проблему. При этом пользователи с Hacker News отмечают, что эмулятор функционирует быстрее в Firefox, чем в других браузерах. Такое поведение системы связано с более качественной оптимизацией под его JIT-компилятор.

Другие эмуляторы


В рамках проекта JSLinux также разработан эмулятор на JavaScript для 32-разрядного CPU (x86). Его автором выступил французский математик Фабрис Беллар (Fabrice Bellard), который написал библиотеку для декодирования аудио и видеофайлов libavcodec.

Эмулятор построен на основе динамического транслятора из проекта QEMU. Система также задействует типизированные JavaScript-массивы, увеличивающие производительность и уменьшающие потребление памяти при работе с данными фиксированного размера.


Фото — Ivy Barn — Unsplash

Над Linux-эмулятором на JavaScript трудились и инженеры из RISC-V Foundation. Их система называлась riscv-angel и позволяла запустить riscv-linux с набором утилит BusyBox.

Можно с уверенностью сказать, что если подобные решения продолжать совершенствоваться, они могут стать новым витком в развитии терминальных технологий и облачных решений. Особенно актуальными системы вроде jor1k будут для крупных компаний. Так, их сотрудники смогут получать доступ к удаленным рабочим столам с помощью обычного браузера.


Мы в 1cloud.ru предлагаем услуги по аренде виртуальной инфраструктуры. На сайте работает калькулятор, который поможет оценить ориентировочную стоимость ресурсов.

На дополнительные вопросы готовы ответить специалисты нашего центра компетенции — им можно позвонить или написать на почту.


Что еще у нас есть на Хабре:

Tags:
Hubs:
+10
Comments 3
Comments Comments 3

Articles

Information

Website
1cloud.ru
Registered
Founded
Employees
31–50 employees
Location
Россия