응용 프로그램 가상화
Application virtualization![]() | 이 기사는 그 주제의 한 측면에만 지나치게 치우쳐 있을 수 있다.(2019년 2월) |
애플리케이션 가상화는 컴퓨터 프로그램이 실행되는 기본 운영 체제의 컴퓨터 프로그램을 캡슐화하는 소프트웨어 기술입니다.완전히 가상화된 애플리케이션은 기존의 [1]의미로는 설치되지 않지만 여전히 그대로 실행됩니다.응용 프로그램은 원래 운영 체제 및 이 운영 체제에서 관리되는 모든 리소스와 직접 인터페이스하는 것처럼 실행 시 동작하지만, 분리하거나 샌드박스를 만들 수 있습니다.
이 문맥에서 "가상화"라는 용어는 캡슐화(애플리케이션)되는 아티팩트를 가리키며, 이는 추상화(물리 하드웨어)되는 아티팩트를 가리키는 하드웨어 가상화의 의미와는 상당히 다릅니다.
묘사
완전한 애플리케이션 가상화를 위해서는 가상화 [2]계층이 필요합니다.애플리케이션 가상화 계층은 일반적으로 운영 체제에서 제공하는 런타임 환경의 일부를 대체합니다.이 계층은 가상화된 애플리케이션의 모든 디스크 작업을 가로채고 가상 [3]위치(대부분 단일 파일)로 투명하게 리디렉션합니다.애플리케이션은 물리적 리소스가 아닌 가상 리소스에 액세스하는 것을 인식하지 못합니다.어플리케이션이 시스템 전체에 분산되어 있는 많은 파일이 아닌 하나의 파일로 동작하게 되었기 때문에 어플리케이션을 다른 컴퓨터에서 쉽게 실행할 수 있게 되어 이전에는 호환되지 않았던 어플리케이션을 병렬로 실행할 수 있게 되었습니다.Windows 플랫폼용 이 테크놀로지의 예는 다음과 같습니다.
- 카메요
- 씨도
- Citrix XenApp
- Microsoft App-V
- Numecent 클라우드 페이징
- Oracle Secure 글로벌 데스크톱
- 샌드박스
- 음영 샌드박스
- 터보(소프트웨어)(구 스푼 및 Xenocode)
- Symantec 워크스페이스 가상화
- VMware ThinApp
- V2 클라우드
혜택들
애플리케이션 가상화를 통해 네이티브 애플리케이션에 적합하지 않은 환경에서 애플리케이션을 실행할 수 있습니다.예를 들어 Wine을 사용하면 일부 Microsoft Windows 응용 프로그램을 Linux에서 실행할 수 있습니다.
애플리케이션 가상화는 조직 내 여러 다양한 컴퓨터 간에 공통 소프트웨어 기준선을 유지함으로써 시스템 통합 및 관리 비용을 절감합니다.통합이 적으면 운영 체제 및 기타 응용 프로그램이 제대로 작성되지 않거나 버그가 있는 코드로부터 보호됩니다.경우에 따라 메모리 보호, IDE 스타일의 디버깅 기능이 제공되며, 읽기 전용의 시스템 소유의 장소에 유저 데이터를 격납하려고 하는 애플리케이션 등, 올바르게 기입되지 않은 애플리케이션을 실행할 수도 있습니다.(이 기능은 최종 사용자가 제대로 기술되지 않은 응용 프로그램을 실행하기 위해 관리자 권한을 가질 필요가 없도록 함으로써 최소 권한 원칙을 구현하는 데 도움이 됩니다).호환되지 않는 애플리케이션을 동시에 동시에[4] 동시에 동시에 동시에 실행할 수 있으며 서로에 [5]대한 회귀 테스트를 최소화할 수 있습니다.애플리케이션을 operating system으로부터 분리하면, 시큐러티상의 이점도 있습니다.가상화 애플리케이션의 공개에 의해서 자동적으로 [4]OS 전체가 공개되는 것은 아니기 때문입니다.
애플리케이션 가상화로 운영체제의 이행도 [4]심플화할 수 있습니다.애플리케이션을 설치할 필요 없이 이동식 미디어 또는 컴퓨터 간에 전송할 수 있으므로 휴대용 [6]소프트웨어가 됩니다.
애플리케이션 가상화는 별도의 가상 시스템보다 적은 리소스를 사용합니다.
제한 사항
모든 컴퓨터 프로그램을 가상화할 수 있는 것은 아닙니다.예를 들어 디바이스 드라이버(OS와의 통합의 일종)가 필요한 애플리케이션과 공유 메모리 공간에서 [7]실행해야 하는 16비트 애플리케이션이 있습니다.Windows Blinds나 StyleXP와 같이 고도의 OS 통합을 필요로 하는 바이러스 대책 프로그램이나 애플리케이션은 가상화하기가 어렵습니다.
또한 소프트웨어 라이선스에서 애플리케이션 가상화는 주로 애플리케이션 가상화 소프트웨어와 가상화된 애플리케이션 모두에 올바른 라이선스를 [8]부여해야 하기 때문에 큰 라이선스 함정을 안고 있습니다.
애플리케이션 가상화는 레거시 애플리케이션과 최신 운영 체제 간의 파일 및 레지스트리 레벨 호환성 문제에 대처할 수 있지만 히프를 올바르게 관리하지 않는 애플리케이션은 가상화 [9]여부에 관계없이 동일한 방식으로 메모리를 할당하기 때문에 Windows Vista에서 실행되지 않습니다.이 때문에,[10] 애플리케이션을 가상화하고 있는 경우에서도, 전문 애플리케이션 호환성 수정(심)이 필요한 경우가 있습니다.
다중 호환성 모델 내의 기능 불일치는 유틸리티에 의한 접근포인트가 퍼블릭네트워크 내에서 공유되는 추가 제한입니다.이러한 제한은 시스템 레벨의 공유 포인트 [11]드라이버를 지정함으로써 해결됩니다.
관련 테크놀로지
애플리케이션 가상화의 대상이 되는 테크놀로지 카테고리는 다음과 같습니다.
- 응용 프로그램 스트리밍애플리케이션의 코드, 데이터, 설정은, 기동전에 애플리케이션 전체가 전달되는 것이 아니고, 최초로 필요한 때에 전달됩니다.패키지화된 애플리케이션을 실행하려면 Lightweight 클라이언트애플리케이션을 인스톨 할 필요가 있는 경우가 있습니다.패키지는 보통 HTTP, CIFS 또는 RTSP [4][citation needed]등의 프로토콜을 통해 전달됩니다.
- 리모트 데스크톱 서비스(구 터미널 서비스)는 Microsoft Windows의 서버 기반 컴퓨팅/프레젠테이션 가상화 컴포넌트입니다.사용자는 네트워크를 통해 리모트 컴퓨터에 호스트된 애플리케이션과 데이터에 액세스할 수 있습니다.원격 데스크톱 서비스 세션은 단일 공유 서버 운영 체제(Windows Server 2008 R2 이후 등)에서 실행되며 원격 데스크톱 프로토콜을 사용하여 액세스합니다.
- 데스크톱 가상화 소프트웨어 테크놀로지는 데스크톱 환경 및 관련 애플리케이션의 일부 또는 전부를 액세스에 사용하는 물리 클라이언트 디바이스에서 분리함으로써 PC 데스크톱 환경의 이식성, 관리성 및 호환성을 향상시킵니다.이 접근방식의 일반적인 구현은 하이퍼바이저를 실행하는 서버 하드웨어 플랫폼에서 여러 데스크톱 운영 체제 인스턴스를 호스팅하는 것입니다.이를 일반적으로 "가상 데스크톱 인프라"(VDI)라고 합니다.
「 」를 참조해 주세요.
- 워크스페이스 가상화
- 운영체제 수준의 가상화('컨테이너화')
- 휴대용 응용 프로그램 제작자
- 응용 프로그램 가상 시스템 비교
- 심(컴퓨팅)
- 가상 응용 프로그램
레퍼런스
- ^ "Microsoft Application Virtualization Technical Overview". microsoft.com. Microsoft. Retrieved 1 July 2017.
- ^ Husain, Amir. "How to build an Application Virtualization Framework". vdiworks.com. VDIworks. Retrieved 1 July 2008.
- ^ Gurr, Coby (28 July 2008). "Facilitating Microsoft Windows Vista Migration Through Application Virtualization" (PDF). dell.com. Dell.
- ^ a b c d Winslow, Philip; Semple, Robert; Maynard, Jason; Simson, Dennis; McGrath, Bryan (26 November 2007). "Desktop Virtualization Comes of Age" (PDF). Credit Suisse. Archived from the original (PDF) on 20 February 2009. Retrieved 3 March 2008.
- ^ "Overview Series: Windows Vista Application Compatibility". TechNet. Microsoft. Retrieved 1 July 2017.
- ^ Pernar, Domagoj (31 October 2009). "Application Virtualization Download repository, and how to make applications portable". TechyCentral.com. Archived from the original on 24 February 2011.
- ^ Varhol, Peter (1 September 2007). "Application Virtualization Hits Its Stride". Redmond Magazine. 1105 Media. Archived from the original on 10 June 2008.
- ^ Sommer, Tim (June 2012). "Top 200 SAM Terms – A Glossary Of Software Asset Management Terms". omtco.eu. OMTCO. Retrieved 20 May 2013.
- ^ Marinescu, Adrian (3 August 2006). "Windows Vista Heap Management Enhancements" (PDF). blackhat.com. Microsoft.
- ^ Jackson, Chris (30 April 2008). "Can You Shim Applications Virtualized in SoftGrid?". Microsoft.
- ^ Enzler, R (2003). "Virtualizing hardware with multi-context reconfigurable arrays". International Conference on Field Programmable Logic and Applications.