에뮬레이터
에뮬레이터(emulator)는 다른 장치의 특성을 복사하거나 똑같이 실행하도록 설계된 장치이다.[1]
개요
에뮬레이터는 한 시스템에서 다른 시스템을 복제한다. 두 번째 시스템이 첫 번째 시스템을 따라 행동하는 것이다. 외부의 행동에 대해 똑같이 따라하려고 하는 이 관점은 시뮬레이션과는 정 반대이다. 왜냐하면, 시뮬레이션은 자주 내부 상태와 관련하여, 흉내내는 시스템의 추상적인 모델과 관계가 있기 때문이다.[2] 즉, 지원되지 않는 하드웨어에서 소프트웨어를 실행하기 위한 목적으로 널리 쓰인다.
활용
전자기록 장기보존
디지털 정보를 생산한 시점에서 사용된 하드웨어, 매체, 운영체제, 소프트웨어의 운용을 그대로 흉내 내어 그 내용을 읽어내는 프로그램을 통하여 재현하는 보존 전략이다. 에뮬레이션을 통한 장기보존 전략의 특징으로는 새로운 기술이 출현할 때마다 이전의 프로그램 소스코드를 입수가능하고, 프로그램 기능 명세 문서만으로 이전 프로그램을 구현해낼 수 있다. 또한 최신버전과 이전 버전 프로그램의 호환을 돕는 연계 소프트웨어가 존재한다.[3]
- 장점 : 비트 스트림을 그대로 두는 전략이므로 영구기록물관리기관의 경우 장기보존 대상 전자기록의 양은 해마다 증가하는데 컴퓨팅 변화에 따라 주기적으로 포맷변환을 하는 노력을 없앨 수 있다.[3]
- 한계
- 시간이 흐를수록 에뮬레이터가 복잡해지고 제작이 난해해진다. 새로운 포맷이 지속적으로 추가되고, 이 모든 포맷을 에뮬레이션해야 해야 한다.[3]
- 지속적으로 변화하는 컴퓨팅 환경에서 에뮬레이션을 통해 과거의 모습 그대로 재현한다는 보장을 할 수 없다.[3]
바이러스 탐지
에뮬레이터(emulator)는 사전적의미로 대리 실행기라는 의미를 가지고 있다.대리 실행기 라는 의미에서와 같이 에뮬레이터는 실제 컴퓨터 시스템 상에서 실행 파일을 직접적으로 실행하는 것이 아니라 실제 컴퓨터 시스템에 가상의 환경이나 가상의 하드웨어 이미지를 생성하여 해당 가상 하드웨어를 통하여 간접적으로 실행하는 것을 의미한다. 즉, 의심파일을 사용자 컴퓨터에서 실제로 실행해 보기 전에 가상화 기반에서 먼저 실행함으로써 실제 사용자환경을 보호한다.[4] 이러한 의미로 인해 일부에서는 에큘레이터를 이용한 탐지 기법을 코드 에뮬레이션(Code Emulation) 또는 CPU 에뮬레이션(CPU Emulation) 이라고도 이야기 한다. 이런 방법을 이용해서 바이러스를 탐지한다면 알려지지 않은 악성 코드를 탐지하기 위한 부분에서는 상당히 강력한 방법이라고 할 수 있다.[5]
- 장점 : 가상 하드웨어에서 간접적으로 동작하므로 실제 시스템에는 영향을 끼치지 않는다.
- 단점 : 시스템 자원에 대한 소모가 크다.
DENSE
DENSE(Deep Emulator Network Search)는 AI기반 에뮬레이터로, 스탠퍼드 대학의 컴퓨터 과학자인 멜로디 구안(Melody Guan)과 옥스퍼드 대학의 물리학자인 무함마드 카심(Muhamad Kasim)이 제시한 그래픽카드(GPU)기반 환경에서 시뮬레이션 시간을 수십억 배 줄일 수 있는 방법이다. 천문학 시뮬레이션을 슈퍼컴퓨터에서 한 것과 GPU기반 환경에서 DENSE기술로 가속을 했을 때 결과는 99.9%이상 같았다고 한다. 이는 굳이 슈퍼컴퓨터를 쓰지 않아도 원하는 시뮬레이션 결과를 더 빨리 얻을 수 있다는 것이다.[6]
콘솔
에뮬레이터의 분류 가운데 특정한 게임기의 환경을 컴퓨터나 다른 기종으로써 가상화된 형태로서 구현해 주는 에뮬레이터를 다른 에뮬레이터와 콘솔에뮬레이터(Console Emulator)로 분류해서 부른다. 일반적인 사용자가 에뮬레이터라고 하면 대게는 이것을 가리킨다. 흔히 에뮬로 줄여 부르기도 한다. 본래 하드웨어 또는 소프트웨어의 작동을 모방하는 것이면 무엇이든 에뮬레이터로 부를 수 있지만 일상생활에서 에뮬레이터라는 단어는 거의 게임 구동을 위하는 콘솔 및 구형 컴퓨터 에뮬레이터를 지칭하는 이유는 실질적으로 에뮬레이터가 필요한 경우가 게임뿐인 일이 대부분이기 때문이다.[7]
에뮬레이터 목록
각주
- ↑ 〈에뮬레이터〉, 《네이버 지식백과》
- ↑ 〈에뮬레이터〉, 《위키백과》
- ↑ 3.0 3.1 3.2 3.3 〈전자기록의 장기보존〉, 《위키독스》
- ↑ 나침판, 〈악성코드 탐지 방법들〉, 《티스토리》, 2014-01-11
- ↑ 장영준, 〈[악성코드 탐지-3 에뮬레이터와 샌드박스]〉, 《안랩》, 2007-03-13
- ↑ 〈물리학 관련 컴퓨터 기반 시뮬레이션을 슈퍼컴퓨터 도움 없이 가속하는 방법〉, 《유디엔에이》
- ↑ 〈에뮬레이터〉, 《나무위키》
참고자료
- 〈에뮬레이터〉, 《네이버 지식백과》
- 〈에뮬레이터〉, 《위키백과》
- 나침판, 〈악성코드 탐지 방법들〉, 《티스토리》, 2014-01-11
- 장영준, 〈[악성코드 탐지-3 에뮬레이터와 샌드박스]〉, 《안랩》, 2007-03-13
- 전자기록의 장기보존〉, 《위키독스》
- 〈물리학 관련 컴퓨터 기반 시뮬레이션을 슈퍼컴퓨터 도움 없이 가속하는 방법〉, 《유디엔에이》
같이 보기