The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

jor1k - эмулятор OpenRISC 1000 на JavaScript, способный выполнять Linux, X и Wayland

15.10.2013 11:50

В рамках проекта jor1k подготовлен эмулятор открытой аппаратной платформы OpenRISC 1000, написанный на языке JavaScript и поддерживающий работу в окружении современных web-браузеров (в том числе доступен вариант с поддержкой Asm.js). Код проекта распространяется под лицензией GPLv3.

Для тестирования работы эмулятора сформировано несколько системных образов, размером около 10 Мб, в том числе поддерживающих запуск графических сеансов на базе X.Org и Wayland/Weston, а также позволяющих выполнять серию демонстрационных приложений. Для вывода эмулируется фреймбуфер 640x400 с сенсорным экраном LPC32xx, для хранения данных предоставляется виртуальный ATA-диск, размером 30 Мб. Системе предоставляется 32 Мб ОЗУ. Для организации ввода данных подготовлен драйвер виртуальной клавиатуры. Из планов на будущее отмечается создание виртуального ethernet-контроллера, способного обеспечить выход в Сеть из эмулируемого в браузере окружения.

Для оценки возможностей проекта в действии подготовлен специальный демонстрационный сайт, на котором можно выбрать загрузочный образ из списка и оценить его работу. Тестирование производительности работы эмулятора на системе с процессором Core-i7 показало следующие результаты: Firefox 24 c включенным asm.js - 74 MIPS, Firefox 24 без asm.js - 7 MIPS (Firefox 22 показывал 33 MIPS), Chrome 29 - 45 MIPS, Internet Explorer 10 - 22 MIPS.

Напомним, что ранее в рамках проекта JSLinux на JavaScript уже был создан эмулятор 32-разрядного x86-совместимого CPU, способный загружать Linux в браузере. Данный эмулятор был расширен такими возможностями, как поддержка постоянного хранилища, сохраняющего состояние между разными сеансами работы, и виртуального модема, который позволяет организовать выход в сеть через PPP-линк.

  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
  2. OpenNews: Зафиксировано коммерческое применение открытых процессоров OpenRISC
  3. OpenNews: В написанном на JavaScript эмуляторе ПК появилась поддержка постоянного хранилища и модема
  4. OpenNews: В OpenRisc добавлена возможность запуска Linux
  5. OpenNews: На языке JavaScript написан полноценный эмулятор ПК, способный загрузить Linux
  6. OpenNews: Релиз Firefox 22 с поддержкой Asm.js
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38165-openrisc
Ключевые слова: openrisc, javascript, linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, G.NercY.uR (?), 12:17, 15/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Ёшкин кот! Ну что за жесть то делают!
    Таким макаром скоро зайдёшь на страничку и без всяких эксплойтов с тебя и спам и всё остальное идти будет.
     
     
  • 2.11, Аноним (-), 14:40, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там сети нет :). А так линух загружается, да :). Правда, скорость - suxx. Реально только в консольке печатать.
     
  • 2.14, Аноним (-), 14:53, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ты прекратишь это или нет? Демон!
     
  • 2.17, Xasd (ok), 15:29, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > без всяких эксплойтов с тебя и спам

    очевидно предположить -- что спам будет идти в виртуальный (личный) интернет...

    а случится это тогда -- когда через Javascript научатся имитировать работу интернет :-D

     

  • 1.2, MPEG LA (?), 12:21, 15/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    прекрасно. правда из текста новости не понятно - а зачем это все?
     
     
  • 2.3, Аноним (-), 12:29, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +12 +/
    В свое время Линус Торвальдс в своей книге ответил на этот вопрос.
     
     
  • 3.30, dxd (?), 18:44, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не в его книге, кстати. Он даже не диктовал.
     
  • 2.5, badger (ok), 12:46, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    for fun, конечно
    если ты понимаешь
     

  • 1.4, Shura (??), 12:44, 15/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну что, пора выпускать телефоны с этим хозяйством на борту!
     
     
  • 2.12, Аноним (-), 14:41, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну что, пора выпускать телефоны с этим хозяйством на борту!

    Сразу после того как в них встроят 16-ядерные процессоры на 5ГГц.

     
     
  • 3.34, someone (??), 21:17, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Чуть-чуть осталось подождать
     

  • 1.16, Xasd (ok), 15:19, 15/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > виртуального модема, который позволят организовать выход в сеть через PPP-линк.

    надеюсь по IPv6 .. а иначе вся эта разработка -- бесполезная трата времени :-/ :-D

     
  • 1.25, Инженер с завода (?), 16:58, 15/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Мужики, ЯННП, чо за абстрактная хрень?
    Где на практике эту шляпу можно применить?
     
     
  • 2.29, Артём Борисовский (?), 18:43, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Практику иди на завод проходи, а этот проект сделан just for fun. Программистам полезно иногда отвлекаться от рутины и делать что-то, быть может, бесполезное с точки зрения зарабатывания бабла, зато весьма полезное для развития навыков и воображения, да и просто для получения удовольствия от жизни. Не нужно мерять баблом да практикой всё подряд.
     
     
  • 3.38, Аноним (-), 08:43, 16/10/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если хотят just for fun, то помогли бы лучше какому-нибудь opensource-проекту, а так жестокая мастурбация получается.
     
     
  • 4.42, Артём Борисовский (?), 15:18, 16/10/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Если хотят just for fun, то помогли бы лучше какому-нибудь opensource-проекту, а
    > так жестокая мастурбация получается.

    Аргументация в духе: "Зачем они пошли в бар? Лучше бы бабушку через дорогу перевели."
    Какая разница, как люди тратят своё свободное время? У вас навязчивая идея относительно кодинга just for fun. Вот его вы комментарии пишете? Написали бы статью, а так жестокая мастурбация получается.

     
  • 2.32, Аноним (-), 19:36, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Где на практике эту шляпу можно применить?

    Можно играть в пошаговую стратегию: введи uname -a в графическом терминале :).

     
  • 2.33, Аноним (-), 19:38, 15/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > басик для браузеров стал одним из лидирующих языков программирования общего назначения.

    Да, в области торможения он чемпион. Эмулированный проц всего в ~50 раз тормознее настоящего вышел. Это еще с хаками типа asm.js... Не бог весть какой результат для эмуля, имхо.


     
     
  • 3.43, Aesthetus Animus (ok), 21:29, 16/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да разве чемпион? Вы не знаете, что такое тормаоза! :-D Попробуйте, например, сэмулировать тот же процессор с помощью SystemC.
     

  • 1.35, Aesthetus Animus (ok), 22:41, 15/10/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А мне нравится! На что я не знаю JavaScript-а, но даже мне понятно, как оно работает: рчень просто и понятно все написано. Да и само по себе, как упражнение для программиста, - это отличная задача, и не важно, на чем оно написано.
     
     
  • 2.37, Xasd (ok), 06:02, 16/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > На что я не знаю JavaScript-а, но даже мне понятно, как оно работает

    это наверное потому что оно написанно на C/C++ , а не на Javascript? :-)

    а затем этот C/C++код был сконвертирован в AsmJs-код [то есть опять-таки не в Javascript]

     
     
  • 3.40, Aesthetus Animus (ok), 14:18, 16/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> На что я не знаю JavaScript-а, но даже мне понятно, как оно работает
    > это наверное потому что оно написанно на C/C++ , а не на
    > Javascript? :-)

    Оно написано очень просто и по сишному, потому и нравится мне. Понятное дело, что сам бы я это писать на JS не стал :-D

    > а затем этот C/C++код был сконвертирован в AsmJs-код [то есть опять-таки не
    > в Javascript]

    Это что, компилятор поместил комментарии в нужных местах так, что ничего не разъехалось, закомментировал отладочные сообщения, куски кода?


     
     
  • 4.41, Xasd (ok), 14:35, 16/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    мне кажется -- ты мне мешаешь умничать :-)

    да, действительно ни какого C/C++ там нет -- https://github.com/s-macke/jor1k/blob/master/js/worker/cpu/fastcpu.js

    ручная работа..

    и кстате автор похоже даже не использовал указатели на функции

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру