1
  1. Мне было интересно, если система выполнения и совместимый уровень - это одно и то же? Похоже, они оба представляют собой какое-то программное обеспечение, запуск которого позволяет запускать на них другое программное обеспечение. Ссылки на Википедию для двух понятий были предоставлены выше.
  2. Они обе виртуальные машины? В статье Википедии о виртуальных машинах упоминается, что система времени выполнения является разновидностью виртуальной машины.
  3. Почему Cygwin является совместимым слоем в своем типе в статье в Википедии? Это эмулятор ОС Linux и / или система времени выполнения?

1 ответ1

3

Несмотря на то, что есть много общего, есть несколько ключевых отличий:

Хорошим примером Runtime System была бы виртуальная машина Java, которая обеспечивает согласованную кроссплатформенную среду для [скомпилированного] байтового кода Java.

Хорошим примером уровня совместимости может служить WINE, который позволяет пользователям запускать неизмененные приложения Windows непосредственно в Linux и Unix. По сравнению с WINE уровни совместимости также могут быть довольно небольшими, например, одна библиотека, которую основная база кода использует для доступа к функциям ОС (например, открытие файла, обмен данными через Интернет и т.д.), Которые обеспечивают согласованный API чтобы приложение эффективно скрывало все отвратительные различия, характерные для ОС.

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

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

Преимущество среды выполнения состоит в том, что после переноса на новую платформу приложения будут работать без изменений.

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

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

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