書名: 物聯(lián)網(wǎng)嵌入式技術(shù)項目教程作者名: 張小恒 李靜主編本章字?jǐn)?shù): 2247字更新時間: 2023-06-28 16:06:04
1.1.4 虛擬機(jī)嵌入式開發(fā)相關(guān)知識
虛擬機(jī)(Virtual Machine,VM)是指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機(jī)系統(tǒng)。在實體計算機(jī)中能夠完成的工作在虛擬機(jī)中都能夠?qū)崿F(xiàn)。在計算機(jī)中創(chuàng)建虛擬機(jī)時,需要將實體機(jī)的部分硬盤和內(nèi)存容量作為虛擬機(jī)的硬盤和內(nèi)存容量。每個虛擬機(jī)都有內(nèi)存、硬盤和操作系統(tǒng),可以像使用實體機(jī)一樣對虛擬機(jī)進(jìn)行操作。
1.資源配置
虛擬機(jī)資源涉及多個方面,如CPU、內(nèi)存、網(wǎng)絡(luò)以及磁盤。在規(guī)劃虛擬機(jī)時應(yīng)該考慮這些資源之間的關(guān)系,如果分配資源不合理,將會導(dǎo)致虛擬機(jī)內(nèi)的應(yīng)用程序性能表現(xiàn)不佳。
(1)CPU
虛擬機(jī)的每個虛擬CPU(vCPU)只運行在一個物理核心之上,因此CPU頻率越高虛擬機(jī)的運行速度也就越高,vCPU數(shù)量越多越有助于提升應(yīng)用的性能表現(xiàn)。如果虛擬機(jī)需要占用大量的CPU時間,那么可以考慮為虛擬機(jī)分配第二個vCPU,但是為虛擬機(jī)分配兩個以上vCPU并不一定能讓應(yīng)用運行得更快,因為只有多線程應(yīng)用才能有效地使用多個vCPU。
(2)RAM
RAM資源通常有限,因此在給虛擬機(jī)分配RAM時需要格外小心。物理內(nèi)存被完全占用后,必須確定哪些虛擬機(jī)能夠保留物理內(nèi)存,哪些虛擬機(jī)要釋放物理內(nèi)存,這稱為“內(nèi)存回收”。當(dāng)虛擬機(jī)占用的物理內(nèi)存被回收后,存在的一個風(fēng)險就是會對虛擬機(jī)的性能造成影響。虛擬機(jī)被回收的內(nèi)存越多,相應(yīng)的風(fēng)險也就越大。最明智的做法是只為虛擬機(jī)分配完成工作所需要的內(nèi)存。分配額外的內(nèi)存將會增加回收風(fēng)險。
(3)網(wǎng)絡(luò)帶寬
網(wǎng)絡(luò)帶寬包括兩方面:一是虛擬機(jī)和虛擬交換機(jī)之間的帶寬,二是虛擬交換機(jī)與外部網(wǎng)絡(luò)之間的帶寬。對于與外部物理網(wǎng)絡(luò)的連接,一定要確保主機(jī)具備速度最快的物理網(wǎng)卡。進(jìn)行大量網(wǎng)絡(luò)傳輸?shù)奶摂M機(jī),虛擬機(jī)以及數(shù)據(jù)包的傳輸都會消耗CPU時間。因此,運行在CPU受限的服務(wù)器之上的虛擬機(jī)由于CPU無法快速響應(yīng)請求可能會面臨網(wǎng)絡(luò)吞吐量不高的情況。
(4)磁盤性能
磁盤性能往往是制約虛擬機(jī)性能的關(guān)鍵因素。虛擬機(jī)磁盤性能受陣列磁盤數(shù)量、類型以及運行在其上的虛擬機(jī)數(shù)量的限制。因為集中地共享存儲架構(gòu)將導(dǎo)致通過同一位置訪問所有的虛擬機(jī)磁盤,陣列的存儲控制器以及磁盤過載情況很容易出現(xiàn),只剩下虛擬機(jī)在等待存儲的響應(yīng)。虛擬機(jī)等待磁盤I/O、虛擬機(jī)CPU空閑對性能的影響有很大不同。等待I/O的虛擬機(jī)無法做其他工作,因此高I/O等待時間意味著性能肯定會下降。進(jìn)行周密的存儲設(shè)計以避免上述情況的發(fā)生至關(guān)重要。
2.主要用途
(1)演示不同環(huán)境
虛擬機(jī)上可以安裝各種演示環(huán)境,便于進(jìn)行各種演示。
(2)減小主機(jī)程序負(fù)擔(dān)
為保證主機(jī)的快速運行,減少安裝不必要不常用的程序,偶爾使用的程序或者測試用的程序可以在虛擬機(jī)上運行。
(3)方便復(fù)雜性、保密性應(yīng)用
虛擬機(jī)可避免每次重新安裝系統(tǒng),可將不常用且保密要求較高的軟件(如銀行類的常用工具)單獨放在一個環(huán)境下運行。
(4)方便特殊應(yīng)用測試
如果需要測試不熟悉的應(yīng)用,可以在虛擬機(jī)中隨便安裝和徹底刪除。
(5)同時使用多個操作系統(tǒng)
虛擬機(jī)同時使用不同操作系統(tǒng)十分方便,如Linux、Mac等系統(tǒng)都有多個不同版本,直接在主機(jī)中安裝代價極大,且無法同時使用和快速切換,這時可以采用虛擬機(jī),安裝不同的操作系統(tǒng)。
3.常用虛擬機(jī)軟件
(1)VMware Workstation
1999年,VMware公司發(fā)布了第一款產(chǎn)品——基于主機(jī)模型的虛擬機(jī)VMware Workstation。2001年又推出了面向服務(wù)器市場的VMware GSX Server和VMware ESX Server。
VMware Workstation可以同時運行各種Linux發(fā)行版、DOS、Windows的各種版本、UNIX等,甚至可以在同一臺性能強(qiáng)大的計算機(jī)上安裝多個Linux發(fā)行版、多個Windows版本。
VMware Workstation的優(yōu)點如下。
1)可同時在同一臺PC上運行多個操作系統(tǒng),每個操作系統(tǒng)都有自己的虛擬機(jī),就如同網(wǎng)絡(luò)上一個獨立的PC。
2)同時運行的兩個虛擬機(jī)之間可以相互進(jìn)行對話,一個虛擬機(jī)處于全屏模式,另一個虛擬機(jī)在后臺運行。
3)在虛擬機(jī)上安裝同一種操作系統(tǒng)的多個發(fā)行版,不需要重新對硬盤進(jìn)行分區(qū)。
4)虛擬機(jī)之間共享文件、應(yīng)用、網(wǎng)絡(luò)資源等。
5)可以運行客戶機(jī)-服務(wù)器(Client-Server,C/S)方式的應(yīng)用,也可以在同一臺計算機(jī)上使用另一臺虛擬機(jī)的所有資源。
(2)Parallels Desktop
Parallels Desktop是適用于Mac OS平臺的虛擬機(jī)解決方案??赏瑫r在一臺Mac OS計算機(jī)上隨時訪問Windows和Mac兩個系統(tǒng)上的應(yīng)用程序而無須重啟。相較VMware,Parallels Desktop無須重啟,在兩個系統(tǒng)同時運行期間可以實現(xiàn)文件互傳、素材共用。
此外,該虛擬機(jī)的融合模式(Coherence)支持不顯示W(wǎng)indows界面但是仍可使用Windows應(yīng)用程序,或者在Mac OS上保留熟悉的Windows背景與“開始”菜單。同時運行Windows與Mac OS兩種應(yīng)用程序的方式都不會對性能產(chǎn)生任何影響。
多虛擬機(jī)支持Windows、Linux、Chrome OS、Mac OS、Android OS等。
Parallels Desktop優(yōu)點如下。
1)無縫集成,在Mac設(shè)備上也能使用Siri與Cortana,它還支持iCloud、Dropbox與Google Drive。
2)性能較好,比如暫停虛擬機(jī)與重啟操作系統(tǒng)的速度較VMware Fusion 8.5快了3倍,可以實時優(yōu)化虛擬磁盤,只有在實際需要時才會占用空間。
3)方便開發(fā),免費為Docker、Jenkins和Chef等常用開發(fā)工具提供支持。
(3)Virtual PC
Virtual PC是微軟公司的虛擬化技術(shù)。允許在一個計算機(jī)上同時運行多個PC操作系統(tǒng),包括DOS、Windows、Windows Server 2003、UNIX、Linux等,比如在Windows里運行Windows和Linux。在較新的操作系統(tǒng)中運行Virtual PC虛擬機(jī)可以為傳統(tǒng)應(yīng)用提供安全環(huán)境以保持兼容性,它可以保存重新配置時間,方便相關(guān)支持和開發(fā)工作。
Virtual PC的優(yōu)點如下。
1)兼容性好,和大多數(shù)Windows系統(tǒng)的兼容性是最好的。
2)占用內(nèi)存小,使用方便。
3)對網(wǎng)絡(luò)的支持好,安裝完成系統(tǒng)后配置一下IP即可上網(wǎng)。
(4)Oracle VirtualBox
VirtualBox是由Oracle公司出品的軟件。
VirtualBox主要支持的操作系統(tǒng)包括:Linux、Mac OS、OpenSolaris、Solaris 10、Windows等。
值得注意的是VirtualBox是開源軟件,目前新版本已更新至VirtualBox 6.1.32。
VirtualBox的優(yōu)點如下。
1)小巧精悍,安裝文件下載方便,安裝占用的硬盤空間較小。
2)官網(wǎng)發(fā)布支持更新更多操作系統(tǒng)類型的速度比VMware WorkStation更快。
3)開源免費。