The OpenNET Project / Index page

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

На языке Java разработан полноценный эмулятор архитектуры x86

06.07.2009 14:08

В рамках проекта JPC разработан полноценный эмулятор архитектуры x86, написанный целиком на языке Java. Проект достаточно универсальный, эмулятор может быть выполнен в виде отдельного Java приложения, запущен на мобильном телефоне или в виде web-апплета в браузере. На сайте проекта представлено несколько демонстраций возможностей JPC, среди которых запуск игры DOOM и мини-дистрибутива Damn Small Linux. Исходные тексты проекта распространяются в рамках лицензии GPLv2.

JPC обеспечивает один из наиболее безопасных способов выполнения изолированных приложений, так как используется двухуровневая модель изоляции - первый уровень обеспечивает изоляцию в стандартной виртуальной Java машине апплета с эмулятором , а второй реализован непосредственно эмулятором x86 инструкций.

  1. Главная ссылка к новости (http://tech.slashdot.org/story...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/22474-java
Ключевые слова: java, emulator
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (65) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
 
  • 2.18, Владимир (??), 14:56, 06/07/2009 [ответить]  
  • +3 +/
    Попробовал этот "полноценный эмулятор архитектуры x8..." :)


    Fatal Error Constructing JPC Instance: java.lang.OutOfMemoryError: Java heap space
    ***** Refreshing the Web page may help *****
    java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:2786)
    at java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:133)
    at org.jpc.j2se.JPCApplet$PCConstructor.downloadData(JPCApplet.java:317)
    at org.jpc.j2se.JPCApplet$PCConstructor.run(JPCApplet.java:395)
    at java.lang.Thread.run(Thread.java:619)

     
     
  • 3.23, zhus (ok), 15:24, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А больше памяти жаве дать не помогает?
     
  • 3.37, F (?), 18:13, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    $ java -Xmx1G
     
  • 1.4, Ivan (??), 14:22, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неужто наконец появится средство запускать старые DOS-игры на смартфоне... Вот классно будет. Давно ждал, учитывая что вычислительные мощности современных смартов, на сколько я понимаю, давно превосходят оригинальный 486 и могли бы и хотябы первый Voodoo эмулировать без проблемм...
     
     
  • 2.15, дядя (?), 14:48, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    iphone, через кудю ставишь что-то типа dosbox или qemu и рубишься. Ява ненужна.
     
     
  • 3.34, Зилибоба (??), 16:48, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Я на ём ставил эмулятор PSOne и даже кое какие игры запускались и играть можно было... Про дос - я вообще молчу...
     
  • 3.38, 74025 (?), 18:20, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >iphone, через кудю ставишь что-то типа dosbox или qemu и рубишься. Ява ненужна.

    Тут налицо ошибка. Скорее, iphone не нужен, нежели java.

     
     
  • 4.39, дядя (?), 19:36, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Такое же поделие от проприетарной конторы.
    А кому не нужно могут продолжать жить в каменном веке.
     
     
  • 5.61, Необъективный_ (?), 22:29, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://technitip.net/wp-content/gallery/test/iphone-stone-htc-touch-hd.jpg
     
     
  • 6.73, mikra (?), 16:23, 09/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Эта пять! В избранное :)))))
     
  • 2.25, User294 (ok), 15:37, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Неужто наконец появится средство запускать старые DOS-игры на смартфоне...
    >Вот классно будет.

    Очень.Правда, смартфону придется для начала стать чем-то типа Cray.Ну или на выбор вы поимеете воистину офигительную скорость работы - "слайд-шоу" называется.Если, конечно, оперативки для старта вообще хватит :D

     
     
  • 3.65, Чь то имя (?), 17:03, 08/07/2009 [^] [^^] [^^^] [ответить]  
  • +/

    >Очень.Правда, смартфону придется для начала стать чем-то типа Cray...

    И наконец то диггеру не нужен будет специальный тормоз ;)

     
  • 2.50, Zenitur (?), 09:16, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    DosBOX уже давно запускает от Дума до Windows 95.
     

  • 1.5, Аноним (-), 14:25, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    А на этом эмуляторе х86 запустится явовская виртуальная машина чтобы на ней запустить этот эмулятор х86?
     
     
  • 2.57, Andrew Kolchoogin (?), 17:42, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, так как заработал DOOM, следовательно, эмулируется, как минимум, iAPX386. Соответственно, в нём запускается Windows 95 с Java, и вперёд... ;)))
     

  • 1.7, Samm (??), 14:27, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм, работает что самое забавное (x86_64, SUN JRE) ) Дум в аплете это круть )
     
  • 1.9, plamya (??), 14:36, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ГЫ) Работает)) Загрузка проца 100%, но DOOM работает)))))
     
     
  • 2.16, дядя (?), 14:50, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Да уж... На двухядерном процессоре DOOM тормозит намного сильнее crysis'а... Прогресс...
     
     
  • 3.22, plamya (??), 15:23, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Еще не пробывал на домашней машине (Lenovo T400), но на рабочем мобильном селероне с 2ГБ памяти и 3мя виртуалками VMware эта JPC мне проц до 100% довела)))))
     
     
  • 4.36, Aleksey (??), 17:40, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Еще не пробывал на домашней машине (Lenovo T400), но на рабочем мобильном
    >селероне с 2ГБ памяти и 3мя виртуалками VMware эта JPC мне
    >проц до 100% довела)))))

    А если все то же самое, но без виртуалок?

     
     
  • 5.45, User294 (??), 22:47, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >А если все то же самое, но без виртуалок?

    Без виртуалок неспортивно.Когда VM на VM и VM погоняет - это ж круто, модно и современно :)

     
  • 3.70, iZEN (ok), 13:26, 09/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Да уж... На двухядерном процессоре DOOM тормозит намного сильнее crysis'а... Прогресс...

    Посмотрел бы я, как у вас crysis пошёл без проприетарного драйвера видеокарты. :))


     

  • 1.10, Необъективный_ (?), 14:38, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Этот эмулятор будет работать на андроиде?..
     
  • 1.12, дядя (?), 14:44, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь можно грузить винду95 прямо в браузере !
     
  • 1.13, lexa_ (?), 14:44, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А венду на него поставить можно ? давно мечтал о венде7 на мобилке.
     
     
  • 2.26, User294 (ok), 15:38, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А венду на него поставить можно ? давно мечтал о венде7 на
    >мобилке.

    А вы не постареете пока она там загрузится? :)

     
     
  • 3.71, iZEN (ok), 13:27, 09/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>А венду на него поставить можно ? давно мечтал о венде7 на
    >>мобилке.
    >
    >А вы не постареете пока она там загрузится? :)

    Нет. Doom же идёт.


     

  • 1.14, F (?), 14:47, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Интересно, оно интерпретирует инструкции x86 или использует динамическую генерацию байт-кода с последующей JIT-компиляцией.
     
  • 1.17, F (?), 14:54, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Только зря в тексте новости так акцентируется внимание на _языке_ Java. Существенным является то, что этот эмулятор написан для JVM, на каком языке - не столь важно.
     
  • 1.19, Zlobec (?), 15:08, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    -Угадай что у меня в браузере?
    -Linux!
    -Правильно, а сколько штук?
     
  • 1.20, аноним (?), 15:16, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Ну и что, внезапно работает быстрее bochs/dosbox? Если нетб то новости место на каком-нибудь javaфильском сайте, они любят клепать софт только ради того, чтобы склепать его на java, а пользоваться потом невозможно.
     
     
  • 2.28, User294 (ok), 15:40, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >чтобы склепать его на java, а пользоваться потом невозможно.

    Ну... у всех свои понятия о юзабилити.Ща придут всякие iZEN и посоветуют воткнуть небольшой такой Cray под это дело, тогда doom легко выжмет FPS который он достигал на i486 :).Это же проще чем прогрммы нормально писать :D

     
     
  • 3.47, iZEN (ok), 01:11, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    На Sony-Ericsson P1i запускается:
    http://www.sony-ericsson.ru/forums2/lofiversion/index.php/t48950.html
    Нокифилы, как всегда, — в пролёте.
     
     
  • 4.49, User294 (ok), 09:08, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >На Sony-Ericsson P1i запускается:

    И сколько FPSов там показывает Doom? Если что - у любого современного мобильника проц мощнее чем то на чем дум работал в оригинале а оперативка - в несколько раз быстрее чем то тормозилово которое раньше в компах использовали, так что there is no excuse хреновому FPS-у...

    > Нокифилы, как всегда, — в пролёте.

    P.S. а вот в n800 (да, Nokia :P) нативный порт дума даже достаточно играбелен и выжимает неплохой FPS.Вы точно уверены что это именно нокиафилы в пролете?А то я на нокии игрался в дум.Нативный, а не эти извращения.В свете этого как бы большой вопрос - кто же там в пролете?Как по мне - нативный порт с нормальным FPSом и даже реально играбельный - на голову лучше всяких извратных тормозиловок ;).Более того - там даже первый Quake кой-как играбелен.Удачи в запуске оного на этой вашей тормозилке.И не забудьте FPSом похвастаться :)

     
     
  • 5.72, iZEN (ok), 13:30, 09/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Как по мне - нативный порт с нормальным
    >FPSом и даже реально играбельный - на голову лучше всяких извратных
    >тормозиловок ;).Более того - там даже первый Quake кой-как играбелен.Удачи в
    >запуске оного на этой вашей тормозилке.И не забудьте FPSом похвастаться :)

    Успокойся. Показали рабочий концепт, а ты уж извёлся весь. Начал сравнивать нативный порт с виртуализированным. :)

    Гляди, как бы нативные порты не пошли в топку. :))


     

  • 1.27, Karbofos (??), 15:39, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну и как он, в целом, работает? быстрее самой архитектуры x86? :-P
     
     
  • 2.29, User294 (ok), 15:42, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >быстрее самой архитектуры x86? :-P

    Конечно.Если верить люббителям java - там jit должен супер-оптимально заоптимизировать код на ходу.После этого x86 влегкую обгоняет сам себя!Программная акселерация :P


     
     
  • 3.32, Karbofos (??), 15:49, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    тогда надо запустить эмулятор архитектуры в таком же эмуляторе. порвём пространственно-временной континуум! O_o
     
     
  • 4.33, User294 (??), 16:39, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    А вы не боитесь образования черной дыры в вашем процессоре?
    p.s. у некоторых черные дыры в чипах уже даже получались :)
     
     
  • 5.35, Karbofos (??), 17:17, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    конечно БОЮСЬ! O_o но чего не сделаешь ради науки. да и может так случиться, что комп, на котором запустят рекурсивно такой эмулятор попадет в top500 :-P
     
  • 3.40, Ivan (??), 19:50, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >После этого x86 влегкую обгоняет сам себя!Программная акселерация :P

    Зря смеётесь. Помню на опеннете же была новость, где сравнивали разные виртуализаторы и реальную машину, в некоторых тестах, некоторые виртуалки обгоняли реал.

     
     
  • 4.42, Karbofos (??), 21:43, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    давай реально сравним вычисления, скажем, чисел Фибоначчи? ну, или, обработку массивов по Гауссу? короче, на выбор.
     
  • 4.43, User294 (??), 22:38, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Зря смеётесь. Помню на опеннете же была новость, где сравнивали разные виртуализаторы
    >и реальную машину, в некоторых тестах, некоторые виртуалки обгоняли реал.

    Да, а теперь пусть те кто делал данные бенчи пусть предоставят научное объяснение этому феномену.А то в чудеса я не верю ;).

     
     
  • 5.46, Karbofos (??), 00:59, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    весь сей "феномен" сводится к измерению скорости вызовов функций с серверной опцией явы при настойчивом неупоминании статической линковки c/c++
    ну и подобные фокусы, типа многократного умножения друг на друга однних и тех же матриц и прочее, прочее, прочее.
    такая, панимаш, загогулина.
     
     
  • 6.48, User294 (ok), 09:04, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >весь сей "феномен" сводится к измерению скорости вызовов функций с серверной опцией
    >явы при настойчивом неупоминании статической линковки c/c++

    Он вроде про виртуалки говорил.В смысле, не про яву а обычные виртуализаторы.Дык вот в каком-то треде про виртуализаторы кто-то утверждал что какой-то из виртуализаторов на какой-то задаче быстрее чем сам по себе проц (!!!).Если такая заява не была провокацией троллинга, мне бы очень хотелось услышать научные объяснения данному феномену.

    P.S.: заявы "%s - это круто" научным объяснением не являются а в сказки я не верю.

     
     
  • 7.53, Karbofos (??), 12:21, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    я думаю, что подобные заявления бывают от специалистов широкого профиля - троллей
     
     
  • 8.56, User294 (??), 16:54, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Вон человек более детально напомнил про этот случай Я немного приврал, там скоро... текст свёрнут, показать
     
     
  • 9.59, const000 (ok), 19:45, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, может более грамотным кэшированием Отключением проверок на запись Или речь... текст свёрнут, показать
     
     
  • 10.60, User294 (??), 21:27, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Если так - разработчикам кешей в ОС должно быть стыдно если их добро какой-то то... большой текст свёрнут, показать
     
  • 4.51, XoRe (ok), 10:14, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>После этого x86 влегкую обгоняет сам себя!Программная акселерация :P
    >
    >Зря смеётесь. Помню на опеннете же была новость, где сравнивали разные виртуализаторы
    >и реальную машину, в некоторых тестах, некоторые виртуалки обгоняли реал.

    "Некоторые тесты", если мне не изменяет память, были тестами на IO (дисковую подсистему).
    Что вполне может получаться, когда файл с жестким диском гостевой машины попадает в кэш файловой системы основной машины.
    Получается что-то вроде файловой системы tmpfs - фс в оперативке.

     
     
  • 5.54, Karbofos (??), 12:32, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    что же они помалкивают про тесты ext4 с 128GB RAM ? :-P
    http://www.opennet.me/opennews/art.shtml?num=20018
     
  • 5.55, User294 (??), 16:47, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Что вполне может получаться, когда файл с жестким диском гостевой машины попадает
    >в кэш файловой системы основной машины.

    А, пардон, файлы на обычной ФС в кэш что, не попадают?Или в чем прикол?Ведь без виртуализатора то же самое делает буферизация ФС применительно к файлам с которыми работают программы.

    Как самый максимум я могу себе представить какой-то выигрыш путем какого-нибудь гнусного читерства с подставой, типа буферизации даже синхронных запросов (сие имеет шаны порушить транзакции в случае сбоев, разумеется).

    > Получается что-то вроде файловой системы tmpfs - фс в оперативке.

    А при внезапных шатдаунах host будут некислые потери данных стало быть?Потому что обычные запросы к ФС и так по идее буфферизуются.Можно конечно снаглеть, устроив кэш на запись синхронным запросам.Вот только при сбое транзакциям уповавшим на синхронность будет северный пушной зверек.В остальных случаях - опять же, за счет чего выигрыш?Чудес не бывает а буфера в пингвине и так прилично работают.У меня DVD-sized исоха за секунды улетает в дисковый буффер и потом неспешно выдавливается оттуда на диск.Чем не фс в опертивке?

     

  • 1.31, Аноним (-), 15:47, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    если и запускать Monkey Island
    http://www-jpc.physics.ox.ac.uk/monkey.html
    то амижный. с прекрасным звуком и цветом.
     
  • 1.41, hatelinux (?), 21:11, 06/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а что сразу все за x86?
    хочу MIPS!
    пусть пишут под него емулятор))))
     
     
  • 2.44, User294 (??), 22:45, 06/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >а что сразу все за x86?

    Я бы удивился если б ява-програмеры сделали что-то этакое.А х86 - это нормально как раз, какие програмеры, такая и архитектура.

     

  • 1.52, XoRe (ok), 10:18, 07/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно, как развивается отношение к ресурсам:
    - Наш алгоритм использует четырехфазовое сжатие!
    - А нормально, докупят оперативку и нормуль.
    - Чем бы нам ещё забить проц?
     
  • 1.58, Filosof (?), 19:21, 07/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ДУУм, Дуум... Не шарите вы во всемирных заговорах....
    На самом деле:
    - Появляются смартбуки на АРМах, которые имеют шансы вытеснить нетбуки на х86
    - Производители смартбуков были б не прочь заиметь винды на них (не СЕ)
    - Слухи были, но оффициально: Вин7 НЕ будет поддерживать АРМ.
    - На языке Java разработан...
    Ждём предложений смартбуков с Вин7. О том какой оно тормоз не спрашивайте.
    Однако... Думаю нвидиа на тегре вполне может попробовать (а все вычисления они переложат на их мегакрутое видео ядро...)
     
     
  • 2.68, F (?), 17:43, 08/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    А на ARM'ах, кстати, бывает аппаратная поддержка Java.
     
     
  • 3.69, аноним (?), 22:58, 08/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А на ARM'ах, кстати, бывает аппаратная поддержка Java.

    Ага, сам придумал?

     
     
  • 4.74, F (?), 03:20, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    http://en.wikipedia.org/wiki/Jazelle
    http://www.arm.com/products/multimedia/java/jazelle_architecture.html

    ARM и Jazelle, к сожалению, придумал не я.

     

  • 1.63, sluge (??), 10:35, 08/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    делать людям нечего. кому надо на жабе запускать прилаги x86?
     
  • 1.64, Filosof (?), 16:19, 08/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а вот и главная новость : Google chrome os.
    Это виртуальная машина специально для этого ява-ориентированного поделия.
    Точно винды через неё запускать будут...
     
     
  • 2.66, Чь то имя (?), 17:15, 08/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Блин, в какое страшное время живём. Эпоха, в которой популярное поверх здравых мыслей... Этаки до заката недалеко
     
     
  • 3.67, const000 (ok), 17:26, 08/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Блин, в какое страшное время живём. Эпоха, в которой популярное поверх здравых
    >мыслей... Этаки до заката недалеко

    Не сильно возражая, но для порядка: а вдруг это настолько без здравого смысла, что может стать совершенно необходимым, без чего лет через 10 жить не сможем? Например архитектура x86 станет не нужна ;)

     
  • 3.75, Аноним (-), 03:24, 10/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Очень субъективно. Таким утверждениям всегда можно найти сколько угодно опровержение и подтверждений - смотря что хотеть найти.
     

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



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

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