시뮬레이터 또는 에뮬레이터? 차이점은 무엇입니까?


522

시뮬레이션과 에뮬레이션이 일반적으로 무엇을 의미하는지 이해하지만 거의 항상 혼란스러워합니다. 기존 하드웨어 / 소프트웨어를 모방 한 소프트웨어를 작성한다고 가정하면 무엇을 호출해야합니까? 시뮬레이터 또는 에뮬레이터?

프로그래밍 측면에서 차이점을 설명 할 수 있습니까?

보너스 :이 두 용어의 영어 차이는 무엇입니까? (죄송합니다, 저는 원어민이 아닙니다 :)


3
모바일 앱 개발에서 iPhone에는 시뮬레이터가 있고 Android에는 에뮬레이터가 있습니다. 자세한 내용은 여기 - stackoverflow.com/questions/4544588/...
비슈누 Haridas

1
:이 정보에 대한 위키 백과의 포획 발견 en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
AmigoNico

답변:


462

에뮬레이션은 기존 대상과 일치하도록 외적으로 관찰 가능한 동작을 모방하는 프로세스입니다. 에뮬레이션 메커니즘의 내부 상태는 에뮬레이션하는 대상의 내부 상태를 정확하게 반영하지 않아도됩니다.

반면에 시뮬레이션은 대상의 기본 상태를 모델링합니다. 좋은 시뮬레이션의 최종 결과는 시뮬레이션 모델이 시뮬레이션중인 대상을 에뮬레이트한다는 것입니다.

이상적으로는 시뮬레이션을 조사하고 원래 대상을 조사했을 때 볼 수있는 특성을 관찰 할 수 있어야합니다. 실제로 성능상의 이유로 시뮬레이션에 대한 바로 가기가있을 수 있습니다. 즉, 시뮬레이션의 일부 내부 측면이 실제로 에뮬레이션 일 수 있습니다.

MAME는 아케이드 게임 에뮬레이터입니다. 하이퍼 터미널은 좋지 않은 터미널 에뮬레이터입니다. 원하는 에뮬레이션 동작을 얻기 위해 아케이드 머신이나 터미널을 자세하게 모델링 할 필요가 없습니다.

비행 시뮬레이터는 시뮬레이터입니다. SPICE는 전자 시뮬레이터입니다. 대상의 실제 세부 사항을 나타 내기 위해 대상의 모든 세부 사항을 최대한 모델링합니다.

편집 : 다른 응답은 에뮬레이션의 목표가 에뮬레이션하는 객체를 대체 할 수 있다고 지적했습니다. 그것은 중요한 포인트입니다. 시뮬레이션의 초점은 대상의 내부 상태 모델링에 더 중점을두고 시뮬레이션이 반드시 에뮬레이션으로 이어지지는 않습니다. 특히 시뮬레이션은 실시간보다 훨씬 느리게 실행될 수 있습니다. 예를 들어, SPICE는 실제 전자 회로를 대체 할 수 없습니다 (SPICE 시뮬레이션에 전기 회로를 완벽하게 연결하는 마법 장치가 있다고 가정하더라도) 시뮬레이션 시뮬레이션이 항상 에뮬레이션으로 이어지는 것은 아닙니다.


33
이 정의에 따르면 소프트웨어에서 실제 세계 를 시뮬레이션 하는 것이 불가능 합니까? 나는 우리가 현실 세계의 기본 상태를 정확하게 표현할 수 없다고 생각합니다.
Dolph

8
저는 "[시뮬레이션] 모델에 목표의 실제 세부 사항을 나타내는 목표의 모든 세부 사항까지 가능한 한 동의하지 않습니다 ." 시뮬레이션은 시뮬레이션의 목적에 따라 충분한 세부 사항을 가진 대상 시스템의 모델을 갖습니다. 예를 들어 Flight Simulator는 시뮬레이션 목적으로 쓸모가 없기 때문에 바다에서 물고기를 모델링하지 않을 수 있습니다.
Hamdi

16
여기에 정확히 반대의 대답 : stackoverflow.com/questions/2174638/...
smwikipedia

3
대부분의 사람들은 다음과 같이이 단어들을 다른 방식으로 사용하는 것 같습니다 : 시뮬레이션은 일반적으로 에뮬레이션보다 더 높은 수준에서 발생합니다 (두 단어가 주어진 맥락에서 거의 사용되지는 않지만). 예를 들어 Android 에뮬레이터와 Apple의 Simulator를 참조하십시오. 나는 대부분의 정의와 일관성을 유지하고 미래의 방문자들에게 혼란을 피하기 위해이 답변의 단어를 바꾸는 것을 제안합니다.
비행가

1
이 답변이 두 용어를 바꾸 었다고 생각합니다. 다른 모든 출처는 다음과 같이 설명합니다. 시뮬레이션 = 복제 동작; 에뮬레이션 = 내부 작업 복제. 이는 다음과 같은 결론으로 ​​이어집니다.
metalim

350

비행 시뮬레이션자가 A에서 B로 당신을 운송 할 수 있다면 비행 에뮬레이터가됩니다.

에뮬레이터는 실제 사용을 위해 원본을 대체 할 수 있습니다.
가상 PC는 PC를 에뮬레이트합니다.

시뮬레이터는 연구 및 분석을위한 모델입니다.

에뮬레이터는 항상 실시간에 가깝게 작동해야합니다. 항상 그런 것은 아닌 시뮬레이터의 경우. 지질 시뮬레이션은 1000 년 / 초 이상을 수행 할 수 있습니다.


6
@Henk Toybuilder의 답변을 읽은 후 이해했지만 "조종석"예제는 환상적입니다. 감사합니다 :)
AraK

1
가상 PC 에뮬레이션 하지 않고 가상화합니다. 반면에 QEmu 에뮬레이션합니다. 두 경우 모두 이름은 힌트 여야합니다.
Jörg W Mittag

24
가상 PC가 PC를 에뮬레이트한다고 말하는 것이 안전하다고 생각합니다. 가상화를 통해 PC를 에뮬레이트하는 방법은 구현 세부 사항에 가깝습니다. 하드웨어 가상화가 가속화 된 CPU 지원, 독점 하드웨어 장치 액세스 등을 제공 할 수있는 에뮬레이션의 수퍼 세트라고 주장 할 수 있습니다.
Lee B

잠깐, 가상 PC는 실제 PC의 거의 1 : 1 복제본을 제공하지 않습니까? 즉, 일반적으로 시스템 가상화는 네트워크 스택을 다시 만들지 않는 응용 프로그램 가상화와 달리 외부 동작을 시뮬레이션 할뿐만 아니라 시스템의 구석 구석까지 거의 모방해야합니다.
Camilo Martin

1
비행 에뮬레이터는 어디에서 찾을 수 있습니까?
Jerry Dodge

175

시뮬레이션 = 분석연구

에뮬레이션 = 대체품으로 사용

시뮬레이터는 모델링하는 환경이지만 에뮬레이터는 원래 장치 나 시스템에서와 같이 사용을 복제하는 환경입니다.

시뮬레이터는 시뮬레이션하는 무언가의 활동을 모방합니다. 시뮬레이션되는 것과 동일하게 "나타납니다"(상황에 따라이 "나타납니다"와 함께 갈 수 있습니다). 예를 들어, 비행 시뮬레이터는 사용자를 한 곳에서 다른 곳으로 이동 시키지는 않지만 사용자에게 실제 비행 인 것으로 나타납니다.

에뮬레이터, 다른 한편으로는, 실제로 " 하지 " 무슨 일이 에뮬레이션하여 수행하고, 너무 "이 과정에서 나타납니다이 같은 일을 할 수 ". 에뮬레이터는 에뮬레이션되는 것을 흉내 내기 위해 다른 프로토콜 세트를 사용할 수 있지만 결과 / 결과는 항상 원본 객체와 동일합니다. 예를 들어, EMU8086은 컴퓨터에서 8086 마이크로 프로세서를 에뮬레이트합니다.이 프로세서는 8086 (= 다른 프로토콜 )에서 실행되고 있지 않지만 실제로 제공되는 출력은 실제 8086이 제공하는 것입니다.


9
내가 본 가장 명확한 대답. 나를 위해, 여분의 문장을 생략하거나 그것을 당신의 훌륭한 대조적 정의에 통합함으로써 만 향상 될 수 있습니다 :-D
doughgle

40

초점의 차이입니다. 에뮬레이터 1 은 시스템의 내부 작동 방식에 관계없이 시스템의 동작을 재현하는 데 중점을 둡니다. 시뮬레이터 2 는 시스템 구성 요소 모델링에 중점을 둡니다. 시스템이 주로하는 일에 관심이있을 때는 에뮬레이터를 사용하고 어떻게 하는가에 관심이있을 때는 시뮬레이터를 사용합니다.

일반적인 영어의 의미에 관해서는 에뮬레이션은 "질이나 행동 에서 다른 것을 동등하게하거나 능가하려는 노력 "이지만, 시뮬레이션은 " 의 행동, 모양 또는 속성 을 모델링 , 복제, 복제"하는 것입니다. 큰 차이는 없습니다. 에뮬레이션은 " 스트라이 빙 , 라이벌 링", mulul 으로부터 온 것이며 , 표면 레버 유사성을 나타내는 "모방"및 "이미지"와 관련이 있습니다. "시뮬레이션"에서 유래 similis "등"으로, 아마도 깊은 적합성을 제안한다 "유사"라는 단어를 않습니다.

참고 문헌 :

  1. 위키 백과 : 에뮬레이터
  2. 위키 백과 : 컴퓨터 시뮬레이션
  3. 위키 낱말 사전 : 에뮬레이션
  4. 위키 낱말 사전 : 시뮬레이션
  5. 온라인 어원 : 에뮬레이션
  6. 어원 온라인 : 시뮬레이션

당신의 대답은 다른 사람들과 다릅니다. 가상 PC는 시뮬레이터 또는 에뮬레이터입니까?
Mikaël Mayer

@ MikaëlMayer : 많은 답변이 다른 답변과 다릅니다. 내 답변은 Toybuilder 및 cdiggens와 동일하고 Jörg와 호환되는 것으로 간주됩니다. Pontus와 Aeolai와는 반대입니다.
outis

@ MikaëlMayer 가상 PC는 에뮬레이터입니다. 실제 PC가 할 수있는 모든 것을 할 수 있습니다.
사용자 :

1
@Pri Virtual PC에 관한이 글의 답을보십시오. 그것은 둘 다입니다. 그것은 관점에 달려 있습니다. 예를 들어 실제 컴퓨터처럼 가열 할 수 없기 때문에 시뮬레이션이라고 말할 수 있습니다.
Mikaël Mayer

@ MikaëlMayer를 다시 방문해 주셔서 감사하지만 솔직히 말하면 시스템이 에뮬레이터 또는 시뮬레이터인지 실제로 구별 할 수없는 경우가 있습니다. 광범위한 토론이 시작됩니다. 희망이 맞아요! 사용법, 영어의 의미, 기능성, 경제성에 따라 차이를 도출하는 사람은 거의 없습니다. 그러나 사례 연구에 모든 답변을 적용 할 때 쉽지 않은 일
사용자

19

에뮬레이터와 시뮬레이터를 비교할 수 있다고 생각하지 않습니다. 둘 다 무언가를 모방하지만 같은 추론의 범위에 속하지는 않으며 같은 맥락에서 사용되지 않습니다.

간단히 말해서 에뮬레이터는 원래의 일부 기능을 복사하도록 설계되었으며 실제 환경에서이를 대체 할 수도 있습니다. 시뮬레이터는 원본의 특징을 복사하도록 설계되지 않았지만 원본과 인간과 유사하게 보일뿐입니다. 원래의 기능이 없으면 시뮬레이터는 실제 환경에서이를 대체 할 수 없습니다.

에뮬레이터는 충분히 그래서이있는 장치를 모방 뭔가에 가까운 진짜를 대체 할 수 있습니다. 예를 들어 회로가 ROM (읽기 전용 메모리) 회로처럼 작동하기를 원하지만 원하는 내용이 될 때까지 내용을 조정하려고합니다. 에뮬레이션하려는 ROM과 호환되는 물리적 및 전기 인터페이스가있는 블랙 박스 (CPU 기반 일 가능성이있는) 인 ROM 에뮬레이터를 사용합니다. 에뮬레이터는 실제 ROM 대신 장치에 연결됩니다. 작업 할 때 마더 보드에는 아무런 차이가 없지만 에뮬레이트 된 ROM 내용을 쉽게 변경할 수 있습니다. 그렇지 않으면 에뮬레이터는 마더 보드 컨텍스트에서 실제와 정확히 동일하게 작동하지만 (실제 내부 모델로 인해 약간 느려질 수 있음) 마더 보드 컨텍스트에서 디자이너에게만 추가 기능 (재 작성과 같은) 만 표시됩니다. . 에뮬레이터 정의는 원본을 모방 한 것으로서 모든 기능적 특징을 가지고 있습니다.

시뮬레이터 , 다른 생각 컨텍스트에서 예를 들어 비행기 시뮬레이터, 자동차 시뮬레이터 등 시뮬레이션은 일반적으로 그와 관련된 실제 물건의 일부 측면, 처리됩니다 사용되는 인간의 존재가 인식하고이를 제어하는 방법을. 시뮬레이터는 실제 물건의 기능을 수행하지 않으며, 자살 할 수 없습니다. 비행기 시뮬레이터는 비행하거나 누군가를 운반하지 않으며, 그 목적이 아닙니다. 시뮬레이터는 작동하도록 의도 된 것이 아니라 지상 훈련을 허용하는 등의 일반적인 목적 이외의 목적을 위해 조종사에게 실제 상황과 비슷하게 보이도록하는 것입니다 (예 : 모든 엔진 고장과 같은 비정상적인 상황 포함). 따라서 시뮬레이터의 정의는 사람에게 보일 수 있고 원래처럼 확장 될 수 있지만 실제 사용을 위해 대체 할 수없는 것입니다. 또한 조종사는 시뮬레이터가 시뮬레이터임을 알게됩니다.

나는 ROM이 인간과 상호 작용하지 않기 때문에 어떤 ROM 시뮬레이터도 볼 수 없다고 생각하지 않으며, 비행기는 실제 세계에서 동일한 기능을 수행하는 대체품을 가질 수 없기 때문에 평면 에뮬레이터를 볼 수 없습니다.

내 관점에서 에뮬레이터 또는 시뮬레이터 내부의 모델은 무엇이든 될 수 있으며 원본의 모델과 유사하지 않아야합니다. ROM 에뮬레이터 모델은 하드웨어 대신 소프트웨어 일 수 있으며 MS Flight Simulator는 소프트웨어보다 더 많은 소프트웨어를 사용할 수 없습니다.

이 두 용어의 비교는 내부 모델에 차이를 두는 현재 선택된 답변 (Toybuilder에서)과 모순되며, 그 차이는 실제 세계에서 가짜가 실제 기능을 수행하는 데 사용할 수 있는지 여부입니다 ( 실제로 수용 된 확장까지).

비행기 시뮬레이터는 비행기의 일부가 아닌 지구, 태양, 바람 등을 시뮬레이션해야하므로 비행기 시뮬레이터는 비행기의 환경뿐만 아니라 비행기의 일부 측면을 모방해야합니다. 비행기는 실제 환경이 아니라 훈련실에서 사용되기 때문입니다.

이것은 원래의 것을 에뮬레이션하는 에뮬레이터와의 큰 차이이며, 그 목적은 에뮬레이션 할 필요없이 원본의 환경에서 사용하는 것입니다. 비행기 상황으로 돌아가서 ... 비행기 에뮬레이터는 무엇입니까? 아마 2 개의 공항을 연결하는 기차 (실제로는 2 개의 비행기 계단)-승객을 실어 탑승하는 승무원, 실제 비행기 객실처럼 보이는 차 내부, 그리고 "숙녀 여러분, 우리의 고도는 10km에 달하는 온도입니다" 우리의 목적지에 24 ° C "입니다. 그 혜택은보기가 어렵습니다.

결론적으로, 에뮬레이터는 실제로 작동하도록 고안되었으며 시뮬레이터는 사용자를 속이려는 가짜입니다.


1
"ROM 에뮬레이터"라는 문구는 가상 비디오 게임 콘솔을 떠올리게합니다.
Joe Z.

11

간단한 설명.

PC (Windows 실행)를 Mac으로 변환하려면 다음 중 하나를 수행하십시오.

(1) Windows에 Mac 테마를 간단히 설치할 수 있습니다. 따라서 PC는 Mac처럼 느껴지지만 실제로는 Mac 프로그램을 실행할 수 없습니다.(SIMULATION)

(또는)

(2) PC가 Mac처럼 실행되도록 프로그래밍 할 수 있습니다 (가능한지 확실하지 않습니다 : P). 이제 Mac 프로그램을 성공적으로 실행할 수 있으며 Mac에서와 동일한 출력을 기대할 수 있습니다.(EMULATION)

첫 번째 경우 Mac을 경험할 수 있지만 Mac과 동일한 출력을 기대할 수는 없습니다.
두 번째 경우에는 Mac에서와 동일한 출력을 기대할 수 있지만 여전히 PC 일뿐입니다.


3
이것은 간단하고 완전히 잘못되었습니다. (2) 에뮬레이션에 가깝지만 (1) 에뮬레이션도 시뮬레이션도 아닙니다.
Nick Bastin

10

시뮬레이터와 에뮬레이터의 차이점을 이해하려면 시뮬레이터가 실제 장치의 동작을 모방하려고합니다. 예를 들어, iOS 시뮬레이터의 경우 실제 iPhone / iPad 장치의 실제 동작을 시뮬레이션합니다. 그러나 시뮬레이터 자체는 Mac에 설치된 다양한 라이브러리 (예 : QuickTime)를 사용하여 렌더링을 수행하므로 효과가 실제 iPhone과 동일하게 보입니다. 또한 시뮬레이터에서 테스트 된 응용 프로그램은 x86 코드로 컴파일되며 이는 시뮬레이터가 이해하는 바이트 코드입니다. 반대로 실제 iPhone 장치는 ARM 기반 코드를 사용합니다.

반대로 에뮬레이터는 실제 장치의 작동을 에뮬레이트합니다. 에뮬레이터에서 테스트 된 응용 프로그램은 실제 장치에서 사용되는 실제 바이트 코드로 컴파일됩니다. 에뮬레이터는 바이트 코드를 에뮬레이터를 실행하는 호스트 컴퓨터에서 실행할 수있는 형식으로 변환하여 응용 프로그램을 실행합니다.

시뮬레이션과 에뮬레이션의 미묘한 차이를 이해하기 위해 어린이가 나이프를 가지고 노는 것이 위험하다는 것을 설득하려고한다고 상상해보십시오. 이것을 시뮬레이트하기 위해, 당신은 칼로 자신을 자르고 고통에 신음하는 척합니다. 이것을 모방하기 위해 실제로 자신을 자릅니다.


7
가정에서 이것을 시도하지 마십시오 : D
Gearoid Murphy

9

에뮬레이터는 에뮬레이트 된 시스템이 받아 들일 수있는 유효한 입력을 받아들이고 동일한 출력 또는 결과를 생성하는 시스템 모델입니다. 따라서 소프트웨어는 에뮬레이션 된 시스템 의 동작 을 정확하게 재현하는 경우에만 에뮬레이터 입니다.


감사. 이것이 에뮬레이션의 매우 정확한 정의라고 생각합니다. 예를 들어, Wine은 Windows에서 정의 된 것과 동일한 정확한 출력을 제공하지 않기 때문에 시뮬레이터 입니까?
AraK

6
WINE을 에뮬레이터 또는 시뮬레이터 중 하나에 삽입하려고 시도 할 때주의하십시오. WINE은 한 시스템의 이진 파일을 다른 시스템의 이진 API 계층에서 실행하는 호환성 계층입니다. 그것을 어댑터라고 부를 수 있습니다. 시뮬레이터가 그것을 이해하는 나쁜 방법은 아니지만 실제로 에뮬레이터보다 그리 가깝지는 않습니다.
Lee B

WINE은이 스펙트럼에서 에뮬레이션입니다. Windows 바이너리를 연결하는 것처럼 보이지만 내부를 살펴보면 Windows에 대해 아무것도 알지 못합니다.
Nick Bastin

9

몇 년 전에 나는 그 차이의 본질을 아주 멋지게 포착하는 매우 짧은 속담을 생각해 냈습니다.

시뮬레이터는 미션의 에뮬레이터입니다.

즉, 실제를 사용할 수 없을 때 에뮬레이터를 사용하고 실제를 사용할 수 없으며 그것에 대해 뭔가를 찾으려면 시뮬레이터를 사용한다는 의미 입니다.


8

다소 일반적인 말로 : 소프트웨어가 흉내 낸 시스템이 할 수있는 모든 것을 할 수 있다면 에뮬레이터입니다. 시스템의 결과 (IT 또는 기타)에 근접한 경우 시뮬레이터입니다.


5

시뮬레이터 : 통역사와 비슷합니다. 즉, 실제로 행동을 모방하기 위해 실제 코드를 한 줄씩 실행합니다.

에뮬레이터 : 비슷한 실행 파일입니다. 즉, 컴파일 된 코드를 가져 와서 실행합니다.


4

에뮬레이터는 실제 시스템의 대안이지만 실제 시스템을 최적화, 이해 및 추정하는 데 시뮬레이터가 사용됩니다.


3

두 용어 사이의 구분은 약간 모호합니다. "에뮬레이터"는 임베디드 시스템을 디버깅 할 수있는 하드웨어의 일부인 세계에서 왔습니다. 그리고 PC 플랫폼을 디버깅하기 위해 ICE (In Circuit Emulation) 기능을 사용할 수있는 제품을 기억하십시오. "에뮬레이션"이라는 용어를 사용하면 하드웨어의 동작을 시뮬레이션하는 소프트웨어에는 다소 잘못된 이름이됩니다.

이 용어의 현재 사용에 대한 나의 정당성은 에뮬레이션이 기능을 "증가"할 수 있으며 시스템의 동작에 대한 "합리적인"근사에만 관심이 있다는 것입니다.

ICE : (In Circuit Emulation) 실제 프로세서 대신 보드에 연결된 하드웨어입니다. 실제 프로세서가있는 것처럼 시스템을 실행할 수 있습니다. 일반적으로 이들은 접착제 로직으로 소프트웨어를 실제로 실행하여 사용자가 하드웨어 제어 하에서 실행 및 단일 단계를 중단 할 수 있도록 프로세서의 변형을 가지고 있습니다. 일부는 로깅 기능도 제공합니다. 대부분의 최신 프로세서 개발 시스템은 ICE 유형 에뮬레이션을 JTAG 에뮬레이션으로 대체합니다. 여기서 JTAG는 특수 목적 직렬 링크를 통해 프로세서와 통신하며 모든 실행은 보드에 장착 된 프로세서에 의해 수행됩니다.

소프트웨어 EMULATOR : 0x86 에뮬레이터는 0x86 어셈블리 언어 만 실행할 수 있으며 SPECIFIC 0x86 프로세서의 사이클 당 정확한 행동 모델을 제공하지는 않습니다. Bochs가 이에 대한 예입니다. QEMU는이를 수행하지만 특수 커널 모듈을 사용하여 "가상화"를 허용합니다.

시뮬레이터 : Texas Instruments는 개발자가 하드웨어를 사용하기 전에 사용할 특정 프로세서 코어 동작의 정확한 시뮬레이션을 목적으로하는 소프트웨어 개발을위한 프로세서의 CYCLE ACCURATE 행동 모델을 제공합니다.

소프트웨어 EMULATOR 기능 보강 : BLEEM을 사용하면 Playstation 소프트웨어를 실행할 수있을뿐만 아니라 Playstation이 제공 할 수있는 것보다 더 높은 해상도로 디스플레이를 출력 할 수있을뿐만 아니라 사용 가능한 GPU의 고급 기능을 활용할 수있었습니다. (텍스처의 블렌딩 및 스무딩 향상)


3

둘 다 입력을 제어하고 출력을 관찰 할 수있는 수단이있는 객체의 모델입니다.

주요 차이점은 다음과 같습니다.

  • 에뮬레이터를 사용하면 에뮬레이션 하려는 객체가 생성하는 것과 정확히 일치 하는 출력을 원합니다 .
  • 시뮬레이터를 사용하면 출력의 특정 속성이 객체가 생성하는 것과 유사하게 되기를 원합니다 .

예를 들어 보겠습니다. 시스템에 새 센서 (예 : 온도계)를 추가하면 시스템에 어떤 영향을 미치는지 확인하기 위해 시스템 테스트를 수행한다고 가정합니다. 온도계는 측정 값이 포함 된 메시지를 1 초에 8 번 보냅니다.

시뮬레이션-온도계가 없지만이 메시지 속도가 시스템에 과부하가 걸리지 않는지 테스트하려는 경우 초당 8 번 난수를 보내는 장치를 연결하여 센서를 시뮬레이션 할 수 있습니다. 센서가 전송하는 실제 값에 의존하지 않는 모든 테스트를 실행할 수 있습니다.

에뮬레이션-0.001 C로 측정되는 매우 비싼 온도계가 있고 가장 가까운 0.5 C까지만 측정하는 더 저렴한 온도계를 사용할 수 있는지 알고 싶다고 가정합니다. 비싼 온도계와 그런 다음 판독 값을 가장 가까운 0.5C로 반올림하고 온도 값에 의존하는 테스트를 실행합니다.

시뮬레이션은 행동을 예측하거나 예측하는 데에도 사용될 수 있습니다. 유한 요소 해석 시뮬레이션은 날씨 예측 및 가상 풍동을 포함한 많은 응용 분야에서 사용됩니다.

용어의 정의 :

  • 에뮬레이션-능가 또는 정확히 일치
  • 시뮬레이션-모양이나 성격을 모방

참고-이것은이 질문의 dup으로 표시된 질문에 대한 답변과 매우 유사합니다 ( stackoverflow.com/questions/2174638/… ). 나는 용어에 대한 정의를 추가하고 (질문에 나와 있지만 아직 대답하지 않은) 장치를 모방하는 것 이상으로 시뮬레이션 사용 (유한 요소 분석)에 대한 정보를 추가했습니다.
Jay Elston

2

이 질문은 아마도 역사적 관행을 살펴보면 가장 잘 대답 할 것입니다.

과거에는 PlayStation & SEGA 용 PC에서 게임 콘솔 에뮬레이터를 보았습니다.

시뮬레이터는 운전이나 비행과 같은 실제 행동을 모방하려는 소프트웨어를 언급 할 때 일반적입니다. Gran Turismo와 Microsoft Flight Simulator는 시뮬레이터의 전형적인 예입니다.

언어 적 차이와 관련하여 에뮬레이션은 일반적으로 누군가 (또는 무언가)의 칭찬 할만한 특성이나 행동을 복사하는 행위를 말합니다. 에뮬레이션은 모방의 목적으로 사람이 복제되는 모방과 구별됩니다.

동사 '시뮬레이션'의 언어 적 의미는 본질적으로 누군가 또는 무언가를 가장하거나 흉내내는 것입니다.


2

컴퓨터 과학에서 시뮬레이션과 에뮬레이션은 원래 시스템과 동일한 입력에서 동일한 출력을 생성합니다. 그러나 에뮬레이션은 동일한 프로세스 를 사용하여 이를 달성하며 동일한 재료 로 만들어집니다 . 시뮬레이션은 원래 시스템과 다른 프로세스를 사용합니다. 또한 동일한 용어를 사용하지만 다른 재료로 만들어지는 복제라는 용어도 주목할 가치가 있습니다.

따라서 내 PC에서 이전 Super Mario Bros 게임을 실행하려면 SNES 에뮬레이터를 사용합니다. 게임을 실행하기 위해 동일하거나 유사한 컴퓨터 코드 (프로세스)를 사용하고 동일하거나 유사한 재료 (실리콘 칩)를 사용하기 때문입니다 . 그러나 내 PC에서 Boeing 747 제트기를 비행 하려면 원래와 완전히 다른 프로세스를 사용하기 때문에 비행 시뮬레이터를 사용합니다 (실제 날개, 리프트 또는 공기 역학이 없습니다!).

컴퓨터 과학 용어집에서 가져온 정확한 정의는 다음과 같습니다.

시뮬레이션은 시스템의 입력과 출력 간의 기능적 연결을 캡처하지만 시스템 자체의 프로세스와 동일하거나 유사한 프로세스를 기반으로하지 않아도되는 시스템 모델입니다.

복제는 시스템의 입력과 출력 간의 기능 연결을 캡처하는 시스템의 모델이며 시스템 자체의 프로세스와 동일하거나 유사한 프로세스를 기반으로합니다.

에뮬레이션은 해당 시스템의 프로세스와 동일하거나 유사한 프로세스를 기반으로 시스템의 입력과 출력 간의 기능 연결을 캡처하는 일부 시스템의 모델입니다. .

참조 : Open University, M366 용어집 1.1, 2007


2

시뮬레이션은 다른 것과 유사 하게 동작 하지만 완전히 다른 방식으로 구현 되는 시스템입니다 . 시스템의 기본 동작을 제공하지만 시뮬레이트되는 시스템의 모든 규칙을 반드시 준수 할 필요는 없습니다. 무언가가 어떻게 작동하는지에 대한 아이디어를 제공합니다.

에뮬레이션은 다른 것과 똑같이 동작하고 에뮬레이션되는 시스템의 모든 규칙을 준수하는 시스템입니다. 에뮬레이트 된 시스템의 입력 및 출력과 바이너리 호환이 가능하지만 원래 에뮬레이션 된 시스템의 환경과 다른 환경에서 작동하는 다른 시스템을 효과적으로 복제하는 것입니다. 규칙이 수정되어 변경할 수 없거나 시스템이 실패합니다.


2

단어의 정의는 차이점을 가장 잘 설명합니다. Google 검색은 다음과 같은 시뮬레이션 및 에뮬레이션 정의를 제공합니다.

시뮬레이션 은 모양이나 성격을 모방합니다.

에뮬레이션 일치하거나 일반적으로 모방에 의해, (사람이나 성취) 능가.

시뮬레이션은 시스템을 모방합니다. 에뮬레이션은 시스템을 잘 시뮬레이션하여 시스템을 교체하거나 능가 할 수 있습니다.

컴퓨팅에서 에뮬레이션은 에뮬레이션하는 시스템의 대체품이 될 것입니다. 종종 모방하는 시스템보다 성능이 뛰어납니다. 예를 들어 게임 콘솔 에뮬레이터는 일반적으로 하드웨어 호환성 향상, 성능 향상 및 오디오 / 비디오 품질 향상과 같은 기능을 향상시킵니다.

반면 시뮬레이션은 모델이기 때문에 제한됩니다. 그것들은 시스템을 모방하려는 최선의 시도이지만, 대체 시스템은 아닙니다. 하드웨어가 모방 될 수 있고 차이점을 말하기가 어렵 기 때문에 하드웨어 에뮬레이터가 있습니다. 실제 농업을 대체 할 수있는 에뮬레이션이 없기 때문에 Farming Emulator가 없습니다. 더 나은 농업 방법에 대한 통찰력을 얻기 위해 농업 모델 만 시뮬레이션 할 수 있습니다.


1

가상 PC는 프로그래머 BUT 의 관점에서 컴퓨터 를 에뮬레이션 하려고 시도 하는 동시에 전기 엔지니어의 관점에서 컴퓨터 시뮬레이션 합니다 .


0

에뮬레이터 :

영어 만 알고 중국에있는 상황을 고려하십시오. 중국인과 대화하려면 통역사가 필요합니다. 이제 번역가의 역할은 영어로 귀하의 의견을 구하고 중국어로 전환하여 중국인에게 그 의견을 제시하고 중국인으로부터 응답을 받고 영어로 전환하여 영어로 출력하는 것입니다. 이제 번역자와 중국인이 에뮬레이터입니다. 두 조합은 마치 영국인과 의사 소통하는 것처럼 유사한 기능을 제공합니다. 따라서 하드웨어는 다를 수 있지만 기능은 동일합니다.

모의 실험 장치:

SPICE 나 비행 시뮬레이터보다 더 좋은 예를 보여줄 수는 없습니다. 둘 다 하드웨어 구성 요소 동작을 하드웨어와 유사하게 작동하는 소프트웨어 또는 수학 모델로 대체합니다.

결국 어떤 솔루션이 프로젝트 요구에 더 잘 맞는지에 달려 있습니다.


0

시뮬레이터에뮬레이터 보다 더 광범위하며 위의 게시물 에서이 용어의 이중성이 과장 된 것처럼 보입니다.

에뮬레이터

사람들 은 기존 시스템의 일부 하드웨어 부분을 간단한 방식으로 교체하기 시작했을 때 "컴퓨터 세계"에서 새로운 단어 에뮬레이션 을 사용하기로 결정 했습니다. 행동을 모방하고 계산 특성에 의존하여 무언가를 깨뜨리지 않고 모든 것을 남겨 두었습니다. 동등한 상태. 그래서 우리는 이것의 조각을 모방했습니다! (그리고 전체는 여전히 이전과 같이 작동합니다)

에뮬레이터는 대체로 디지털 영역에서 좁은 의미로 대체 및 가상화 (소프트웨어의 형태로 디지털 형태로 표시됨)로 사용되어 왔으며 기존에 알려진 것 (가상 칩, 회로 기판, 전자 장치)으로 사용됩니다. 그래서 세상이 더욱 디지털화되고 에뮬레이터 단어를 대중에게 가져 왔을 때 대중들은 그것에 불확실성을 더했습니다 (또는 추가 이유).

모의 실험 장치

우선, 에뮬레이터가 실제는 있지만 시뮬레이터는 그렇지 않은 에뮬레이터에 대한 많은 의견을 보았습니다.

그러나 비행 시뮬레이터는 실제 용도로 사용됩니다-조종사를 훈련시키고 기술과 지식을 제공하며 비싼 실제 비행기를 대체하고 많은 돈을 절약합니다. 평면 에뮬레이터라고 말할 수는 없습니다. 왜냐하면 우리는 이것이 그 이상이라는 내면의 느낌을 가지고 있기 때문에 이것을 시뮬레이터 라고 부릅니다 .

시뮬레이터가 분석 및 연구 (및 실제 에뮬레이터)에 사용되지만, 분석 및 연구 는 에뮬레이트 된 GSM 보드 (실제로 정보를 제공하는 시대에 더 많음)보다 실제적인 것이 아닙니다. 분석은 비즈니스에 가치를 더하고 비용을 줄이거 나 교체 (에뮬레이션 된) 하드웨어 이상의 이익을 지적합니다.

시뮬레이터는 어떤 이유로 얻을 수없는 것 (비용, 기술, 물리적 불가능)의 모델링과 유사합니다. 일반적으로 시장, 날씨, 연소, 사용자와 같이 새롭거나 무형이거나 복잡하거나 우리에게 올바르게 알려지지 않은 것으로 시뮬레이션됩니다. 여기 비행, 블랙홀, 증권 거래소, 시뮬레이션이 있습니다.

마지막으로 :

  1. 시뮬레이터는 에뮬레이터보다 넓습니다.
  2. 시뮬레이터는 모방 범위를 좁힐 수있는 능력으로 일반적으로 더 많은 글로벌 프로세스 / 사물을 모방 / 모델링하는 경향이 있습니다 (예 : 알려진 모델을 나타내는 사전 설정이있는 커패시터 시뮬레이터)
  3. 에뮬레이터는 특정 사양, 알려진 특성 및 속성 (예 : SNES 에뮬레이터, Intel 8087 또는 Roland TB-303)으로 특정 하드웨어 장치를 모방하는 경향이 있습니다.

단어 유래는

모두 라틴어 출신이며 다음을 의미합니다.

  • 에뮬레이션 은 "평등하다"(보다 공격적이고 솔직한 것처럼 보인다-경쟁자)
  • 시뮬레이션 은 "유사하다"(보다 교활하고 까다로워 보입니다-모방)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.