Симулятор или Эмулятор? В чем разница?

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

488
задан Nishant 30 December 2017 в 18:00
поделиться

8 ответов

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

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

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

MAME - эмулятор аркадных игр; Hyperterm - это (не очень хороший) эмулятор терминала. Нет необходимости детально моделировать аркадный автомат или терминал, чтобы получить желаемое эмулируемое поведение.

Flight Simulator - это симулятор; SPICE - симулятор электроники. Они моделируют в максимально возможной степени каждую деталь цели, чтобы представить, что цель делает в действительности.

РЕДАКТИРОВАТЬ: В других ответах указывалось, что цель эмуляции состоит в возможности замены объекта, который она имитирует. Это важный момент. При моделировании основное внимание уделяется моделированию внутреннего состояния цели - и моделирование не обязательно приводит к эмуляции. В частности, моделирование может выполняться намного медленнее, чем в реальном времени. SPICE, например, Симуляция Моделирование не всегда приводит к эмуляции -

445
ответ дан 22 November 2019 в 22:36
поделиться

На этот вопрос, вероятно, лучше всего ответить, взглянув на историческую практику.

В прошлом я видел эмуляторы игровых консолей на ПК для PlayStation & SEGA.

Симуляторы являются обычным явлением, когда речь идет о программном обеспечении, которое пытается имитировать действия из реальной жизни, такие как вождение или полет. Gran Turismo и Microsoft Flight Simulator приходят на ум как классические примеры симуляторов.

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

Лингвистическое значение глагола «симуляция» состоит в том, чтобы притворяться или имитировать кого-то или что-то.

2
ответ дан 22 November 2019 в 22:36
поделиться

Выражаясь более или менее нормальным языком: если ваше программное обеспечение может делать все, что имитирует система, то это эмулятор. Если он только приближает результаты системы (ИТ или другой), это симулятор.

7
ответ дан 22 November 2019 в 22:36
поделиться

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

9
ответ дан 22 November 2019 в 22:36
поделиться

Some years ago I came up with a very short adage that, I believe, captures the essence of the difference quite nicely:

A simulator is an emulator on a mission.

By that I mean that you use an emulator when you can't use the real thing, and you use a simulator when you can't use the real thing and you want to find something out about it.

9
ответ дан 22 November 2019 в 22:36
поделиться

It's a difference in focus. Emulators1 focus on recreating the behavior of a system, with no regard for how the system functions internally. Simulators2 focus on modeling the components of a system. You use an emulator when you care mostly about what a system does, and a simulator when you care about how it does it.

As for their general English meanings, emulation is "the endeavor to equal or to excel another in qualities or actions", while simulation is "to model, replicate, duplicate the behavior, appearance or properties of". Not much difference. Emulation comes from æmulus, "striving, rivaling," and is related to "imitate" and "image," which suggests a surface-lever resemblance. "Simulation" comes from similis "like", as does the word "similar," which perhaps suggests a deeper congruence.

References:

  1. Wikipedia: Emulator
  2. Wikipedia: Computer Simulation
  3. Wiktionary: emulation
  4. Wiktionary: simulation
  5. Etymology Online: emulation
  6. Etymology Online: simulation
40
ответ дан 22 November 2019 в 22:36
поделиться

Если бы имитатор полета мог транспортировать вас из пункта А в пункт Б., то это был бы эмулятор полета.

Эмулятор может заменить оригинал для реального использования.
Виртуальный ПК имитирует ПК.

Симулятор - это модель для изучения и анализа.

Эмулятор всегда должен работать в режиме, близком к реальному времени. Для симулятора это не всегда так. Геологическое моделирование может длиться 1000 лет в секунду или больше.

336
ответ дан 22 November 2019 в 22:36
поделиться

Развитие между двумя терминами немного нечетко. Исходя из мира, где «эмуляторы» - это куски оборудования, которые позволяют отлаживать встроенные системы. И помните продукты, которые позволили вам иметь возможности ICE (в цепной эмуляции) для отладки платформы ПК, я нахожу использование термина «эмуляцию», чтобы быть несколько неправильно для программного обеспечения для программного обеспечения, который имитирует поведение куска оборудования.

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

Лед: (в цепной эмуляции) Кусок оборудования, подключенного к доске вместо фактического процессора. Это позволяет вам запустить систему так, как если бы фактический процессор присутствовал. Обычно они имеют вариант процессора на них, чтобы фактически выполнить программное обеспечение с помощью логики клея, чтобы позволить пользователю разбивать выполнение и один шаг под аппаратным управлением. Некоторые также обеспечивают возможности для ведения журнала. Большинство современных систем развития процессоров заменили эмуляцию типа льда с помощью эмуляции JTAG, где JTAG просто разговаривает с процессором через последовательную ссылку специального назначения, и все выполнение выполняется процессором, установленным на доске.

Эмулятор программного обеспечения: Эмулюлятор 0x86 обеспокоен только возможным выполнять язык сборки 0x86, не обеспечивая точный цикл на велосипедную модель поединовой модели определенного процессора 0x86. Bochs является примером этого. QEMU делает это, но также позволяет «виртуализацию» с использованием специальных модулей ядра.

Симулятор: Texas Instruments предоставляет цикл точное поведение по бдительности, которые там процессоры для разработки программного обеспечения, предназначенные для точного моделирования конкретных процессорных ядерных ядер для разработчиков для использования перед рабочей аппаратностью.

Эмулятор программного эмулятора Увеличивая функциональность: Bleem не только позволил вам запустить программное обеспечение PlayStation, но также позволило отображать вывод с более высоким разрешением, чем PlayStation смогла предоставить, а также воспользовался более продвинутым возможностями GPUS, которые были доступны. (то есть лучшее смешивание и сглаживание текстур.)

3
ответ дан 22 November 2019 в 22:36
поделиться
Другие вопросы по тегам:

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