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