В рамках проекта jor1k (https://github.com/s-macke/jor1k) подготовлен эмулятор открытой аппаратной платформы OpenRISC 1000 (http://opencores.org/or1k/Main_Page), написанный на языке JavaScript и поддерживающий работу в окружении современных web-браузеров (в том числе доступен вариант с поддержкой Asm.js (http://www.opennet.me/opennews/art.shtml?num=36468)). Код проекта распространяется под лицензией GPLv3.Для тестирования работы эмулятора сформировано (https://github.com/s-macke/jor1k/tree/master/bin) несколько системных образов, размером около 10 Мб, в том числе поддерживающих запуск графических сеансов на базе X.Org и Wayland/Weston, а также позволяющих выполнять серию демонстрационных приложений (https://github.com/s-macke/jor1k/wiki/Explore-the-emulator). Для вывода эмулируется фреймбуфер 640x400 с сенсорным экраном LPC32xx, для хранения данных предоставляется виртуальный ATA-диск, размером 30 Мб. Системе предоставляется 32 Мб ОЗУ. Для организации ввода данных подготовлен драйвер виртуальной клавиатуры. Из планов на будущее отмечается создание виртуального ethernet-контроллера, способного обеспечить выход в Сеть из эмулируемого в браузере окружения.
<center><a href="http://s-macke.github.io/jor1k/"><img src="http://www.opennet.me/opennews/pics_base/0_1381824255.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
Для оценки возможностей проекта в действии подготовлен специальный демонстрационный сайт (http://s-macke.github.com/jor1k/), на котором можно выбрать загрузочный образ из списка и оценить его работу. Тестирование производительности работы эмулятора на системе с процессором 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.
<center><a href="http://s-macke.github.io/jor1k/"><img src="http://www.opennet.me/opennews/pics_base/0_1381824289.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
Напомним, что ранее в рамках проекта JSLinux (http://bellard.org/jslinux/) на JavaScript уже был создан (http://www.opennet.me/opennews/art.shtml?num=30577) эмулятор 32-разрядного x86-совместимого CPU, способный загружать Linux в браузере. Данный эмулятор был расширен (http://www.opennet.me/opennews/art.shtml?num=31979) такими возможностями, как поддержка постоянного хранилища, сохраняющего состояние между разными сеансами работы, и виртуального модема, который позволят организовать выход в сеть через PPP-линк.URL: http://www.phoronix.com/scan.php?page=news_item&px=MTQ4NDI
Новость: http://www.opennet.me/opennews/art.shtml?num=38165
Ёшкин кот! Ну что за жесть то делают!
Таким макаром скоро зайдёшь на страничку и без всяких эксплойтов с тебя и спам и всё остальное идти будет.
Там сети нет :). А так линух загружается, да :). Правда, скорость - suxx. Реально только в консольке печатать.
Ты прекратишь это или нет? Демон!
> без всяких эксплойтов с тебя и спамочевидно предположить -- что спам будет идти в виртуальный (личный) интернет...
а случится это тогда -- когда через Javascript научатся имитировать работу интернет :-D
прекрасно. правда из текста новости не понятно - а зачем это все?
В свое время Линус Торвальдс в своей книге ответил на этот вопрос.
Не в его книге, кстати. Он даже не диктовал.
for fun, конечно
если ты понимаешь
Ну что, пора выпускать телефоны с этим хозяйством на борту!
> Ну что, пора выпускать телефоны с этим хозяйством на борту!Сразу после того как в них встроят 16-ядерные процессоры на 5ГГц.
Чуть-чуть осталось подождать
> виртуального модема, который позволят организовать выход в сеть через PPP-линк.надеюсь по IPv6 .. а иначе вся эта разработка -- бесполезная трата времени :-/ :-D
Мужики, ЯННП, чо за абстрактная хрень?
Где на практике эту шляпу можно применить?
Практику иди на завод проходи, а этот проект сделан just for fun. Программистам полезно иногда отвлекаться от рутины и делать что-то, быть может, бесполезное с точки зрения зарабатывания бабла, зато весьма полезное для развития навыков и воображения, да и просто для получения удовольствия от жизни. Не нужно мерять баблом да практикой всё подряд.
Если хотят just for fun, то помогли бы лучше какому-нибудь opensource-проекту, а так жестокая мастурбация получается.
> Если хотят just for fun, то помогли бы лучше какому-нибудь opensource-проекту, а
> так жестокая мастурбация получается.Аргументация в духе: "Зачем они пошли в бар? Лучше бы бабушку через дорогу перевели."
Какая разница, как люди тратят своё свободное время? У вас навязчивая идея относительно кодинга just for fun. Вот его вы комментарии пишете? Написали бы статью, а так жестокая мастурбация получается.
> Где на практике эту шляпу можно применить?Можно играть в пошаговую стратегию: введи uname -a в графическом терминале :).
> басик для браузеров стал одним из лидирующих языков программирования общего назначения.Да, в области торможения он чемпион. Эмулированный проц всего в ~50 раз тормознее настоящего вышел. Это еще с хаками типа asm.js... Не бог весть какой результат для эмуля, имхо.
Да разве чемпион? Вы не знаете, что такое тормаоза! :-D Попробуйте, например, сэмулировать тот же процессор с помощью SystemC.
А мне нравится! На что я не знаю JavaScript-а, но даже мне понятно, как оно работает: рчень просто и понятно все написано. Да и само по себе, как упражнение для программиста, - это отличная задача, и не важно, на чем оно написано.
> На что я не знаю JavaScript-а, но даже мне понятно, как оно работаетэто наверное потому что оно написанно на C/C++ , а не на Javascript? :-)
а затем этот C/C++код был сконвертирован в AsmJs-код [то есть опять-таки не в Javascript]
>> На что я не знаю JavaScript-а, но даже мне понятно, как оно работает
> это наверное потому что оно написанно на C/C++ , а не на
> Javascript? :-)Оно написано очень просто и по сишному, потому и нравится мне. Понятное дело, что сам бы я это писать на JS не стал :-D
> а затем этот C/C++код был сконвертирован в AsmJs-код [то есть опять-таки не
> в Javascript]Это что, компилятор поместил комментарии в нужных местах так, что ничего не разъехалось, закомментировал отладочные сообщения, куски кода?
мне кажется -- ты мне мешаешь умничать :-)да, действительно ни какого C/C++ там нет -- https://github.com/s-macke/jor1k/blob/master/js/worker/cpu/f...
ручная работа..
и кстате автор похоже даже не использовал указатели на функции