에뮬레이션
에뮬레이션은 한 컴퓨터 시스템이 다른 컴퓨터 플랫폼을 모방하도록 프로그래밍된 것입니다. 에뮬레이터라고 하는 애플리케이션을 사용하면 특정 하드웨어 플랫폼용으로 작성된 소프트웨어를 다른 플랫폼의 시뮬레이션 환경 안에서 완전히 실행할 수 있습니다.
에뮬레이터의 일반적인 유형 중 하나는 오래되었거나 더 이상 사용되지 않는 컴퓨팅 플랫폼을 최신 기기에서 시뮬레이션하는 것입니다. 예를 들어 Motorola 680x0 Macintosh용 에뮬레이터는 다른 컴퓨터의 프로그램 창 안에 클래식 Mac을 재현할 수 있습니다. 이러한 에뮬레이터를 사용하면 최신 컴퓨터에서 사용할 수 없거나 호환되지 않는 소프트웨어와 필요한 운영 체제를 실행할 수 있습니다. 이러한 유형의 에뮬레이터는 컴퓨터 역사 연구자와 보존 활동가들이 많이 사용합니다.
오래된 컴퓨터를 시뮬레이션하는 것 외에도 에뮬레이터는 고전 비디오 게임 콘솔을 모방할 수 있습니다. Super Nintendo나 Sega Genesis 같은 콘솔을 시뮬레이션하는 에뮬레이터를 사용하면 원래 하드웨어 없이도 고전 게임을 플레이할 수 있습니다. 이러한 에뮬레이터는 .ROM 파일로 저장된 게임을 엽니다. .ROM 파일에는 원래 게임 카트리지나 디스크의 데이터를 정확히 복사한 내용이 저장됩니다.
에뮬레이션 소프트웨어는 전체 플랫폼 대신 특정 하드웨어 구성 요소를 시뮬레이션할 수도 있습니다. 이러한 유형의 에뮬레이션은 주로 디스크 드라이브 에뮬레이터에 사용되며, 이 에뮬레이터를 사용하면 디스크 이미지 파일예: (Windows의 .ISO 파일 또는 macOS의 .DMG 파일)을 외장 디스크를 연결하거나 광학 드라이브에 삽입한 것처럼 마운트할 수 있습니다. 소프트웨어 개발자는 소프트웨어 설치 프로그램을 배포하기 위해 이러한 파일을 자주 사용합니다. 컴퓨터 사용자는 물리적 손상에 대비해 디스크의 백업 복사본을 만들 수도 있습니다.
가상화와 비교
에뮬레이션은 가상화와 비슷합니다. 두 기술 모두 호스트 컴퓨터에서 다른 플랫폼의 운영 체제와 애플리케이션을 소프트웨어 환경 안에서 실행할 수 있게 합니다. 그러나 가상화를 구현하는 것이 더 쉽습니다.
가상화를 사용하려면 호스트 환경과 게스트 환경의 기반 하드웨어가 동일해야 합니다. 가상화 소프트웨어가 가상 머신에서 발생한 하드웨어 호출을 물리적 하드웨어로 전달하기 때문입니다. 에뮬레이션 환경에서는 에뮬레이터가 이러한 하드웨어 호출을 게스트 플랫폼이 기대하는 방식에서 호스트가 제공할 수 있는 방식으로 변환해야 합니다. 따라서 동일한 수준의 성능을 내려면 호스트 컴퓨터가 에뮬레이션하는 게스트 시스템보다 상당히 강력해야 합니다.
지식 테스트하기