VirtualBox介紹

概述:

VirtualBox是一個功能強大的基於x86平臺的虛擬化產品,VirtualBox可以運行在Windows,linux,mac和OpenSolaris系統上,並且支持大量的客戶操作系統,包括windows,Linux,Solaris和OpenSolaris還有FreeBSD。 VirtualBox採用全虛擬化技術,就是模擬操作系統所需的所有硬件,這樣操作系統可以不經修改運行於硬件平臺之上。這種方法也常常叫做“本地虛擬化”,它是不同於僅僅模仿的。這種方法中,客戶代碼是不允許直接運行與宿主計算機上的。相反的,每一條機器指令都被翻譯(“模擬”)。 VirtualBox是一個開源源碼軟件,發佈在GNU GPL下。

特點:

模塊化:VirtualBox有非常好的模塊化設計,以及定義好的編程接口、C/S設計。這使得控制VirtualBox變得很容易:例如,你可以啓動在一個虛擬機的GUI環境下啓動一個虛擬機,然後通過命令行來控制它;或者遠程地控制。VirtualBox還有一套完成的SDK。 XML描述虛擬機:虛擬機的配置完全通過XML文件完成,虛擬機的定義可以很容易的在不同計算機之間移植。 對於Windows和Linux的客戶附件:VirtualBox有提供特殊的軟件套件可以安裝在Windows和Linux下來改善其性能以及集成。 VirtualBox進程: 當啓動VirtualBoxGUI時,一個額外進程VBoxSVC開始啓動。一旦從GUI啓動一個虛擬機(VM),這時將會有兩個window(一個主窗口,一個虛擬機窗口),有三個進程在運行。一個是對應主窗口,一個對應於所啓動的VM,一個是一個服務Daemon進程。對於host操作系統,所啓動的VM就是一個進程。 有兩種封裝對於VirtualBox的文件和進程:

1. Client/Server 架構。正在運行的VirtualBox和VM的各個方面可以通過一個簡單而且功能強大的COM/XPCOM API來控制。例如,有一個叫做VboxManage的命令行工具,可以想GUI一樣控制所有的VM

2. 前臺/後臺 架構。在Linux上的VBoxVMM.so是VirtualBox的核心部件。

虛擬機內部:

從宿主操作系統的角度看,一個虛擬機只是一個進程。宿主操作系統不需要太多的特殊支持針對虛擬化。VirtualBox會有一個Ring0級別的驅動需要裝載在host OS中,來支持VirtualBox的工作,它只是負責給VM分配物理內存;處理CPU寄存器等。 在虛擬機啓動之後,宿主計算機可以運行在幾個不同的狀態下:

1. CPU在執行host Ring-3代碼,或者host Ring-0代碼(就像在沒有運行VirtualBox的狀態下)

2. CPU模擬客戶代碼(Ring-3的宿主VM進程)。基本上,VirtualBox儘量以本地的方式運行guest code。VirtualBox的虛擬器(src/emulator)是基於QEMU項目的。

3. CPU本地運行客戶Ring-3代碼。

4. 本地運行客戶Ring-0代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章