雲計算基礎知識:CPU虛擬化

2021-01-04 南風一號

虛擬化技術的分類主要有伺服器虛擬化、存儲虛擬化、網絡虛擬化、應用虛擬化。

伺服器虛擬化技術按照虛擬對象來分,可分為:CPU虛擬化、內存虛擬化、I/O虛擬化;按照虛擬化程度可分為:全虛擬化、半虛擬化、硬體輔助虛擬化。

將不同的虛擬化對象和程度組合,可得出9種不同的伺服器虛擬化技術。

首先詳細介紹下伺服器虛擬化之CPU虛擬化,後續講解中再詳細介紹內存虛擬化及I/O虛擬化。

CPU虛擬化

CPU全虛擬化技術主要採用優先級壓縮技術(Ring Compression)和二進位代碼翻譯技術(BinaryTranslation)。優先級壓縮技術讓VMM和Guest運行在不同的特權級下。對x86架構而言,即VMM運行在最高特權級別Ring 0下,Guest OS運行在Ring 1下,用戶應用運行在Ring 3下。因此,Guest OS的核心指令無法直接下達到計算機系統硬體執行,而是需要經過VMM的捕獲和模擬執行(部分難以虛擬化的指令需要通過Binary Translation技術進行轉換)。

CPU半虛擬化技術主要採用Hypercall技術。Guest OS的部分代碼被改變,從而使Guest OS會將和特權指令相關的操作都轉換為發給VMM的Hypercall(超級調用),由VMM繼續進行處理。而Hypercall支持的批處理和異步這兩種優化方式,使得通過Hypercall能得到近似於物理機的速度。

CPU硬體輔助虛擬化技術目前主要有Intel的VT-x和AMD的AMD-V這兩種技術。其核心思想都是通過引入新的指令和運行模式,使VMM和Guest OS分別運行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS運行在Ring 0下。通常情況下,Guest OS的核心指令可以直接下達到計算機系統硬體執行,而不需要經過VMM。當Guest OS執行到特殊指令的時候,系統會切換到VMM,讓VMM來處理特殊指令。

CPU的虛擬化技術可以單CPU模擬多CPU並行,允許一個平臺同時運行多個作業系統,並且應用程式都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。

GuestOS負責第2級調度,即線程或進程在VCPU上的調度(將核心線程映射到相應的虛擬CPU上)。

VMM(Virtual Machine Monitor)負責第1級調度,即VCPU在物理處理單元上的調度。

兩級調度的調度策略和機制不存在依賴關係。VMM負責物理處理器資源在各個虛擬機之間的分配與調度,本質上即把各個虛擬機中的VCPU按照一定的策略和機制調度在物理處理單元上可以採用任意的策略來分配物理資源,滿足虛擬機的不同需求。

相關焦點

  • 雲計算底層技術之虛擬化技術
    首先我們先了解一下什麼是虛擬化,虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理伺服器上,運行多臺「虛擬伺服器」。這種虛擬伺服器,也叫虛擬機(VM,Virtual Machine)。
  • 雲計算入門基礎知識:雲計算有哪些優勢 雲計算和大數據的區別
    IT商業新聞網6月1日訊,自從雲計算概念出現後,一直是科技企業的追逐熱點之一,也是網際網路工作者常常掛在嘴邊的詞彙,但關於雲計算的概念仍有許多非專業人士並不知曉。今天小編將從雲計算的概念、雲計算的優勢、雲計算和大數據的區別以及雲計算的發展趨勢這四點給大家介紹雲計算方面的基本知識。
  • 虛擬化是一種技術雲計算是一種理念
    現在世界是個被網際網路包圍的世界,雲計算關鍵性技術已有大步的突破,這個時代需要處理的數據量相當龐大,未來的三年內雲計算將會解決所有數據中心的流量問題。提到雲計算大部分人會迅速和大數據和人工智慧聯繫起來,三者本身來說就是相輔相成不可分割的關係。
  • 電腦如何開啟cpu虛擬化
    CPU虛擬化技術就是vt虛擬化技術,該項技術是Intel為了在硬體層面上輔助虛擬化技術實現,而在其用戶平臺上開發的虛擬化支持系統。開啟了cpu虛擬化後,我們就能使用例如VMware虛擬機這樣的虛擬化技術應用了。下面就來告訴大家cpu虛擬化怎麼開啟。
  • 小姜學網絡(虛擬化與雲計算)
    《虛擬化與雲計算技術》課程的設置主要面向以上兩大崗位(群)中伺服器虛擬化和雲計算工程師等職業崗位。《虛擬化與雲計算》第一印象:我會用虛擬機(VMware Workstation、Oracle VM Virtualbox),是不是就算會「虛擬化」了?
  • 雲計算存儲技術基礎之存儲虛擬化
    SNIA(存儲網絡工業協會)對存儲虛擬化的定義:  通過對存儲(子)系統或存儲服務的內部功能進行抽象、隱藏或隔離,使存儲或數據的管理與應用、伺服器、網絡資源的管理分離,從而實現應用和網絡的獨立管理。對存儲服務和設備進行虛擬化,能夠在對下一層存儲資源進行擴展時進行資源合併、降低實現的複雜度。  通過存儲虛擬化技術,雲存儲可以實現很多新的特性。
  • 「Linux基礎知識」雲計算的由來
    在介紹雲計算概念之前,我們先來看看雲計算是怎麼產生的。任何一個事物都不是憑空產生的,雲計算也不例外。到了虛擬化階段,我們實現了在一臺伺服器上切分多個虛擬機來用,應用程式部署到虛擬機上,既實現了隔離,又可以高效管理,此時,我們對資源的管理是以虛擬機為對象的虛擬資源。
  • 讀懂x86 架構 CPU 虛擬化,看這文就夠了|贈書
    作者 | 王柏生、謝廣軍導讀:本文摘自於王柏生、謝廣軍撰寫的《深度探索Linux系統虛擬化:原理與實現》一書,介紹了CPU虛擬化的基本概念,探討了x86架構在虛擬化時面臨的障礙,以及為支持CPU虛擬化,Intel在硬體層面實現的擴展VMX。
  • 讀懂 x86 架構 CPU 虛擬化,看這文就夠了 | 贈書
    CPU虛擬化,Intel在硬體層面實現的擴展VMX。(struct kvm_vcpu *vcpu){ u64 phys_addr = __pa(vcpu->vmcs); int cpu; cpu = get_cpu; … if (per_cpu(current_vmcs, cpu)
  • 雲計算是將物聯網、虛擬化和雲計算三者整合起來
    雲計算和網際網路兩者在近年來密不可分。雲計算不僅僅可以提供高速、穩定的網絡服務,其中雲計算還可以對軟體進行管理和統計,使得其它所有其它網際網路服務能夠在雲端中運行。例如大數據、人工智慧等。隨著雲計算大眾化和普及化,近年來各種傳統行業如電力、通信、鋼鐵、石油等行業,將雲計算看作是自己的一個巨大的「發展機遇」。因此雲計算被整個行業寄予了厚望。隨著智能化、數位化、智能化等新詞,雲計算概念對熱錢投資人士來說更是新一波的風口。對人才來說,不管你是否願意,你可能已經到了雲計算這個風口上了。對於每個人來說,這都是一個你身處大數據的風口之一。
  • 雲計算與虛擬化——新基建時代企業發展核心技術
    「新基建」包含信息基礎設施、融合基礎設施和創新基礎設施,掀起了企業數字經濟新時代。儘管新冠疫情為機遇浪潮帶來一些不確定性,但不可否認的是,在機遇與挑戰、發展與衰退的十字路口上,企業藉助科技的力量去激發新基建經濟動能、進行數位化轉型已成剛需。
  • 劍指虛擬化 IBM全球KVM中心布局雲計算
    如今,虛擬化和雲計算技術空前重要,特別是企業都尋求虛擬化,利用數據中心虛擬化,通過高效部署虛擬化,更好的敏捷性、性能、可擴展性和簡化物理基礎架構等,推動了雲計算的實施的高可用性。  11月28日,IBM以「安全高效 虛擬智慧」為主題在京舉辦了「IBM KVM(北京)卓越中心」揭幕儀式。
  • 雲計算與虛擬化是什麼關係?
    是用於多屏同步處理的計算集群通過一個平臺層架構,工作站集群進一步優化整體計算能力,使之與客戶端工作站集群共享基礎設施。也正是基於這種架構,擁有更大數量伺服器的集群得以為用戶提供更高效率。大部分工作站伺服器集群沒有配備gpu,因此用戶仍需要自行為工作站集群配置高性能gpu。
  • 乾貨篇:雲計算存儲技術基礎之存儲虛擬化
    對存儲服務和設備進行虛擬化,能夠在對下一層存儲資源進行擴展時進行資源合併、降低實現的複雜度。通過存儲虛擬化技術,雲存儲可以實現很多新的特性。比如,用戶數據在邏輯上的隔離、存儲空間的精簡配置等。簡化IT基礎架構如下圖
  • 浪潮K1 Power與雲計算基礎架構(二)|雲計算特點
    「雲計算」無疑是當今IT界最火熱的概念之一,「上雲」也成為越來越多的企業在考慮的事情。在雲計算的基礎架構中,浪潮K1 Power能發揮怎樣的作用?有哪些優勢?或者在某些人的印象中,雲計算基礎架構除了構建在x86平臺,還有其他可選項嗎 ?
  • 雲計算就業前景究竟好不好 零基礎如何學雲計算
    雲計算就業前景究竟好不好?零基礎如何學雲計算?隨著網際網路技術的進一步發展以及企業發展需要,雲計算市場迎來進一步爆發。為了能夠在雲時代佔據更多的主動權,各大企業都在搶奪專業雲計算開發人才,這就使得雲計算開發人才薪資一再飆升。
  • 浪潮K1 Power與雲計算基礎架構
    「雲計算」無疑是當今IT界最火熱的概念之一,「上雲」也成為越來越多的企業在考慮的事情。在雲計算的基礎架構中,浪潮K1 Power能發揮怎樣的作用?有哪些優勢?或者在某些人的印象中,雲計算基礎架構除了構建在x86平臺,還有其他可選項嗎 ?
  • 浪潮K1 Power與雲計算基礎架構(四)|雲計算基礎架構
    「雲計算」無疑是當今IT界最火熱的概念之一,「上雲」也成為越來越多的企業在考慮的事情。在雲計算的基礎架構中,浪潮K1 Power能發揮怎樣的作用?有哪些優勢?或者在某些人的印象中,雲計算基礎架構除了構建在x86平臺,還有其他可選項嗎 ?
  • 詳解x86架構CPU虛擬化
    導讀:本文摘自王柏生、謝廣軍撰寫的《深度探索Linux系統虛擬化:原理與實現》一書,介紹了CPU虛擬化的基本概念,探討了x86架構在虛擬化時面臨的障礙,以及為支持CPU虛擬化,Intel在硬體層面實現的擴展VMX。同時,介紹了在VMX擴展支持下,虛擬CPU從Host模式到Guest模式,再回到Host模式的完整生命周期。
  • 零基礎能學好雲計算嗎 雲計算適合什麼人學習
    零基礎能學好雲計算嗎?雲計算適合什麼人學習?近年來我國雲計算產業發展迅猛,雲技術應用領域從網際網路行業向製造、金融、交通、醫療健康、廣電等傳統行業滲透和融合,雲計算相關人才成為企業高薪招聘的對象,一時風頭無兩。下面一同來看看吧。