교차 플랫폼 가상화

Cross-platform virtualization

크로스 플랫폼 가상화는 특정 명령 집합 및 운영 체제를 위해 컴파일된 소프트웨어가 동적 바이너리 변환과 운영 체제 호출 매핑의 조합을 통해 CPU 및/또는 운영 체제가 서로 다른 컴퓨터에서 수정되지 않은 상태로 실행되도록 하는 컴퓨터 가상화의 한 형태다.

소프트웨어는 원본 컴퓨터와 동등한 가상화된 수준으로 실행되기 때문에 재컴파일이나 포팅이 필요 없어 시간과 개발 자원을 절약할 수 있다.그러나 바이너리 번역과 통화 매핑의 처리 오버헤드는 기본적으로 컴파일된 소프트웨어와 비교할 때 성능 저하를 부과한다.이러한 이유로 소프트웨어 포팅에 리소스를 사용할 수 있을 때까지 교차 플랫폼 가상화를 임시 솔루션으로 사용할 수 있다.또는 레거시 코드를 지원하기 위해 교차 플랫폼 가상화를 사용할 수 있으며, 레거시 코드는 보다 새롭고 빠른 시스템에서 실행되어도 가상화 오버헤드가 발생하더라도 적절한 성능을 유지할 수 있다.

다른 컴퓨터 시스템을 위해 컴파일된 소프트웨어를 실행할 수 있는 추상화 계층을 만들어냄으로써 교차 플랫폼 가상화는 1974년 제럴드 J. 포펙과 로버트 P. 골드버그가 작성한 기사 "가상화가 가능한 제3세대 아키텍처에 대한 공식 요구사항"[1]에서 요약한 포픽과 골드버그의 가상화 요구 사항을 특징짓는다.교차 플랫폼 가상화는 운영 체제 호 매핑을 포함하면 보다 완벽한 가상화 환경을 제공하기 때문에 하나의 명령 집합을 다른 명령 집합으로 직접 변환하는 것을 수반하는 단순한 에뮬레이션바이너리 변환과는 구별된다.교차 플랫폼 가상화는 일반적으로 x86이나 Power ISA와 같은 단일 명령 집합으로 제한되기 때문에 서버 가상화데스크톱 가상화 솔루션도 보완적이다.현대의 교차 플랫폼 가상화 변형은 게스트 대 호스트 시스템 변환에 발생하는 비용의 일부를 상쇄하기 위해 하드웨어 가속 기술을[2] 채택할 수 있다.

참고 항목

참조

  1. ^ Gerald J. Popek and Robert P. Goldberg (1974). "Formal Requirements for Virtualizable Third Generation Architectures". Communications of the ACM. 17 (7): 412–421. doi:10.1145/361011.361073.
  2. ^ Spink, Tom; Wagstaff, Harry; Franke, Björn (2016-12-28). "Hardware-Accelerated Cross-Architecture Full-System Virtualization". ACM Transactions on Architecture and Code Optimization. 13 (4): 36. doi:10.1145/2996798. ISSN 1544-3566.