Linux 虛擬化方法、架構和實現(1)

來源:互聯網
上載者:User

虛擬化的含義豐富,應用廣泛。伺服器虛擬化是目前一個主要的虛擬化技術,即在一個宿主要電腦上提供多個獨立作業系統。本文將探索虛擬化背後的思想,然後討論實現虛擬化的一些技術。我們還將瞭解現有的其他一些虛擬化技術,例如 Linux 上作業系統的虛擬化。

進行虛擬化 就是要將某種形式的東西以另外一種形式呈現出來。對電腦進行虛擬化就是要將電腦以多台電腦或一台完全不同的電腦的形式呈現出來。

虛擬化也可以將多台電腦群組合成一台電腦的形式呈現出來。這通常稱為伺服器彙總或格線運算。

下面讓我們首先來看一下虛擬化的起源。

虛擬化的曆史

虛擬化並不是什麼新主題;實際上,它的存在已經超過 40 年了。虛擬化技術最早的一些用法包括 IBM? 7044、麻省理工學院MIT)在 IBM 704 上開發的 CTSSCompatible Time Sharing System)以及曼徹斯特大學的 Atlas 項目世界上最早的超級電腦之一),這些都是請求頁面調度和監管進程調用的先驅。

硬體虛擬化

IBM 早在 20 世紀 60 年代開發 System/360? Model 67 大型主機時就認識到了虛擬化的重要性。Model 67 通過 VMMVirtual Machine Monitor)對所有的硬體介面都進行了虛擬化。在早期計算中,作業系統被稱為 supervisor。能夠在其他動作系統上啟動並執行作業系統被稱為 hypervisor這個術語是在 20 世紀 70 年代出現的)。

VMM 可以直接在底層硬體上運行,允許運行多個虛擬機器VM)。每個 VM 都可以運行一個自己私人作業系統的執行個體 -- 在早些時候,這稱為 CMS或 Conversational Monitor System)。之後 VM 繼續發展,現在您可以在 System z9? 大型主機上發現 VM。這提供了很好的向後相容性,甚至是對 System/360 產品線的相容性。

處理器虛擬化

虛擬化早期的另外一種用法在本例中是對處理器的模擬)是 P-code或偽碼)機。P-code 是一種機器語言,運行於虛擬機器而不是實際硬體。P-code 早在 20 世紀 70 年代就已在加州大學聖地亞哥分校UCSD)Pascal 系統上頗有名氣了,它將 Pascal 程式編譯成 P-code,然後在一個 P-code 虛擬機器上運行。這就使 P-code 程式具有了高度的可移植性,而且,只要有可用的 P-code 虛擬機器,P-code 程式就可以運行。

20 世紀 60 年代對 BCPLBasic Combined Programming Language)的設計中也採用了相同的概念,C 語言即由 BCPL 發展而來。在這種用法中,編譯器會將 BCPL 代碼編譯成稱為 O-code 的中間機器代碼。接下來的第二個步驟是將 O-code 編譯成目標機器的原始語言。現代編譯器所使用的這種模型為將編譯器移植到新目標體繫結構上提供了很大的靈活性通過一種中繼語言將前端和後端分隔開來)。

指令集虛擬化

虛擬化最新的發展稱為指令集虛擬化,或者二進位轉換。在這種模型中,虛擬指令集被轉換成底層硬體的物理指令集,這個過程通常都是動態。當代碼執行時,就會對代碼的某個段進行轉換。如果出現分支情況,就會匯入新代碼集並進行轉換。這使它與快取作業非常類似,後者是將指令塊從記憶體移動到本地快速緩衝中執行。

這種模型最近在 Transmeta 設計的 Crusoe 中央處理單元CPU)中得到了使用。二進位轉換由 Code Morphing 的專利技術實現。類似的一個例子是完全虛擬化解決方案通過運行時代碼掃描來尋找和重新導向特權指令用來解決特定處理器指令集的一些問題)。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.