В чем разница между виртуальной машиной, на которой вы можете запустить на ней виртуальную ОС, и виртуальной машиной, такой как Java VM?

227
yoyo_fun

Кажется, что это совершенно разные вещи, но все используют один и тот же термин для них.

-1

2 ответа на вопрос

0
TOOGAM

Кажется, они совсем разные ... но ...

Ага. Конечно, это сбивает с толку.

Представьте себе в те времена, когда под «памятью» иногда подразумевалось ОЗУ (которое было краткосрочным), а иногда - дисковое пространство (которое было долговременным хранилищем). Ну, это то, чему меня учили еще во времена Apple 2. Тенденции менялись с годами.

Оба типа «виртуальных машин» относятся к машинам, которые не являются физическими, поэтому они являются виртуальными машинами. Термин «виртуальная машина» использовался Java со времени его изобретения в середине и конце 1990-х годов. Он ссылался на тот факт, что компилятор не компилировался в язык ассемблера, предназначенный для какого-либо реального физического ЦП, а скорее являлся «байтовым кодом», который представлял собой спецификацию воображаемой компьютерной платформы. Люди были рады видеть совместимость программного обеспечения, работающего хорошо на нескольких компьютерных платформах, и некоторые люди размышляли, станет ли этот концептуальный проект важной частью будущего вычислительной техники.

Сегодня термин «виртуальная машина» имеет тенденцию относиться к экземпляру программного обеспечения, которое эмулирует множество деталей, включая регистры ЦП и ОЗУ, или к программному обеспечению, которое выполняет «более высокий уровень» эмуляции, способный к аналогичным результатам, за исключением часто с более высокой скоростью.

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

0
Jose Ortega

Виртуальная машина с виртуализированной ОС, она вызывается, когда у вас есть «инфраструктура» всей машины, то есть ЦП, ОЗУ, жесткий диск, и вы можете управлять ею в зависимости от использования.

А виртуальная машина, подобная Java, называется «препроцессором» для языка Java, это означает, что она больше с точки зрения программирования, чем с точки зрения «инфраструктуры».

Похожие вопросы