Что такое «стек виртуального выполнения»? - PullRequest
4 голосов
/ 30 апреля 2011

Я читаю о CIL и вижу ссылку на «виртуальный стек выполнения» (например, при создании локальных переменных и присвоении им значений).

Но я не совсем понимаю, что такое стек виртуального выполнения. Является ли это «стек вызовов», тот же стек, к которому мы всегда обращаемся, когда говорим, что структуры загружаются в стек?

1 Ответ

3 голосов
/ 30 апреля 2011

Наборы команд стека непосредственно выполняются на аппаратном уровне.С другой стороны, инструкции виртуального стека интерпретируются в программном обеспечении.Быть виртуальным - это то же самое, что и виртуальные машины (виртуальные машины), где вы можете получить эмулируемую операционную систему внутри виртуальной машины.В виртуальном стеке весь аппаратный стек абстрагируется (изолирован) от вас.

Например, машинный язык (010001) напрямую обрабатывается аппаратным обеспечением (ЦП).Виртуальные инструкции, с другой стороны, обрабатываются программным обеспечением, эмулируя и изолируя сложное поведение базового оборудования.См .: http://en.wikipedia.org/wiki/Stack_machine#Virtual_stack_machines

Прочтите немного о «Виртуальной машине Java», которая, вероятно, является самой популярной реализацией машин с виртуальным стеком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...