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