시뮬레이션과 에뮬레이션이 일반적으로 무엇을 의미하는지 이해하지만 거의 항상 혼란스러워합니다. 기존 하드웨어 / 소프트웨어를 모방 한 소프트웨어를 작성한다고 가정하면 무엇을 호출해야합니까? 시뮬레이터 또는 에뮬레이터?
프로그래밍 측면에서 차이점을 설명 할 수 있습니까?
보너스 :이 두 용어의 영어 차이는 무엇입니까? (죄송합니다, 저는 원어민이 아닙니다 🙂
답변
에뮬레이션은 기존 대상과 일치하도록 외적으로 관찰 가능한 동작을 모방하는 프로세스입니다. 에뮬레이션 메커니즘의 내부 상태는 에뮬레이션하는 대상의 내부 상태를 정확하게 반영하지 않아도됩니다.
반면에 시뮬레이션은 대상의 기본 상태를 모델링합니다. 좋은 시뮬레이션의 최종 결과는 시뮬레이션 모델이 시뮬레이션중인 대상을 에뮬레이트한다는 것입니다.
이상적으로는 시뮬레이션을 조사하고 원래 대상을 조사했을 때 볼 수있는 특성을 관찰 할 수 있어야합니다. 실제로 성능상의 이유로 시뮬레이션에 대한 바로 가기가있을 수 있습니다. 즉, 시뮬레이션의 일부 내부 측면이 실제로 에뮬레이션 일 수 있습니다.
MAME는 아케이드 게임 에뮬레이터입니다. 하이퍼 터미널은 좋지 않은 터미널 에뮬레이터입니다. 원하는 에뮬레이션 동작을 얻기 위해 아케이드 머신이나 터미널을 자세하게 모델링 할 필요가 없습니다.
비행 시뮬레이터는 시뮬레이터입니다. SPICE는 전자 시뮬레이터입니다. 대상의 실제 세부 사항을 나타 내기 위해 대상의 모든 세부 사항을 최대한 모델링합니다.
편집 : 다른 응답은 에뮬레이션의 목표가 에뮬레이션하는 객체를 대체 할 수 있다고 지적했습니다. 그것은 중요한 포인트입니다. 시뮬레이션의 초점은 대상의 내부 상태 모델링에 더 중점을두고 시뮬레이션이 반드시 에뮬레이션으로 이어지지는 않습니다. 특히 시뮬레이션은 실시간보다 훨씬 느리게 실행될 수 있습니다. 예를 들어, SPICE는 실제 전자 회로를 대체 할 수 없습니다 (SPICE 시뮬레이션에 전기 회로를 완벽하게 연결하는 마법 장치가 있다고 가정하더라도) 시뮬레이션 시뮬레이션이 항상 에뮬레이션으로 이어지는 것은 아닙니다.
답변
비행 시뮬레이션자가 A에서 B로 당신을 운송 할 수 있다면 비행 에뮬레이터가됩니다.
에뮬레이터는 실제 사용을 위해 원본을 대체 할 수 있습니다.
가상 PC는 PC를 에뮬레이트합니다.
시뮬레이터는 연구 및 분석을위한 모델입니다.
에뮬레이터는 항상 실시간에 가깝게 작동해야합니다. 항상 그런 것은 아닌 시뮬레이터의 경우. 지질 시뮬레이션은 1000 년 / 초 이상을 수행 할 수 있습니다.
답변
시뮬레이션 = 분석 및 연구
에뮬레이션 = 대체품으로 사용
시뮬레이터는 모델링하는 환경이지만 에뮬레이터는 원래 장치 나 시스템에서와 같이 사용을 복제하는 환경입니다.
시뮬레이터는 시뮬레이션하는 무언가의 활동을 모방합니다. 시뮬레이션되는 것과 동일하게 “나타납니다”(상황에 따라이 “나타납니다”와 함께 갈 수 있습니다). 예를 들어, 비행 시뮬레이터는 사용자를 한 곳에서 다른 곳으로 이동 시키지는 않지만 사용자에게 실제 비행 인 것으로 나타납니다.
에뮬레이터, 다른 한편으로는, 실제로 ” 하지 “ 무슨 일이 에뮬레이션하여 수행하고, 너무 “이 과정에서 나타납니다이 같은 일을 할 수 “. 에뮬레이터는 에뮬레이션되는 것을 흉내 내기 위해 다른 프로토콜 세트를 사용할 수 있지만 결과 / 결과는 항상 원본 객체와 동일합니다. 예를 들어, EMU8086은 컴퓨터에서 8086 마이크로 프로세서를 에뮬레이트합니다.이 프로세서는 8086 (= 다른 프로토콜 )에서 실행되고 있지 않지만 실제로 제공되는 출력은 실제 8086이 제공하는 것입니다.
답변
초점의 차이입니다. 에뮬레이터 1 은 시스템의 내부 작동 방식에 관계없이 시스템의 동작을 재현하는 데 중점을 둡니다. 시뮬레이터 2 는 시스템 구성 요소 모델링에 중점을 둡니다. 시스템이 주로하는 일에 관심이있을 때는 에뮬레이터를 사용하고 어떻게 하는가에 관심이있을 때는 시뮬레이터를 사용합니다.
일반적인 영어의 의미에 관해서는 에뮬레이션은 “질이나 행동 에서 다른 것을 동등하게하거나 능가하려는 노력 “이지만, 시뮬레이션은 ” 의 행동, 모양 또는 속성 을 모델링 , 복제, 복제”하는 것입니다. 큰 차이는 없습니다. 에뮬레이션은 ” 스트라이 빙 , 라이벌 링”, mulul 으로부터 온 것이며 , 표면 레버 유사성을 나타내는 “모방”및 “이미지”와 관련이 있습니다. “시뮬레이션”에서 유래 similis “등”으로, 아마도 깊은 적합성을 제안한다 “유사”라는 단어를 않습니다.
참고 문헌 :
답변
에뮬레이터와 시뮬레이터를 비교할 수 있다고 생각하지 않습니다. 둘 다 무언가를 모방하지만 같은 추론의 범위에 속하지는 않으며 같은 맥락에서 사용되지 않습니다.
간단히 말해서 에뮬레이터는 원래의 일부 기능을 복사하도록 설계되었으며 실제 환경에서이를 대체 할 수도 있습니다. 시뮬레이터는 원본의 특징을 복사하도록 설계되지 않았지만 원본과 인간과 유사하게 보일뿐입니다. 원래의 기능이 없으면 시뮬레이터는 실제 환경에서이를 대체 할 수 없습니다.
에뮬레이터는 충분히 그래서이있는 장치를 모방 뭔가에 가까운 진짜를 대체 할 수 있습니다. 예를 들어 회로가 ROM (읽기 전용 메모리) 회로처럼 작동하기를 원하지만 원하는 내용이 될 때까지 내용을 조정하려고합니다. 에뮬레이션하려는 ROM과 호환되는 물리적 및 전기 인터페이스가있는 블랙 박스 (CPU 기반 일 가능성이있는) 인 ROM 에뮬레이터를 사용합니다. 에뮬레이터는 실제 ROM 대신 장치에 연결됩니다. 작업 할 때 마더 보드에는 아무런 차이가 없지만 에뮬레이트 된 ROM 내용을 쉽게 변경할 수 있습니다. 그렇지 않으면 에뮬레이터는 마더 보드 컨텍스트에서 실제와 정확히 동일하게 작동하지만 (실제 내부 모델로 인해 약간 느려질 수 있음) 마더 보드 컨텍스트에서 디자이너에게만 추가 기능 (재 작성과 같은) 만 표시됩니다. . 에뮬레이터 정의는 원본을 모방 한 것으로서 모든 기능적 특징을 가지고 있습니다.
시뮬레이터 , 다른 생각 컨텍스트에서 예를 들어 비행기 시뮬레이터, 자동차 시뮬레이터 등 시뮬레이션은 일반적으로 그와 관련된 실제 물건의 일부 측면, 처리됩니다 사용되는 인간의 존재가 인식하고이를 제어하는 방법을. 시뮬레이터는 실제 물건의 기능을 수행하지 않으며, 자살 할 수 없습니다. 비행기 시뮬레이터는 비행하거나 누군가를 운반하지 않으며, 그 목적이 아닙니다. 시뮬레이터는 작동하도록 의도 된 것이 아니라 지상 훈련을 허용하는 등의 일반적인 목적 이외의 목적을 위해 조종사에게 실제 상황과 비슷하게 보이도록하는 것입니다 (예 : 모든 엔진 고장과 같은 비정상적인 상황 포함). 따라서 시뮬레이터의 정의는 사람에게 보일 수 있고 원래처럼 확장 될 수 있지만 실제 사용을 위해 대체 할 수없는 것입니다. 또한 조종사는 시뮬레이터가 시뮬레이터임을 알게됩니다.
나는 ROM이 인간과 상호 작용하지 않기 때문에 어떤 ROM 시뮬레이터도 볼 수 없다고 생각하지 않으며, 비행기는 실제 세계에서 동일한 기능을 수행하는 대체품을 가질 수 없기 때문에 평면 에뮬레이터를 볼 수 없습니다.
내 관점에서 에뮬레이터 또는 시뮬레이터 내부의 모델은 무엇이든 될 수 있으며 원본의 모델과 유사하지 않아야합니다. ROM 에뮬레이터 모델은 하드웨어 대신 소프트웨어 일 수 있으며 MS Flight Simulator는 소프트웨어보다 더 많은 소프트웨어를 사용할 수 없습니다.
이 두 용어의 비교는 내부 모델에 차이를 두는 현재 선택된 답변 (Toybuilder에서)과 모순되며, 그 차이는 실제 세계에서 가짜가 실제 기능을 수행하는 데 사용할 수 있는지 여부입니다 ( 실제로 수용 된 확장까지).
비행기 시뮬레이터는 비행기의 일부가 아닌 지구, 태양, 바람 등을 시뮬레이션해야하므로 비행기 시뮬레이터는 비행기의 환경뿐만 아니라 비행기의 일부 측면을 모방해야합니다. 비행기는 실제 환경이 아니라 훈련실에서 사용되기 때문입니다.
이것은 원래의 것을 에뮬레이션하는 에뮬레이터와의 큰 차이이며, 그 목적은 에뮬레이션 할 필요없이 원본의 환경에서 사용하는 것입니다. 비행기 상황으로 돌아가서 … 비행기 에뮬레이터는 무엇입니까? 아마 2 개의 공항을 연결하는 기차 (실제로는 2 개의 비행기 계단)-승객을 실어 탑승하는 승무원, 실제 비행기 객실처럼 보이는 차 내부, 그리고 “숙녀 여러분, 우리의 고도는 10km에 달하는 온도입니다” 우리의 목적지에 24 ° C “입니다. 그 혜택은보기가 어렵습니다.
결론적으로, 에뮬레이터는 실제로 작동하도록 고안되었으며 시뮬레이터는 사용자를 속이려는 가짜입니다.
답변
간단한 설명.
PC (Windows 실행)를 Mac으로 변환하려면 다음 중 하나를 수행하십시오.
(1) Windows에 Mac 테마를 간단히 설치할 수 있습니다. 따라서 PC는 Mac처럼 느껴지지만 실제로는 Mac 프로그램을 실행할 수 없습니다.
(SIMULATION)
(또는)
(2) PC가 Mac처럼 실행되도록 프로그래밍 할 수 있습니다 (가능한지 확실하지 않습니다 : P). 이제 Mac 프로그램을 성공적으로 실행할 수 있으며 Mac에서와 동일한 출력을 기대할 수 있습니다.
(EMULATION)
첫 번째 경우 Mac을 경험할 수 있지만 Mac과 동일한 출력을 기대할 수는 없습니다.
두 번째 경우에는 Mac에서와 동일한 출력을 기대할 수 있지만 여전히 PC 일뿐입니다.
답변
시뮬레이터와 에뮬레이터의 차이점을 이해하려면 시뮬레이터가 실제 장치의 동작을 모방하려고합니다. 예를 들어, iOS 시뮬레이터의 경우 실제 iPhone / iPad 장치의 실제 동작을 시뮬레이션합니다. 그러나 시뮬레이터 자체는 Mac에 설치된 다양한 라이브러리 (예 : QuickTime)를 사용하여 렌더링을 수행하므로 효과가 실제 iPhone과 동일하게 보입니다. 또한 시뮬레이터에서 테스트 된 응용 프로그램은 x86 코드로 컴파일되며 이는 시뮬레이터가 이해하는 바이트 코드입니다. 반대로 실제 iPhone 장치는 ARM 기반 코드를 사용합니다.
반대로 에뮬레이터는 실제 장치의 작동을 에뮬레이트합니다. 에뮬레이터에서 테스트 된 응용 프로그램은 실제 장치에서 사용되는 실제 바이트 코드로 컴파일됩니다. 에뮬레이터는 바이트 코드를 에뮬레이터를 실행하는 호스트 컴퓨터에서 실행할 수있는 형식으로 변환하여 응용 프로그램을 실행합니다.
시뮬레이션과 에뮬레이션의 미묘한 차이를 이해하기 위해 어린이가 나이프를 가지고 노는 것이 위험하다는 것을 설득하려고한다고 상상해보십시오. 이것을 시뮬레이트하기 위해, 당신은 칼로 자신을 자르고 고통에 신음하는 척합니다. 이것을 모방하기 위해 실제로 자신을 자릅니다.