본문 바로가기

Work

Emulation vs. Simulation

에뮬레이터(Emulator)와 시뮬레이터(Simulator)의 비교 등으로 많은 글이 검색되는데, 다들 자기 분야에 적용되는 개념으로 설명할 뿐더러 (내가 보기엔) 모호한 경계를 남겨두고 있어 개념 이해가 잘 되지 않는다.

그나마 명료하게 구별한 링크를 보면 아래와 같이 정리한다.


Emulation vs. Simulation

A simulator creates an environment that mimics the behavior and configurations of a real device. On the other hand, an emulator duplicates all the hardware and software features of a real device.

What Are Simulators?

A simulator mimics the basic behavior of a device.

What Are Emulators?

An emulator duplicates the thing exactly as it exists in real life.


요약하자면 이렇다.

Emulation: 어떤 사정이 있어서 갖고 있지 않은 장치(하드웨어 and/or 소프트웨어)를 대체하기 위해 사용하는 물건(?). 실제 장치를 다른 식으로 구현했기 때문에 현실적으로 차이가 발생할 수 있지만, 필수 요구사양에 있어선 거의 유사하고 유의미한 오차가 없다는 전제가 필요하다. 에뮬레이터 자체를 개발할 땐 디버깅도 하고 그러겠지만, 일단 완성 및 승인된 에뮬레이터는 원래의 장치와 동일하다는 가정 하에 사용된다 (단 사전 정의된 사용 범주 내에서). 에뮬레이션은 그 장치 외부에서 이게 '가짜 장치'라는 걸 식별할 수 없도록 동작하는 걸 목적으로 한다.

Simulation: 실제 발생한 이벤트를 모의로 발생시켜 보기 위한 환경. 하드웨어 및 소프트웨어 장치가 동원되고, 내/외적 환경 요소를 일으키기 위한 모사 요인도 동원되며, 확률통계적 모델도 동원된다. 시험을 하는 환경, 시스템의 관점에서 수행하는 행위. 시뮬레이션은 그 시스템 내부의 장치들과 진행 흐름이 이게 '가짜 환경'이라는 걸 식별할 수 없도록 수행되는 걸 목적으로 한다.

https://www.perfecto.io/blog/emulation-vs-simulation

Emulation vs. Simulation | by Perforce

What is a simulator? What is an emulator? Learn about emulation vs. simulation. Understand the differences between emulators vs. simulators and when to use them in this blog.

www.perfecto.io

 
2024.09.16
돌아보니 설명이 주절주절 장황하여 간단 요약한다면,
1. 에뮬레이션: 특정 장치를 가짜로 모의.
시험환경에서 DUT(Device Under Test)만 진짜고 나머지 상호작용 장치들은 에뮬레이션 하는 경우가 많다. 클라이언트 개발 시 서버 기본 기능을 모의 구현해 시험하는 식.
2. 시뮬레이션: DUT를 둘러싼 환경을 가짜로 모의.
차량 충돌 테스트 시 시험 대상 차량은 진짜지만 들이받는 건 다른 차량이 아니라 충돌 장치를 쓰는 경우.

따라서 당연히 에뮬레이터가 기본 시뮬레이션 기능을 제공할 수도 있고, 시뮬레이터에 일부 요소의 에뮬레이션 기능이 포함될 수도 있다.

'Work' 카테고리의 다른 글

글로벌 기업들의 넌글로벌 태도  (0) 2022.04.08
Static library, Shared library, Dynamic Link Library  (0) 2022.03.27
2132년  (0) 2022.01.17
회사 품질이 나아지지 않던 이유  (0) 2021.12.20
Python - List의 요소 위치 찾기  (0) 2021.12.02