VirtualBox(Oracle VM VirtualBox)
공식 사이트 www.virtualbox.org
기존 운영 시스템 ( 호스트 OS )에 응용 프로그램의 하나로서 설치되며 이중 추가 운영 체제 (게스트 OS ) 를 실행할 수 있다. 예를 들어, Windows XP가 호스트 OS로 동작하고 있는 시스템에서 Linux를 Guest로 할 수 있다. 또는 Solaris가 실행 되는 시스템에서 Windows Vista를 게스트 OS로 실행할 수 있다.
지원되는 호스트 OS는 Linux, Mac OS X, Windows,그리고 Solaris. 또한 후술하는 바와 같이 소스 코드가 배포되고 있기 때문에, 다른 Unix 계열의 OS 에도 도입 할 수있다. 예를 들어 FreeBSD는 ports에 도입 할 수 있다.
게스트 OS로 지원 되는 것은 FreeBSD, Linux , OpenBSD, OS / 2 Warp, Windows, Mac OS X Server, Solaris등 다방면에 걸쳐 x86/x64 아키텍처의 OS 라면 기본적으로 작동 한다.
DesktopLinux.com의 2007 조사에 따르면, VirtualBox는 Linux 데스크탑에서 Windows 프로그램들을 실행시키는 세번째로 가장 인기있는 소프트웨어 패키지였다.
버추얼 박스 역사
처음에는 독점 소프트웨어 라이센스로 제공되었으며 VirtualBox 에있는 버전은 개인 적인 사용에만 무료 이며, 'VirtulBox Personal Use and Evaluation Licence ( PUEL )'가 적용 됐다. 2007 년 1 월, 몇 년 개발후, VirtualBox OSE ( Open Source Edition )이 자유 소프트웨어로, 상업 및 개인적인 사용을 위해 출시된 GNU General Public License ( GPL ) version 2가 적용 되었다.
VirtualBox의 개발자 였던 innotek는 Connectix 가상화 제품 ( 후 마이크로 소프트에 인수 )에 대한 OS / 2 및 Linux 의 가상화 지원 개발과 OS / 2 이식에도 공헌 했다. 특히 innotek 는 Microsoft Virtual PC 및 Microsoft Virtual Server 모두에 포함된 '추가' 코드를 개발하고 이것은 호스트간의 상호 작용을 시켰다. OS / 2 는 확장된 링보호가 복잡하고 가상화 실행하는 것은 곤란했다.
2008 년 2 월 Innotek는 썬 마이크로 시스템즈에 인수됨에 따라 버전 1.6 보다 제품 표기가 Sun xVM VirtualBox로 고쳐졌다.
그후, 2010 년 1 월에 오라클에 인수 되었다. 이에 따라 버전 3.20 보다 권리 표기의 변경이 다시 행해져 제품 표기가 Oracle VM VirtualBox로 개정 되어 현재에 이르고있다.
배포 형태의 변천
현재 VirtualBox는 GNU General Public License ( GPL ) Version2 에서 허가된 완전한 오픈 소스 소프트웨어( OSS )이지만, 3.x 이전 버전에서는 독점 판과 OSS 버전의 두 배포 방식이 있었다.
독점 버전은 바이너리만 배포 에서 개인 및 교육 또는 평가 목적의 제품을 무료로 이용 하였다. 상업적인 목적의 라이센스는 Sun과 오라클에서 구입할 수 있다.
OSS 버전은 VirtualBox Open Source Edition ( OSE ) - 오픈 소스 버전이라고하며 GNU GPL의 공개된 자유 소프트웨어 였다. 4.x 이상은 이쪽이 베이스가되고 있다. 독점 버전과 비교하면 특허등의 사정으로 소스가 비공개로되어 있는 기능이 결여 된다.
버전 4.0 보다 OSS 버전에 플러그인 기능이 탑재되어 기능 추가가 가능 해졌다. 이에 따라 오라클에서 제공한 위 두버전은 통합, 본체를 오픈 소스에서 추가 기능을 플러그인 ( 라이센스 제공자의 사정으로 독점도 오픈 소스도 좋다 )으로 제공하는 형태였다. 3.x 이전에 독점 버전에만 포함된 기능은 오라클 에서 'Oracle VM VirtualBox Extension Pack' 으로 볼 수 있다.
에뮬레이트된 환경
여러 게스트 OS를 관리, 실행해 동시에 실행할 수도 있다. 각 게스트 OS는 독립적으로 시작, 실행의 일시 정지, 시작되어있는 상태를 유지하고 저장 및 복귀, 종료 수있다.
여러 운영 체제를 동시에 실행할 경우 사용 가능한 메모리가 중요한 요소가된다. 이론적 할당 한계는 호스트 OS측의 메모리 용량까지되지만, 실제로 시스템 또는 호스트 OS 측에서 실행되는 응용 프로그램도 있으므로, 그만큼을 계산하여 할당할 필요가있다. 할당 논리 CPU 코어수와 메모리 할당 용량은 가상 머신 중지 하면 쉽게 조정 가능하다. 그러나 WindowsXP의 경우 설치후 CPU 코어수는 일반적인 방법으로는 변경할 수 없다. OS 설치시에 미리 CPU 코어수를 설정하여 설치하는 것이 가장 쉬운방법이다. OS 설치후 변경에는 적절한 드라이버를 설치하거나 boot.ini 편집등 약간의 수고가 필요가 있다.
하드웨어 에뮬레이션
VirtualBox는 하드웨어 가상화 지원 기능으로 VT - x ( 인텔 )와 AMD - V ( AMD )에 대한 대응을 포함한다. 해당 당초는 기본적으로 모두 활성화되어 있지 않았지만 현재 버전에서 제공되는 기능의 일부 ( x86_64 대응 멀티 코어 지원 )에는 이러한 가상화 기능을 필요로하는것이 있다.
하드 디스크
하드 디스크 드라이브는 일반적으로 '가상 디스크 이미지 ( Virtual Disk Images )' 라는 다른 가상화 솔루션과 호환되지않는 특별한 컨테이너 형식으로 에뮬레이트 된다. 이들은 호스트 OS의 시스템 파일 ( 확장자가. vdi )로 저장 된다. 다른 방법으로 VirtualBox 는 iSCSI 대상과의 연결이 가능하며, 이를 가상 하드 디스크로 사용할 수있다.
이 밖에 다른 가상 머신 소프트웨어에서 쓰이는 vmdk 형식 ( VMware ), vhd 형식 ( Microsoft Virtual PC ) , hdd 형식 ( Parallels )등의 가상 디스크 이미지에도 대응 한다. 그러나 이러한 디스크 이미지는 원래 VirtualBox 위한 형식은 아니기 때문에, 포맷 버전과 VirtualBox 버전의 대응등 이용에 있어서는 호환성면에서 주의가 필요하지만, 유시에 의해 변환 유틸리티가 몇가지 개발하고, (당연히 무보증 가되지만 ) 이 가상 디스크 형식에서 상호 변환 할 수있는 환경이 모여지고 있다.
광학 드라이브
CD 및 DVD 드라이브로 ISO 이미지를 사용할 수있다. 예를 들어, Linux 배포판의 DVD 이미지를 다운로드 하여 직접 VirtualBox 에서 사용할 수 있다. 이 경우 ISO 이미지를 CD - R 이나 DVD - RW 같은 물리적 미디어를 준비 할 필요가 없다. 또한 물리적 디스크를 가상 머신에서 직접 마운트 할 수있다.
그래픽 기능
표준 16MB의 VRAM을 탑재하는 VESA 카드 그래픽 기능 제공 ( VRAM 값은 128MB 를 상한으로 조절 가능). 게스트 OS로 Windows, OS X, Linux 또는 Solaris를 사용하는 경우 Guest Addtions 로 제공되는 추가의 그래픽 드라이버는 묘사 성능 향상 및 기능 추가가 가능하다. 예를 들어, 호스트 OS상에서 가상 머신 의 윈도우 크기를 변경한 경우 게스트 OS의 해상도가 동적으로 변경 된다. 또한 버전 2.1 이상에서는 추가 그래픽 드라이버는 OpenGL 및 DirectX 9 와 같은 3D 묘사에 해당한다.
네트워크 기능
이더넷 어댑터로 AMD PCnet - PCI II ( Am79C970A ), AMD PCnet - FAST III ( Am79C973 ), Intel PRO/1000 MT Desktop ( 82540EM ), Intel PRO/1000 T Server ( 82543GC ), Intel PRO/1000 MT Server ( 82545EM )중 하나를 가상화 한다. 이러한 가상화된 어댑터가 외부와의 연결 수단으로 NAT ( 호스트 OS 에 따르면 NAPT 기능 ), 브리지 어댑터 ( 호스트 OS의 물리적 인터페이스와 브리지 기능 ) 내부 네트워크 (게스트 OS 끼리를 연결하는 내부 네트워크 ) 호스트 온리 어댑터 ( 호스트 OS의 가상 Ethernet 어댑터와 직접적으로 연결 )이 제공 된다. 새로 생성된 가상 머신은 하나의 어댑터 및 NAT 조합이 설정된다. 게스트 OS의 응용 프로그램은 이를 통해 호스트 OS를 통해 외부와 통신이 가능해진다. NAT를 제공하는 호스트 OS는 일반적인 광대역 라우터와 같은 동작을 한다.
오디오 기능
오디오 카드 로 VirtualBox 는 Intel HD 오디오, ICH AC'97 ( 기본값) SoundBlaster 16 카드중 하나를 가상화 (단, Intel HD 오디오 는 해당 게스트 OS 에 제한이 있다).
추가 기능
버전 4.0 보다 Extension Package 라는 기능 확장 플러그인이 도입 되었다.
Oracle에서 'Oracle VM VirtualBox Extension Pack'라는 기능 확장 플러그인을 배포 하고 있으며, 이를 통해 다음과 같은 기능이 제공 된다.
USB 2.0 컨트롤러 ( EHCI )
Remote Desktop Protocol ( RDP )을 통한 원격 제어 기능 ( 마이크로 소프트와 시토리쿠스 의해 개발된 독점 원격 제어 프로토콜 즉 Windows 원격 데스크톱 클라이언트 및 rdesktop 소프트웨어에서 연결하는 것이 가능 )
Intel 카드로 PXE 부팅 기능
원활한 모드 ( 호스트 OS 와 게스트 OS 의 데스크탑 작업을 통합하는 기능 )
이 기능은 버전 3.x 이전 버전 에서 전체 VirtualBox 패키지 의 추가 기능 으로 제공 되고 있던 것이다.
phpVirtualBox
phpVirtualBox는 VirtualBox를 Web 브라우저에서 작동하는 웹 서비스 소프트웨어이다. 그 이름대로 서버 사이트는 PHP로 기술된 다른 인터페이스 주위에 Ajax가 이용되고 있다. 동작은 PHP 동작을 지원하는 Web 서버, PHP, VirtualBox가 필요하다. GUI 에서 할 수있는 거의 모두 할수있게 되어있다.
기술 해설
VirtualBox는 가능한한 많은 코드를 네이티브로 ( 호스트 프로세서에서 직접 ) 실행 시키려고 한다. 이것은 사용자 모드 코드에 대해서도 작동한다. VirtualBox는 비교적 참신한 접근 방식으로 모순을 해결 했다. 그것은 게스트 운영 체제 를 속이고 그 링 0 코드가 실제로 링 1에서 실행 된다. 링 1은 일반적으로 인텔 아키텍처 상에서 동작하는 OS에서는 사용 되지 않는다.
만약 문제가 발생하면 VirtualBox는 임베디드의 동적 컴파일러에서 다른 가상화 프로그램이 되도록 한다. VirtualBox를 다시 컴파일러는 무료 오픈 소스 QEMU를 기반으로 하고있다. 추가로 VirtualBox는 자동으로 분해 하고 많은 상황에서 고객의 코드가 향후 다시 컴파일 되는 것을 피한다. 결과적으로 게스트의 링3 과 링 0 코드를 대부분의 경우 기본적으로 수행 할 수 있다.
VirtualBox 는 또한 더 나은 효율과 더 높은 보안을 위해 Intel VT 와 AMD AMD - V 하드웨어의 협력 가상화 를 지원 한다.
Mac OS X 버전 에서는 네트워크 브리지 ( 호스트 인터페이스 )가 지원 되지 않았지만, 버전 2.0 에서 지원 되었다.
'IT > Application' 카테고리의 다른 글
엑스코드(Xcode)에 관하여 (0) | 2013.11.24 |
---|---|
파라렐스 (Parallels Desktop for Mac, Workstation) (0) | 2013.11.23 |
VMware (VMware , Inc.) (0) | 2013.11.19 |
애플 컴퓨터를 위한 부트캠프(Boot Camp) (0) | 2013.11.15 |
음악제작 프로그램 Studio Vision (0) | 2013.11.12 |