В чем разница между виртуальной машиной, на которой вы можете запустить виртуальную ОС, и виртуальной машиной, такой как Java VM?
Кажется, что это совершенно разные вещи, но все используют один и тот же термин для них.
2 ответа
Виртуальная машина с виртуализированной ОС, она вызывается, когда у вас есть "инфраструктура" всей машины, то есть ЦП, ОЗУ, жесткий диск, и вы можете управлять ею в зависимости от использования.
А виртуальная машина, подобная Java, называется "препроцессором" для языка Java, это означает, что она больше с точки зрения программирования, чем с точки зрения "инфраструктуры".
Кажется, они совсем разные... но...
Ага. Конечно, это сбивает с толку.
Представьте себе в те времена, когда под "памятью" подразумевалось ОЗУ (которое было краткосрочным), а иногда - дисковое пространство (которое было долгосрочным хранилищем). Это то, чему меня учили еще во времена Apple 2. Тенденции менялись с годами.
Оба типа "виртуальных машин" относятся к машине, которая не является физической, поэтому они являются виртуальными машинами. Термин "виртуальная машина" использовался Java со времени ее изобретения в середине и конце 1990-х годов. Он ссылался на тот факт, что компилятор не компилировался в язык ассемблера, предназначенный для какого-либо реального физического ЦП, а скорее представлял собой "байт-код", который представлял собой спецификацию воображаемой компьютерной платформы. Люди были рады видеть совместимость программного обеспечения, работающего хорошо на нескольких компьютерных платформах, и некоторые люди размышляли, станет ли этот концептуальный проект важной частью будущего вычислительной техники.
Сегодня термин "виртуальная машина" имеет тенденцию относиться к экземпляру программного обеспечения, которое эмулирует множество деталей, включая регистры ЦП и ОЗУ, или к программному обеспечению, которое выполняет "более высокий уровень" эмуляции, способный к аналогичным результатам, за исключением часто с более высокой скоростью.
По мере изменения технологии, я ожидаю, что изменится некоторая терминология, особенно если слова будут разумно применяться к другой концепции.