교차 플랫폼 가상화
Cross-platform virtualization크로스 플랫폼 가상화는 특정 명령 집합 및 운영 체제를 위해 컴파일된 소프트웨어가 동적 바이너리 변환과 운영 체제 호출 매핑의 조합을 통해 CPU 및/또는 운영 체제가 서로 다른 컴퓨터에서 수정되지 않은 상태로 실행되도록 하는 컴퓨터 가상화의 한 형태다.
소프트웨어는 원본 컴퓨터와 동등한 가상화된 수준으로 실행되기 때문에 재컴파일이나 포팅이 필요 없어 시간과 개발 자원을 절약할 수 있다.그러나 바이너리 번역과 통화 매핑의 처리 오버헤드는 기본적으로 컴파일된 소프트웨어와 비교할 때 성능 저하를 부과한다.이러한 이유로 소프트웨어 포팅에 리소스를 사용할 수 있을 때까지 교차 플랫폼 가상화를 임시 솔루션으로 사용할 수 있다.또는 레거시 코드를 지원하기 위해 교차 플랫폼 가상화를 사용할 수 있으며, 레거시 코드는 보다 새롭고 빠른 시스템에서 실행되어도 가상화 오버헤드가 발생하더라도 적절한 성능을 유지할 수 있다.
다른 컴퓨터 시스템을 위해 컴파일된 소프트웨어를 실행할 수 있는 추상화 계층을 만들어냄으로써 교차 플랫폼 가상화는 1974년 제럴드 J. 포펙과 로버트 P. 골드버그가 작성한 기사 "가상화가 가능한 제3세대 아키텍처에 대한 공식 요구사항"[1]에서 요약한 포픽과 골드버그의 가상화 요구 사항을 특징짓는다.교차 플랫폼 가상화는 운영 체제 호 매핑을 포함하면 보다 완벽한 가상화 환경을 제공하기 때문에 하나의 명령 집합을 다른 명령 집합으로 직접 변환하는 것을 수반하는 단순한 에뮬레이션 및 바이너리 변환과는 구별된다.교차 플랫폼 가상화는 일반적으로 x86이나 Power ISA와 같은 단일 명령 집합으로 제한되기 때문에 서버 가상화 및 데스크톱 가상화 솔루션도 보완적이다.현대의 교차 플랫폼 가상화 변형은 게스트 대 호스트 시스템 변환에 발생하는 비용의 일부를 상쇄하기 위해 하드웨어 가속 기술을[2] 채택할 수 있다.
참고 항목
참조
- ^ 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.
- ^ 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.