Симулятор чи емулятор? Яка різниця?


522

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

Чи може хтось пояснити різницю в плані програмування?

Бонус: Яка різниця в англійській мові між цими двома термінами? (Вибачте, я не носій мови :))


3
У розробці мобільних додатків iPhone має тренажер, а Android - емулятор. Більше тут - stackoverflow.com/questions/4544588/…
Vishnu Haridas

1
Я виявив, що Вікіпедія сприймає цю інформацію: en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
AmigoNico,

це також може бути корисним для пояснення цього: programmers.stackexchange.com/questions/134746/…
Hakan Fıstık

Відповіді:


462

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

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

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

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

Flight Simulator - тренажер; SPICE - симулятор електроніки. Вони максимально моделюють кожну деталь цілі, щоб представити, що ціль робить насправді.

EDIT: Інші відповіді вказували на те, що мета емуляції - це можливість замінити об'єкт, який він емулює. Це важливий момент. Основна увага моделювання зосереджена на моделюванні внутрішнього стану цілі - і моделювання не обов'язково призводить до емуляції. Зокрема, моделювання може працювати набагато повільніше, ніж у реальному часі. SPICE, наприклад, не може замінити фактичну схему електроніки (навіть якщо припустити, що існував якийсь магічний пристрій, який ідеально інтерфейсує електричні ланцюги з імітацією SPICE.) Моделювання моделювання не завжди призводить до емуляції -


33
За цим визначенням, чи не можна моделювати реальний світ у програмному забезпеченні? Я не думаю, що ми можемо точно представити основний стан реального світу - лише наслідувати спостережувані властивості ... поки що.
Дельф

8
Я не згоден з цією "моделлю [Симуляції] якомога більше кожної деталі цілі, щоб представити, що ціль робить насправді". Моделювання мають модель цільової системи з достатньою деталізацією на основі мети моделювання. Наприклад, Flight Simulator, ймовірно, не моделює риб у морі, оскільки він марний для цілей моделювання.
Хамді

16
Як раз навпаки відповідь тут: stackoverflow.com/questions/2174638 / ...
smwikipedia

3
Здається, що більшість людей використовують ці слова інакше, як у: моделювання, як правило, відбувається на більш високому рівні, ніж емуляція (незважаючи на те, що обидва слова рідко використовуються разом у заданому контексті). Дивіться, наприклад, Android-емулятор проти Apple Simulator. Я пропоную переключити слова у цій відповіді, щоб залишатися узгодженими з більшістю визначень та не допускати плутанини для майбутніх відвідувачів.
авіатор

1
Я думаю, що ця відповідь змінила два терміни. Усі інші джерела пояснюють це як: симуляція = дублювання поведінки; емуляція = дублювання внутрішньої роботи. Це призводить до наступного висновку: вони обидва вигадливі СУБЕКТИВНІ терміни.
metalim

350

Якби симулятор польоту міг перевезти вас з пункту А до пункту В, це був би емулятор польоту.

Емулятор може замінити оригінал для реального використання.
Віртуальний ПК емулює ПК.

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

Емулятор завжди повинен працювати близько до реального часу. Для тренажера, що не завжди так. Геологічне моделювання може зайняти 1000 років / секунду і більше.


6
@Henk Ваш приклад "кабіни" є фантастичним, хоча я зрозумів це після того, як прочитав відповідь Toybuilder. Дякую :)
AraK

1
Віртуальний ПК не емулює, він віртуалізує. QEmu, з іншого боку, робить наслідувати. В обох випадках ім'я має бути підказкою.
Йорг W Міттаг

24
Я думаю, було б сміливо сказати, що Virtual PC емулює ПК. ЯК емулює ПК через віртуалізацію, але це детальніше про реалізацію. Ви можете стверджувати, що апаратна віртуалізація - це супернабір емуляції, що може забезпечити прискорену підтримку процесора, ексклюзивний доступ до апаратних пристроїв тощо.
Lee B

Зачекайте, чи не віртуальний ПК забезпечує репліку реального ПК 1: 1? (Я маю на увазі, віртуалізація системи в цілому повинна не тільки імітувати зовнішню поведінку, але й майже кожен куточок системи, на відміну від віртуалізації додатків, де, наприклад, мережевий стек не відтворений).
Каміло Мартін

1
Де я можу знайти згаданий емулятор польоту?
Джеррі Додж

175

Моделювання = Для аналізу та вивчення

Емуляція = Для використання в якості замінника

Симулятор - це середовище, яке моделює, але емулятор - це те, що повторює використання, як на оригінальному пристрої чи системі.

Симулятор імітує активність чогось, що імітує. Це "з'являється" (багато може пройти з цим "з'являється", залежно від контексту) бути таким же, як і імітація речі. Наприклад, тренажер польоту "видається" справжнім рейсом для користувача, хоча він не перевозить вас з одного місця в інше.

Емулятор, з іншого боку, насправді " робить " те, що робить емуляція, і, роблячи це, теж робить "те ж саме ". Емулятор може використовувати різний набір протоколів для імітації речі, що емулюється, але результат / результат завжди такий, як оригінальний об'єкт. Наприклад, EMU8086 емулює мікропроцесор 8086 на вашому комп'ютері, який, очевидно, не працює на 8086 (= різні протоколи ), але вихід, який він дає, - це те, що дасть справжній 8086.


9
Найясніша відповідь, яку я бачив. Для мене це можна покращити лише пропускаючи зайве речення або інтегруючи його у ваші чудові контрастні визначення :-D
тісто

40

Це різниця у фокусі. Емулятори 1 зосереджуються на відтворенні поведінки системи, не зважаючи на внутрішнє функціонування системи. Симулятори 2 фокусуються на моделюванні компонентів системи. Ви використовуєте емулятор, коли ви дбаєте про те, що робить система, і тренажер, коли ви дбаєте про те, як це робить.

Що стосується їх загальних англійських значень, то емуляція - це "прагнення дорівнювати чи перевершувати іншого за якістю чи діями ", а моделювання - " моделювати , копіювати, дублювати поведінку, зовнішній вигляд чи властивості". Не велика різниця. Емуляція походить від æmulus , "прагнення, суперництво" і пов'язана з "імітацією" та "зображенням", що говорить про поверхнево-важільну схожість. "Моделювання" походить від similis "like", як і слово "подібний", що, можливо, говорить про більш глибоке узгодження.

Список літератури:

  1. Вікіпедія: Емулятор
  2. Вікіпедія: Комп'ютерне моделювання
  3. Вікісловник: емуляція
  4. Вікісловник: моделювання
  5. Етимологія в Інтернеті: емуляція
  6. Етимологія в Інтернеті: моделювання

Ваша відповідь відрізняється від інших. Чи вірний вам віртуальний ПК імітатор чи емулятор?
Mikaël Mayer

@ MikaëlMayer: Багато відповідей відрізняються від інших, лише деякі схожі. Я вважаю, що моя відповідь є еквівалентною (оскільки речі будуть класифіковані так само), як Toybuilder і cdiggens's, і сумісна з Jörg's. Це суперечить лише Понту та Еолаю.
outis

@ MikaëlMayer Віртуальний ПК є емулятором. Він може робити все, що може зробити справжній ПК.
Користувач

1
@Pri Дивіться відповідь цієї теми стосовно Віртуального ПК. Це обоє, це залежить від точки зору. Наприклад, ви все ще можете сказати, що це симуляція, оскільки вона не може нагріватись як справжній комп'ютер.
Mikaël Mayer

Дякуємо, що повернулися @ MikaëlMayer, але якщо чесно, ми іноді насправді не можемо розрізнити, якщо система є емулятором чи тренажером. Починається хороший діапазон дебатів. Сподіваюся, я правий! Трохи випливає різниця на основі використання, її англійського значення, функціональності, доступності. Але коли я застосовую всі відповіді в своєму прикладі, це непроста річ
Користувач

19

Я не думаю, що емулятор та симулятор можна порівняти. Обидва щось імітують, але не є частиною однієї сфери міркувань, вони не використовуються в одному контексті.

Коротше кажучи: емулятор призначений для копіювання деяких особливостей органіальної форми і навіть може замінити її в реальному середовищі. Симулятор не призначений для копіювання функцій оригіналу, а лише для того, щоб бути схожим на оригінал для людини. Без особливостей оригіналу, тренажер не може замінити його в реальному середовищі.

Емулятор цей пристрій , яке імітує що - то досить близько , так що вона може бути замінена на реальну річ. Наприклад, ви хочете, щоб схема працювала як ланцюг ПЗУ (лише пам'ять для читання), але також бажає відрегулювати вміст, поки він не стане тим, що вам потрібно. Ви будете використовувати емулятор ПЗУ, чорну скриньку (швидше за все, на базі процесора) з фізичними та електричними інтерфейсами, сумісними з ПЗУ, який ви хочете емулювати. Емулятор буде підключений до пристрою замість справжнього ПЗУ. Материнська плата не побачить різниці під час роботи, але ви зможете легко змінити вміст емуляційного ПЗУ. В іншому випадку емулятор буде діяти саме як фактична річ у її материнській платі (можливо, трохи повільніше через фактичну внутрішню модель), але з'являться додаткові функції (наприклад, перезапис), видимі лише дизайнеру, поза контекстом материнської плати . Отже, визначення емулятора було б: те, що імітує оригінал, має всі його функціональні особливості,

Тренажер використовується в іншому контексті мислення, наприклад , плоский симулятор, симулятор автомобіля і т.д. Моделювання дбатиме тільки про яке - небудь аспекті фактичної речі, як правило, пов'язані з , як людина буде сприймати і контролювати його. Симулятор не буде виконувати функції справжнього матеріалу і не може бути замінений ним. Літак-симулятор не буде летіти чи перевозити когось, це зовсім не його призначення. Симулятор не призначений для роботи, а для того, щоб пілоту виглядати якось як реальна річ для цілей, відмінних від його звичайних, наприклад, щоб дозволити наземну підготовку (в тому числі у незвичних ситуаціях, таких як несправність мотора). Отже, визначення тренажера було б таким: щось, що може здатися людині, певною мірою, як оригінал, але не може замінити його для фактичного використання. Крім того, пілот буде знати, що тренажер є тренажером.

Я не думаю, що ми не побачимо жодного симулятора ПЗУ, оскільки ROM не взаємодіє з людьми, а також не будемо бачити будь-якого емулятора площин, оскільки літаки не можуть мати заміну, що виконує ті самі функції в реальному світі.

На мій погляд, модель всередині емулятора чи тренажера може бути будь-якою, і не повинна бути схожою на модель оригіналу. Модель емулятора ПЗУ, швидше за все, буде програмним забезпеченням замість апаратного, MS Flight Simulator не може бути більш програмним, ніж є.

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

Зауважте, що тренажеру літака доведеться також імітувати землю, сонце, вітер тощо, які не є частиною площини, тому імітатор площини повинен буде імітувати деякі аспекти площини, а також оточення літак, оскільки використовується не в цьому реальному середовищі, а в навчальній кімнаті.

Це велика різниця в емуляторі, який емулює лише первісне, а його призначення - використовувати в середовищі оригіналу без необхідності емулювати його. Повернутися до контексту площини ... що може бути емулятором площини? Можливо поїзд, який з'єднає два аеропорти - насправді два кроки літака - перевозять пасажирів, на борту стюардес, з салоном автомобіля, схожим на справжню кабіну літака, і капітан каже: "Пані та панове, наша висота - 10 км і температура. в нашому пункті призначення 24 ° C ". Його користь важко помітити, гум ...

Як висновок, емулятор - це реальна річ, призначена для роботи, тренажер - це підробка, призначена для того, щоб обдурити користувача.


1
Фраза "емулятор ПЗУ" нагадує мені консолі віртуальних відеоігор.
Джо З.

11

Просте пояснення.

Якщо ви хочете перетворити свій комп'ютер (під керуванням Windows) в Mac, ви можете виконати будь-яке з цих дій:

(1) Ви можете просто встановити тему Mac на вашу Windows. Отже, ваш ПК більше схожий на Mac, але ви фактично не можете запускати жодну програму Mac.(SIMULATION)

(або)

(2) Ви можете запрограмувати ваш комп'ютер працювати як Mac (я не впевнений, чи можливо це: P). Тепер ви навіть можете успішно запускати програми Mac і очікувати того ж виходу, що і на Mac.(EMULATION)

У першому випадку ви можете скористатися Mac, але ви не можете очікувати такого ж виходу, як на Mac.
У другому випадку можна очікувати того ж виходу, що і на Mac, але все ж факт залишається фактом, що це лише ПК.


3
Це і просто, і зовсім неправильно. (2) близький до емуляції, але (1) не є ні емуляцією, ні симуляцією.
Нік Бастін

10

Щоб зрозуміти різницю між тренажером та емулятором, пам’ятайте, що тренажер намагається імітувати поведінку реального пристрою. Наприклад, у випадку з iOS Simulator, він імітує реальну поведінку фактичного пристрою iPhone / iPad. Однак сам Simulator використовує різні бібліотеки, встановлені на Mac (наприклад, QuickTime), щоб виконати його візуалізацію, щоб ефект виглядав так само, як і фактичний iPhone. Крім того, програми, протестовані на Simulator, компілюються в код x86, що є байт-кодом, зрозумілим Simulator. Справжній пристрій iPhone, навпаки, використовує код на основі ARM.

На відміну від цього, емулятор емулює роботу справжнього пристрою. Програми, перевірені на емуляторі, збираються у фактичний байт-код, використовуваний реальним пристроєм. Емулятор виконує додаток шляхом перекладу байт-коду у форму, яку може виконати хост-комп'ютер, на якому працює емулятор.

Щоб зрозуміти тонку різницю між імітацією та емуляцією, уявіть, що ви намагаєтесь переконати дитину, що грати ножами небезпечно. Щоб імітувати це, ти робиш вигляд, що ріжеш себе ножем і стогнеш від болю. Щоб наслідувати це, ви насправді вирізали себе.


7
Не спробуйте цього вдома діти: D
Gearoid Мерфі

9

Емулятор - це модель системи, яка прийме будь-який дійсний вхід, який би прийняла емульована система, і дасть той же вихід або результат. Таким чином, ваше програмне забезпечення є емулятором, лише якщо воно точно відтворює поведінку емульованої системи.


Дякую. Я думаю, що це дуже точне визначення Емуляції. Так, наприклад, Wine є симулятором, оскільки він не обов'язково дає той самий точний вихід, визначений в Windows?
AraK

6
Будьте обережні, намагаючись взути ВІН у / або в емулятор чи тренажер. WINE - це рівень сумісності, який робить бінарні файли з однієї системи запущеними на бінарному шарі API іншої системи. Ви можете назвати це адаптером. Я думаю, що тренажер не є поганим способом зрозуміти це, але він насправді не набагато ближче, ніж емулятор.
Лі Б

ВИНО - це емуляція, в цьому спектрі. Зовнішній вигляд має посилання на бінарні файли Windows, але якби ви зверталися до внутрішніх даних, ви нічого б не дізналися про Windows.
Нік Бастін

9

Деякі роки тому я придумав дуже коротку приказку, яка, я вважаю, досить добре фіксує суть різниці:

Симулятор - емулятор місії.

Під цим я маю на увазі, що ви використовуєте емулятор, коли не можете використовувати реальну річ, а ви використовуєте тренажер, коли не можете використовувати реальну річ, і хочете щось про неї дізнатися .


8

Більш-менш нормальною мовою: Якщо ваше програмне забезпечення може робити все, що наслідує система, це емулятор. Якщо він лише наближає результати системи (ІТ чи іншим чином), це симулятор.


5

Симулятор: він схожий на перекладача. тобто він фактично виконує реальний код по черзі, щоб імітувати поведінку

Емулятор: він подібний до виконання. тобто він бере складений код і виконує його.


4

Емулятор є альтернативою реальній системі, але симулятор використовується для оптимізації, розуміння та оцінки реальної системи.


3

Відмінність двох термінів трохи нечітке. Походить із світу, де "Емулятори" - це обладнання, яке дозволяє налагоджувати вбудовані системи. І пам’ятайте про продукти, які дозволили вам налагодити ICE (In Circuit Emulation) для налагодження платформи ПК, я вважаю, що використання терміна «Емуляція» є дещо помилковим для програмного забезпечення, яке СІМУЛЯЄ поведінку обладнання.

Моє обґрунтування поточного використання терміна "Емуляція" полягає в тому, що він може "розширити" функціональність і стосується лише "розумного" наближення поведінки системи.

ДВС: (Емуляція ланцюга) Частина обладнання, яке підключено до плати замість фактичного процесора. Це дозволяє запускати систему так, як ніби був присутній власне процесор. Зазвичай у них є варіант процесора, який фактично виконує програмне забезпечення з логікою клею, що дозволяє користувачеві перервати виконання та один крок під апаратним контролем. Деякі також забезпечать можливість ведення журналу. Більшість сучасних систем розвитку процесорів замінюють емуляцію типу ICE на JTAG Emulation, де JTAG просто спілкується з процесором за допомогою послідовного посилання спеціального призначення, а все виконання виконується процесором, встановленим на платі.

Програмний ЕМУЛЯТОР: Емулятор 0x86 пов'язаний лише з можливістю виконувати мову складання 0x86, не забезпечуючи точної поведінкової моделі циклу процесора SPECIFIC 0x86. Приклад цього - Бохс. QEMU робить це, але також дозволяє "віртуалізувати" за допомогою спеціальних модулів ядра.

SIMULATOR: Texas Instruments надає поведінкову модель процесорів CYCLE ACCURATE для процесорів розробки програмного забезпечення, яка призначена для точної МОДЕЛЮВАННЯ СПЕЦИФІЧНОГО поведінки процесорних ядер для розробників, які використовуються до того, як працюватиме апаратне забезпечення.

Функціональні можливості для розширення програмного забезпечення EMULATOR: BLEEM не тільки дозволив вам запускати програмне забезпечення Playstation, але й дозволяв виводити дисплей з більш високою роздільною здатністю, ніж міг надати Playstation, а також скористався більш досконалими можливостями GPU, які були доступні. (тобто краще змішування та розгладження текстур.)


3

Обидві є моделями об'єкта, з якого ви маєте певні засоби керування входами та спостереження за результатами.

Ключова відмінність полягає в тому, що:

  • За допомогою емулятора ви хочете, щоб висновок точно відповідав тому, що створював би об'єкт, який ви емулюєте.
  • За допомогою симулятора ви хочете, щоб певні властивості вашого результату були подібними до того, який об'єкт створював би.

Дозвольте навести приклад - припустимо, ви хочете провести тестування системи, щоб побачити, як додавання нового датчика (наприклад, термометра) до системи вплине на систему. Ви знаєте, що термометр посилає повідомлення 8 разів в секунду, що містить його вимірювання.

Моделювання - якщо у вас ще немає термометра, але ви хочете перевірити, що ця швидкість повідомлення не перевантажить вашу систему, ви можете імітувати датчик, приєднавши одиницю, яка відправляє випадкове число 8 разів на секунду. Ви можете запустити будь-який тест, який не покладається на фактичне значення, яке надсилає датчик.

Емуляція - припустимо, у вас дуже дорогий термометр, який вимірює 0,001 C, і ви хочете побачити, чи зможете ви проїхати за допомогою дешевшого термометра, який вимірюється лише до 0,5 С. ​​Ви можете емуляцію дешевшого термометра, використовуючи дорогий термометр і потім округлення показань до найближчого 0,5 C та запуску тестів, які залежать від значень температури.

Зауважте, що моделювання також може використовуватися для прогнозування чи прогнозування поведінки. Моделювання аналізу кінцевих елементів використовується у багатьох програмах, включаючи прогнозування погоди та віртуальні вітроенергетичні труби.

Визначення термінів:

  • емуляція - перевершує або точно збігається
  • імітувати - наслідувати на вигляд чи характер

Примітка - це дуже схоже на відповідь на запитання, яке було позначене як дублікат цього ( stackoverflow.com/questions/2174638/… ). Я додав визначення термінів (просив у запитанні, але ще не відповів), а також додав інформацію про використання для моделювання (аналіз кінцевих елементів) для чогось більшого, ніж імітування пристрою.
Джей Елстон

2

На це питання, мабуть, найкраще відповісти, поглянувши на історичну практику.

У минулому я бачив емулятори ігрових консолей на ПК для PlayStation & SEGA.

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

Що стосується мовної різниці, то емуляція зазвичай стосується дії копіювання чиїхось (або чогось) похвальних характеристик чи поведінки. Емуляція відрізняється від наслідування, в якій людина копіюється з метою глузування.

Лінгвістичне значення дієслова ‘імітація’ по суті полягає у тому, щоб прикидатися чи імітувати когось чи щось.


2

В інформатиці і симуляція, і емуляція дають ті самі виходи з тих же входів, що і оригінальна система; Однак емуляція також використовує ті самі процеси, щоб досягти її, і робиться з тих самих матеріалів . Моделювання використовує різні процеси від вихідної системи. Також варто відзначити термін реплікації, який є проміжним з двох - з використанням одних і тих же процесів, але виготовлених з іншого матеріалу.

Отже, якщо я хочу запустити на своєму ПК стару гру Super Mario Bros, я використовую емулятор SNES , тому що для запуску гри використовується той самий або подібний комп'ютерний код (процеси), і використовуються ті самі чи подібні матеріали (кремнійчиковий чіп) . Однак, якщо я хочу літати на моєму ПК реактивним літаком Boeing 747, я використовую тренажер польоту, оскільки він використовує зовсім інші процеси від оригіналу (фактичних крил, підйомника чи аеродинаміки немає).

Ось точні визначення, взяті з словника інформатики:

Моделювання - це модель системи, яка фіксує функціональні зв'язки між входами та виходами системи, але не обов'язково базуватися на процесах, таких самих або подібних процесам самої системи.

Реплікація - це модель системи, яка фіксує функціональні зв'язки між входами та виходами системи і базується на процесах, таких самих або подібних процесам самої системи.

Емуляція - це модель деякої системи, яка фіксує функціональні зв'язки між входами та виходами системи, засновані на процесах, які є такими ж, або схожими з тими на тій системі, і які побудовані з тих же матеріалів, що і ця система .

Довідка: Відкритий університет, М366 Словник 1.1, 2007


2

Симуляція - це система, яка поводиться схоже на щось інше, але реалізується абсолютно по-іншому. Він забезпечує основну поведінку системи, але може не обов'язково дотримуватися всіх правил модельованої системи. Саме там можна дати вам уявлення про те, як щось працює.

Емуляція - це система, яка поводиться точно так, як щось інше, і дотримується всіх правил емуляції системи. Це фактично повна реплікація іншої системи, аж до того, що вона є бінарною сумісною з входами та виходами емульованої системи, але працює в іншому середовищі до вихідної емульованої системи. Правила виправлені і не можуть бути змінені або система виходить з ладу.


2

Визначення слів найкраще описують різницю. Пошук у Google дає такі визначення імітації та емуляції:

імітують імітацію зовнішності чи характеру.

емуляція відповідності або перевершення (людина чи досягнення), як правило, шляхом наслідування.

Моделювання імітує систему. Емуляція настільки добре імітує систему, що вона може її замінити або навіть перевершити.

Під час обчислень емуляція буде краплею заміни системи, яку вона емулює. Часто вона навіть перевершує систему, яку вона наслідує. Наприклад, емулятори ігрової консолі зазвичай вдосконалюють такі можливості, як сумісність обладнання, краща продуктивність та поліпшена якість аудіо / відео.

З іншого боку, симуляції обмежені тим, що вони є моделями. Вони є найкращою спробою імітувати систему, але не замінюють її. Є апаратні емулятори, тому що апаратне забезпечення можна імітувати, і різко було б сказати різницю. Не існує Емулятора землеробства, оскільки немає емуляції, яка могла б замінити фактичне ведення господарства. Ми можемо лише імітувати модель ведення господарства, щоб зрозуміти, як краще вести господарство.


1

Віртуальний ПК намагається наслідувати Комп’ютер, з точки зору програміста, але в той же час він імітує Комп'ютер з точки зору інженера-електрика .


0

Емулятор:

Розглянемо ситуацію, що ти знаєш лише англійську мову і ти в Китаї. Для спілкування з китайською людиною вам потрібен перекладач. Тепер, роль перекладача полягає в тому, що він буде шукати введення від вас англійською мовою та перекладати на китайську мову, а також надавати цей вклад китайській особі та отримувати відповідь від китайської особи та перетворювати на англійську мову та надавати висновок вам англійською мовою. Тепер цей перекладач і китайська людина є емулятором. Обидва комбайни забезпечуватимуть аналогічні функції, як якщо б ви спілкувались з англійською людиною. Таким чином, обладнання може бути різним, але функціональність буде однаковою.

Симулятор:

Я не можу навести кращого прикладу, ніж SPICE чи симулятор польоту. Обидва замінять поведінку апаратних компонентів програмним забезпеченням або математичною моделлю, яка буде поводитися аналогічно апаратній.

Зрештою, це залежить від контексту, яке рішення краще відповідає потребам проекту.


0

Симулятор - щось більш широке, ніж Емулятор, і здається, що подвійність цих термінів переосмислена у публікаціях, що були вище.

Емулятор

Люди вирішили використовувати нову емуляцію слів у "комп'ютерному світі", коли вони почали прямо замінювати деякі апаратні частини існуючої системи - імітуючи свою поведінку та покладаючись на обчислювальну природу, щоб переконатися, що щось не зламають і залишають усе в еквівалентний стан. Отже ми наслідували частинку цього! (і все ще працює, як і раніше)

Емулятор зазвичай використовується у вузькому розумінні в цифровій області як заміна і віртуалізація - представляючи в цифровій формі як фрагмент програмного забезпечення - чогось відомого і існувало раніше (віртуальні мікросхеми, плати, електронні пристрої). Тож, коли світ став більш цифровим і довів слово емулятора до маси, маси додали йому невизначеність (або додаткові причини).

Симулятор

Перш за все, я побачив багато коментарів щодо емуляторів, які роблять або замінюють щось справжнє, але тренажери ні.

АЛЕ тренажер польоту використовується для справжньої речі - він готує пілотів, надає їм навичок та знань, а це замінює справжні реальні літаки та економить багато грошей. І ми не можемо просто сказати емулятор площини, тому що ми маємо внутрішнє відчуття, що це набагато більше того, тому ми називаємо це тренажером :) Лінійний тренажер міг би містити емуляційний радіолокатор або транспондер, що правда.

Контрастні твердження про те, що тренажери використовуються для аналізу та вивчення (і емуляторів для чогось реального), але аналіз та вивчення не менш реальної речі, ніж емульовані плати GSM (навіть більше в епоху інформації, в якій ми живемо). Аналіз додає цінності бізнесу, скорочує витрати або вказує на прибуток не менше, ніж замінене (емульоване) обладнання.

Симулятор подібний до моделювання чогось, чого ми не можемо отримати з якоїсь причини (вартість, технологія, фізична неможливість). Зазвичай він моделюється для чогось нового, нематеріального чи складного або невідомо нам належним чином, як ринок, погода, спалювання, користувач. Тож ось приходить політ, чорна діра, біржа, симуляції.

Отже, нарешті:

  1. Симулятор ширший, ніж Емулятор
  2. Симулятор, як правило, імітує / моделює більш глобальні процеси / речі загалом із можливістю звуження імітації вниз (наприклад, конденсаторний симулятор з пресетами, що представляють деякі відомі моделі)
  3. Емулятор, як правило, імітує певні апаратні пристрої з певними специфікаціями, відомими характеристиками та властивостями (наприклад, емулятор SNES, Intel 8087 або Roland TB-303)

Що стосується походження слів

Усі прийшли з латини та означають:

  • емуляція - це "бути рівним" (виглядає більш агресивно і прямо - суперництво)
  • імітувати - "бути схожим" (виглядає як хитріше і хитріше - наслідування)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.