Я просто хотел бы получить некоторую информацию о том, как лучше всего реализовать виртуальную машину. Я просто хотел бы знать пару вещей:

  1. Виртуальная машина больше похожа на виртуальный компьютер или виртуальный процессор?
  2. Каковы некоторые рекомендации при создании виртуальной машины?
  3. Как бы вы реализовали такие вещи, как регистры? (Я, очевидно, не ожидаю, что кто-то внедрит для меня виртуальную машину, но мне просто нужен даже очень простой пример или объяснение)
  4. Должен ли я использовать Python или C для реализации виртуальной машины? (Что было бы лучше для кого-то учиться? )
  5. Должен ли я делать много инструкций или в моей ВМ должна быть только пара?

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

Заранее спасибо Фрэнсис

1 ответ1

0

Я думаю, что возможно вы перепутали терминологию.

JVM не является виртуальным компьютером или виртуальным процессором.

Это интерактивный компилятор. Он берет общий (не специфичный для процессора) код (байт-код) и на лету компилирует его в машинный код. Способ JVM сделать это называется компилятором "точно в срок".

  1. См выше
  2. Быть быстрым! Вам нужна скорость, чтобы написать что-то вроде JVM
  3. Теперь вы находитесь за пределами возможностей SuperUser. Вы должны спросить об этом в другом форуме
  4. Ни. Они далеко не достаточно быстро.
  5. Зависит от того, что вы хотите достичь. Опять же, это неправильный форум для ответов на подобные вопросы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .