應(yīng)用程序在很大的程度上依賴于操作系統(tǒng)為其提供的功能,比如內(nèi)存分配、設(shè)備驅(qū)動、服務(wù)進(jìn)程、動態(tài)鏈接庫等。這些應(yīng)用程序 之間也存在著復(fù)雜的依存關(guān)系。它們通常共享許多不同的程序部件,比如動態(tài)鏈接庫。如果一個程序的正確運行需要一個特定的動態(tài)鏈接庫,而另一個程序需要這個 動態(tài)鏈接庫的另一個版本,那么在同一個系統(tǒng)上同時安裝這兩個應(yīng)用程序,就會造成動態(tài)鏈接庫的沖突,其中一個程序會覆蓋另一個程序所需要的動態(tài)鏈接庫,造成 另一個程序的不可用。因此,系統(tǒng)或其它應(yīng)用程序的改變(如執(zhí)行升級補丁等)都有可能導(dǎo)致應(yīng)用之間的不兼容。當(dāng)一個企業(yè)要為其組織中的桌面系統(tǒng)安裝新的應(yīng)用 時,總是要進(jìn)行嚴(yán)格的而煩瑣的測試,來保證新應(yīng)用與系統(tǒng)中的已有應(yīng)用不產(chǎn)生沖突。這個過程需要耗費大量的人力、物力、和財力。  有了應(yīng)用虛擬化,應(yīng)用可以運行在任何共享的計算機資源上。應(yīng)用虛擬化為應(yīng)用程序提供了一個虛擬的運行環(huán)境。在這個環(huán)境中,不僅擁有應(yīng)用程序的可執(zhí)行文件, 還包括它所需要的運行時環(huán)境。應(yīng)用虛擬化為企業(yè)內(nèi)部的IT管理提供了便利。在應(yīng)用虛擬化之前,如果管理員要對一個應(yīng)用程序進(jìn)行更新,他必須處理每一臺機器 可能出現(xiàn)的不同類型的不兼容情況。采用應(yīng)用虛擬化技術(shù)后,管理員只需要更新虛擬機環(huán)境中的應(yīng)用程序副本,將其發(fā)布出去。
應(yīng)用虛擬化是把應(yīng)用對底層的系統(tǒng)和硬件的依賴抽象出來,從而解除應(yīng)用與操作系統(tǒng)和硬件的耦合關(guān)系。應(yīng)用程序運行在本地的應(yīng)用虛擬化環(huán)境中,這個環(huán)境為應(yīng)用 程序屏蔽了底層可能與其它應(yīng)用產(chǎn)生沖突的內(nèi)容,如動態(tài)鏈接庫。這簡化了應(yīng)用程序的部署或升級,因為程序運行在本地的虛擬環(huán)境中,不會與本地的安裝的其它程 序產(chǎn)生沖突,同時帶來應(yīng)用程序升級的便利。
|