
1. 개념
- 에뮬레이션은 한 컴퓨터 시스템을 사용하여 다른 컴퓨터 시스템의 기능을 모방하는 것이다. 이를 통해 한 환경에 맞게 설계된 소프트웨어를 다른 환경에서 실행할 수 있다.
- 에뮬레이터는 애플리케이션일 수도 있고 전자 장치일 수도 있다. 두 경우 모두 에뮬레이터는 소프트웨어를 사용하여 원래 시스템의 동작을 모방한다.
- 예를 들어, 에뮬레이터를 사용하면 애플리케이션을 실행하거나 호환되지 않는 엔드포인트를 연결하기 위해 하나의 운영 체제가 다른 운영 체제로 위장할 수 있다.
- 이러한 방식으로 에뮬레이션을 통해 Windows OS를 Mac 컴퓨터에서 실행하거나 최신 버전의 운영 체제와 호환되지 않는 레거시 응용 프로그램의 기능을 유지할 수 있다.
- 에뮬레이션의 일반적인 용도는 다음과 같다.
- 원래 설계되지 않은 하드웨어 플랫폼에서 OS를 실행
- 데스크톱 컴퓨터에서 아케이드 또는 콘솔 기반 게임 실행
- 개발된 장치가 아닌 다른 장치에서 레거시 응용 프로그램 실행
- 원래 작성된 OS가 아닌 다른 OS에서 응용 프로그램을 실행
- Linux에서 Windows 애플리케이션 실행 등
- 서버 가상화에서의 에뮬레이션은 가상 환경과 동의어이다.
- 가상 환경은 파티션, 게스트, 인스턴스 또는 컨테이너라고도 한다.
- 하드웨어에서 에뮬레이션은 장치를 서로 연결하거나 메인프레임 컴퓨터에 연결하기 위해 하드웨어를 사용하여 다른 하드웨어 장치의 기능을 모방하는 것이다.
- 하드웨어 에뮬레이션은 주변 장치가 더 이상 사용되지 않을 때 유용할 수 있다.
- 터미널 에뮬레이션을 사용하여 컴퓨터 터미널이 일반적으로 이전 유형의 다른 터미널처럼 보이고 작동하게 함으로써 사용자가 레거시 프로그램에 액세스할 수 있게 되는 것.
- 에뮬레이션 사용 사례의 예
2. 유형
- 에뮬레이터는 사용 사례와 호스트 환경에 따라 다양한 유형이 될 수 있다. 주목해야 할 필수 에뮬레이터 유형은 다음과 같다.
2-1. 터미널 에뮬레이터
- 터미널 에뮬레이터는 기존 컴퓨터 터미널의 기능을 시뮬레이션하는 소프트웨어다.
- 디스플레이와 키보드로 구성된 이 터미널은 주로 미니컴퓨터나 메인프레임과 같은 다른 컴퓨터와 연결하는 데 사용되었다. 터미널 에뮬레이션 프로그램도 동일한 작업을 수행한다.
- 터미널 에뮬레이터를 사용하면 호스트 컴퓨터가 명령줄이나 그래픽 인터페이스를 통해 원격 시스템을 포함한 다른 컴퓨터에 연결할 수 있다.
- Telnet, SSH 등의 프로토콜을 활용하여 통신이 가능하다.
- 이 에뮬레이션을 통해 호스트 컴퓨터는 원격 컴퓨터에서 앱을 사용하거나 실행하고 둘 사이에서 파일을 교환할 수 있다. 여기서의 장점은 두 장치의 운영 체제가 동일할 필요가 없다는 것이다.
2-2. 프린터 에뮬레이터
- 프린터 에뮬레이션은 다양한 프린터 명령 언어를 제공하는 프린터 내 응용 프로그램이다. 동시에 관리 효율성과 보안도 제공한다.
- 여러 에뮬레이션을 프린터로 전송할 수 있으므로 사용자는 적절한 명령 언어를 선택할 수 있다.
- 예를 들어, HP 프린터용으로 만들어진 소프트웨어의 양을 고려하면 많은 소프트웨어가 HP LaserJet 프린터를 복제하기 위한 것이다.
- HP 프린터를 시뮬레이션함으로써 정품 HP 프린터용으로 설계된 모든 소프트웨어와 함께 작동할 수 있다.