IT系統(tǒng)運(yùn)維| 虛擬機(jī)與沙盒的區(qū)別
| 2020-04-28 13:33:53 標(biāo)簽:
IT系統(tǒng)運(yùn)維| 虛擬機(jī)與沙盒的區(qū)別
作為IT運(yùn)維經(jīng)常會(huì)使用虛擬機(jī)來(lái)測(cè)試系統(tǒng),用沙盒來(lái)檢測(cè)病毒。但虛擬機(jī)和和沙盒具有很多相同的特點(diǎn),因而容易混淆。在討論虛擬機(jī)和沙盒區(qū)別之前,我們先來(lái)看下一般計(jì)算機(jī)的大致結(jié)構(gòu)(在一個(gè)很高的抽象層次上)。
一般的計(jì)算機(jī)結(jié)構(gòu):

從圖中可以看出,操作系統(tǒng)operation system(簡(jiǎn)稱(chēng)os)windows作為應(yīng)用程序application和硬件hardware的驅(qū)動(dòng)程序driver的橋梁。application運(yùn)行在windows之上并通過(guò)windows與用戶user和機(jī)器硬件進(jìn)行“互動(dòng)”(在操作系統(tǒng)出現(xiàn)之前只有專(zhuān)業(yè)人員會(huì)操作計(jì)算機(jī),正是因?yàn)橛辛瞬僮飨到y(tǒng)的出現(xiàn),普通人也能夠操作計(jì)算機(jī))。此外,操作系統(tǒng)負(fù)責(zé)訪問(wèn)硬盤(pán)上的文件資源,并通過(guò)驅(qū)動(dòng)程序來(lái)控制機(jī)器硬件。驅(qū)動(dòng)程序有很多,針對(duì)不同的硬件需要配置不同的驅(qū)動(dòng)程序。
沙盒sandbox:
沙盒的特點(diǎn)在于很好的系統(tǒng)隔離性。在某種程度上,沙盒sandbox可以視為一個(gè)容器container,application運(yùn)行在沙盒中,沙盒運(yùn)行在windows操作系統(tǒng)上。運(yùn)行在沙盒中的application和沙盒外的application一樣可以訪問(wèn)硬盤(pán)中的文件等資源。運(yùn)行在沙盒中的application和沙盒外的application的主要區(qū)別在于:
1. 對(duì)于沙盒外的application而言,沙盒內(nèi)的application是透明的(即不可見(jiàn)的);
2. 當(dāng)沙盒內(nèi)的application退出后,所做的更改將不會(huì)被保存。
一個(gè)很好的例子是:當(dāng)沙盒內(nèi)的application退出后,沙盒內(nèi)的application已下載或“安裝”的惡意軟件都將被丟棄。
虛擬機(jī)virtual machine:
虛擬機(jī)簡(jiǎn)稱(chēng)VM,其本質(zhì)上是一個(gè)運(yùn)行在操作系統(tǒng)之上的application,其特殊之處在于,虛擬機(jī)通過(guò)軟件的方法模擬出一個(gè)完整獨(dú)立的計(jì)算機(jī)的環(huán)境(但是并不是真是的計(jì)算機(jī)環(huán)境),這也是虛擬機(jī)名字的由來(lái)。因此,虛擬機(jī)就像是真實(shí)計(jì)算機(jī)的一個(gè)copy副本,虛擬機(jī)可以視為“機(jī)器內(nèi)部的機(jī)器”。比如我們經(jīng)常在windows操作系統(tǒng)上安裝一個(gè)linux虛擬機(jī),在這種情況下windows被稱(chēng)為host,linux被稱(chēng)為guest,一個(gè)host上可以安裝多個(gè)guest虛擬機(jī),就像是一個(gè)windows上可以安裝多個(gè)application。

帶有沙盒的計(jì)算機(jī)結(jié)構(gòu)
運(yùn)行在沙盒中的application和沙盒外的application共享機(jī)器的存儲(chǔ)內(nèi)存和計(jì)算資源。

帶有虛擬機(jī)的計(jì)算機(jī)結(jié)構(gòu)
在一個(gè)虛擬機(jī)內(nèi)部,可以安裝很多個(gè)application,這些application可以使用虛擬機(jī)內(nèi)部的資源,包括虛擬硬盤(pán)和計(jì)算資源。此外虛擬機(jī)內(nèi)部可以享有屬于自身的驅(qū)動(dòng)程序,因此虛擬機(jī)是作為一個(gè)application,利用真是的硬件資源來(lái)模擬了屬于自己的硬件資源和軟件環(huán)境。因此當(dāng)虛擬機(jī)退出后,發(fā)生在虛擬機(jī)內(nèi)部的更改(包括下載、設(shè)置、更新、安裝等操作)會(huì)被保存下來(lái)。

帶有多個(gè)虛擬機(jī)的計(jì)算機(jī)結(jié)構(gòu)
經(jīng)過(guò)上面的討論,我們可以看出虛擬機(jī)和沙盒的主要區(qū)別在于:
1. 當(dāng)沙盒中的應(yīng)用程序退出后,其所做的更改會(huì)被丟棄;而當(dāng)虛擬機(jī)退出后,其所做的更改會(huì)被保存下來(lái);
2. 沙盒中的application和其他application共享機(jī)器的硬件資源;而虛擬機(jī)在安裝時(shí)需要為其指定內(nèi)存memory和cpu核且虛擬機(jī)不和其他application共享硬件資源。因此虛擬機(jī)實(shí)際上是很耗系統(tǒng)資源的。
以上內(nèi)容由北京艾銻無(wú)限科技發(fā)展有限公司整理