什麼是虛擬機 (VM)?

需要記住的要點

  • 虛擬機 (VM) 允許在同一設備上運行不同的操作系統或應用程序,而無需額外的硬件。

  • 虛擬機非常適合安全測試新軟件,嘗試其他系統或隔離潛在風險的程序。

  • 虛擬機,如以太坊虛擬機(EVM),允許智能合約和去中心化應用(DApps)在全球計算網路上可靠地運行。

  • 盡管虛擬機提供靈活性和控制,但它們可能在性能、資源使用和復雜性方面需要做出妥協。

介紹

您是否曾希望在您的 MacBook 上運行 Windows,或在不更改操作系統或購買第二臺計算機的情況下測試 Linux 應用程序?虛擬機使這成爲可能,創建一個隔離的環境,可以安全運行不同的操作系統和應用程序。它們在區塊鏈網路中也被廣泛使用,以管理智能合約和去中心化應用 (DApps)。

什麼是虛擬機?

虛擬機類似於您可以通過幾次點擊配置的計算機,無需額外硬件。您可以安裝操作系統、存儲文件、運行應用程序並連接到互聯網,但它是在您現有的計算機上運行的,稱爲主機。

您的主機系統在後臺完成大部分工作,分享其內存、計算能力和存儲,以便虛擬機能夠順利運行。如果您需要使用僅在其他操作系統上可用的軟件,這個系統特別有用。

虛擬機的工作原理

一個叫做超監控程序的軟件在後臺管理整個過程。超監控程序獲取您計算機的物理資源,如中央處理器(CPU)、隨機存取存儲器(RAM)和存儲,並將其共享,以便多個虛擬機可以同時使用這些資源。

存在兩種主要類型的虛擬機監控程序:

  • 類型 1 (本地) : 它們直接安裝在硬件上,通常用於數據中心或雲平台。它們旨在提供高性能和高效率。

  • 類型 2 (托管):這些虛擬機在您的常用操作系統上 (像應用程序)一樣運行,適合測試和開發。

一旦虛擬機配置完成,您可以像真正的計算機一樣啓動它並安裝軟件、瀏覽互聯網或開發應用程序。

爲什麼使用虛擬機?

1. 用於測試新操作系統

通過虛擬機,您可以測試不同的操作系統,而無需對主計算機進行更改。這就像在安全和隔離的環境中嘗試一個新系統。

2. 爲了隔離風險軟件

需要打開一個您不確定的文件或測試一個未知的應用程序嗎?在虛擬機中運行它可以保護您的計算機,因此如果您遇到惡意軟件或系統故障,您的主計算機將不會受到影響。

3. 爲了運行過時或不可用的軟件

某些程序僅在較舊的系統上運行,例如 Windows XP。虛擬機可以重建該環境,使您能夠繼續使用可能在現代設備上無法運行的軟件。

4. 爲了在不同平台上開發和測試代碼

虛擬機使開發者能夠更輕鬆地在不同操作系統上測試他們的代碼,並在各種環境中模擬新應用程序的運行。

5. 爲雲提供動力

許多雲服務(如AWS、Azure和Google Cloud)都是建立在虛擬機上的。當您啓動一個雲實例時,您是在遠程數據中心啓動一個虛擬機,準備托管網站、應用程序或數據庫。

區塊鏈網路如何使用虛擬機?

傳統的虛擬機是隔離的環境,而區塊鏈虛擬機則像是一個在區塊鏈上執行智能合約的引擎。以太坊虛擬機(EVM)允許開發者使用Solidity、Vyper和Yul等語言編寫智能合約,並將其部署在以太坊及其他兼容EVM的網路上。EVM確保網路中的每個節點在創建或與智能合約交互時遵循相同的規則。

區塊鏈網路根據其設計目標實現自己的虛擬機類型。有些專注於速度和可擴展性,而另一些則旨在爲開發者提供更高的安全性或靈活性。像 Near 和 Cosmos 這樣的網路使用基於 WebAssembly (WASM) 的虛擬機,支持用多種編程語言編寫的智能合約。

其他區塊鏈網路,如 Sui,使用 MoveVM,執行用 Move 語言編寫的智能合約。Solana 區塊鏈使用一個自定義的執行環境,通常稱爲 Solana 虛擬機 (SVS),旨在並行處理交易並管理大量的網路活動。

虛擬機的實際應用

您可能沒有注意到,但每次您與去中心化應用程式(DApps)交互時,虛擬機都會在後臺工作。

  • 如果您使用像 Uniswap 這樣的去中心化金融應用 (DeFi),您的交易將由在 EVM 中執行的智能合約管理。

  • 如果您鑄造一個NFT,虛擬機將執行代碼,確定每個NFT的歸屬。當您進行購買或轉移時,虛擬機會更新記錄,以保持NFT的所有權準確。

  • 如果您使用層 2 的 rollup (layer 2),您的交易可以通過專用虛擬機處理,例如 zkEVM。zkEVM 允許 zk-rollups 使用零知識證明技術執行智能合約 (ZKP)。

虛擬機的限制

1. 性能開銷:虛擬機在硬件和執行代碼之間增加了一步,這可能會使過程變慢或比直接在物理機上執行應用程序需要更多的計算資源。

2. 操作復雜性:特別是在雲基礎設施或區塊鏈網路中,維護虛擬機器(需要在配置和更新方面投入大量精力。這需要時間,並且通常需要專業工具和知識。

3. 兼容性:智能合約通常是爲特定的虛擬機環境設計的。爲以太坊智能合約編寫的代碼必須重寫或調整,以便在不兼容的其他區塊鏈上運行,例如Solana。這意味着開發者如果想要在多個環境中運行相同的應用程序,就必須投入更多的時間和精力。

結論

虛擬機在傳統計算機和區塊鏈系統的運行中起着至關重要的作用。它們允許安全地運行不同的操作系統、測試軟件,並使用相同的硬件執行多種任務。

虛擬機也用於區塊鏈網路中,以執行智能合約和去中心化應用程式。即使您不是專家,了解虛擬機的工作原理也可以闡明我們使用的許多DeFi工具和平台的機制。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)