成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

漫談虛擬化之五-計算虛擬化中的內存虛擬化

云計算 虛擬化
經過前面的介紹,我們差不多都應該知道,針對不同的資源,虛擬化主要包含三個方面的內容:計算虛擬化、存儲虛擬化和網絡虛擬化,接下來咱們就來看看,什么是計算虛擬化中“內存”虛擬化。

 經過前面的介紹,我們差不多都應該知道,針對不同的資源,虛擬化主要包含三個方面的內容:計算虛擬化、存儲虛擬化和網絡虛擬化,接下來咱們就來看看,什么是計算虛擬化中“內存”虛擬化。

1. 內存虛擬化簡介

內存虛擬化的產生源于 VMM 與 Guest OS 在對物理內存的認識上存在沖突,造成物理內存真正擁有者——VMM 必須對系統訪問的內存進行一定程度上的虛擬化。 

咱們先來看看,在非虛擬化環境下的情況:  

(1)首先:指令對內存的訪問通過處理器來轉發;

(2)然后:處理器將解碼后的請求放到總線上;

(3)最后:芯片組負責轉發。

[[228605]]

為了唯一標識,處理器將采用統一編址的方式將物理內存映射成為一個地址空間(物理地址空間)。這包括兩層含義,其一,操作系統會假定內存地址從 0 開始;其二,內存是連續的或者說在一些大的粒度(比如 256M)上連續。

在虛擬環境里,VMM 就要通過模擬手段,使得虛擬出來的內存仍符合 Guest OS 對內存的假定和認識。如此一來,內存虛擬化就需要解決如下的問題,

(1)其一,物理內存要被多個 Guest OS 同時使用,但物理內存只有 1 個,地址 0 也只有一個,無法滿足同時從 0 開始的要求;

(2)其二,由于使用內存分區方式,物理內存分給多個系統使用,Guest OS 內存連續性可解決但不靈活。

為了解決以上的問題,咱們的攻城獅們引入了一層新的地址空間——客戶機物理地址空間(GPA)來解決讓 Guest OS 看到一個虛擬的物理地址,讓 VMM 負責轉化成物理地址給物理處理器執行。Guest Machine 以為自己運行在真實的物理地址空間中,實際上它是通過 VMM 訪問真實的物理地址的。在 VMM 中保存 Guest Machine 地址空間和物理機地址空間之間的映射表。如下圖所示:

因為 VMM 掌控所有系統資源,因此 VMM 握有整個內存資源,其負責頁式內存管理,維護虛擬地址到機器地址的映射關系。因 Guest OS 本身亦有頁式內存管理機制,所以 VMM的整個系統就比正常系統多了一層映射:

(1)虛擬地址(VA),指 Guest OS 提供給其應用程序使用的線性地址空間;

(2)客戶機物理地址(GPA),經 VMM 抽象的、虛擬機看到的偽物理地址;

(3)機器地址(MA),真實的機器地址,即地址總線上出現的地址信號;

映射關系如下:Guest OS:GPA = f(VA)、VMM:MA = g(GPA)

VMM 維護一套頁表,負責 GPA 到 MA 的映射。Guest OS 維護一套頁表,負責 VA 到 GPA 的映射。實際運行時,用戶程序訪問 VA1,經 Guest OS 的頁表轉換得到 GPA1,再由 VMM 介入,使用 VMM 的頁表將 GPA1 轉換為 MA1。

2 內存虛擬化的基礎:頁表虛擬化技術:

2.1 頁表虛擬化技術原理

普通 MMU(Memory Management Unit,即內存管理單元)只能完成一次虛擬地址到物理地址的映射,在虛擬機環境下,經過 MMU 轉換所得到的“物理地址”并不是真正的機器地址。若需得到真正的機器地址,必須由 VMM 介入,再經過一次映射才能得到總線上使用的機器地址。如果虛擬機的每個內存訪問都需要 VMM 介入,并由軟件模擬地址轉換的效率是很低下的,幾乎不具有實際可用性,為實現虛擬地址到機器地址的高效轉換,現普遍采用的思想是:由 VMM 根據映射 f 和 g 生成復合的映射 fg,并直接將這個映射關系寫入 MMU。

2.2 內存虛擬化分類

當前采用的頁表虛擬化方法主要是 MMU 半虛擬化(MMU Paravirtualization)和影子頁表(全虛擬化),后者已被內存的芯片輔助虛擬化技術所替代。

(1)內存全虛擬化技術(即影子頁表虛擬化)

通過使用影子頁表(Shadow Page Table)實現虛擬化。VMM 為每個 Guest Machine 都維護一個影子頁表,影子頁表維護虛擬地址(VA)到機器地址(MA)的映射關系。而 Guest Machine 頁表則維護 VA 到客戶機物理地址(GPA)的映射關系。下圖示意:

當 VMM 捕獲到 Guest Machine 頁表的修改后,VMM 會查找負責 GPA 到 MA 映射的 P2M 頁表或者哈希函數,找到與該 GPA 對應的 MA,再將 MA 填充到真正在硬件上起作用的影子頁表中,從而形成 VA 到 MA 的映射關系。而客戶機頁表則無需變動。

注意:影子頁表一般特指有多個頁表緩存的方案。

其優點主要來自于性能上的提升。由于時間局部性,系統中經常會是幾個進程之間回來切換,所以哪怕是 4 組頁表緩存,其重用率也可達到 80~90%。

其缺點是由于要維護多份頁表緩存,還是存在一定的額外開銷,并且由于要存放這些緩存,內存上也會有些消耗。這些缺點可以通過 MMU 半虛擬化來解決。

(2)內存半虛擬化技術(MMU 半虛擬化)

其基本原理是:當 Guest OS 創建一個新的頁表時,會從它所維護的空閑內存中分配一個頁面,并向 VMM 注冊該頁面,VMM 會剝奪 Guest OS 對該頁表的寫權限,之后 Guest OS 對該頁表的寫操作都會陷入到 VMM 加以驗證和轉換。VMM 會檢查頁表中的每一項,確保他們只映射了屬于該虛擬機的機器頁面,而且不得包含對頁表頁面的可寫映射。后 VMM 會根據自己所維護的映射關系,將頁表項中的物理地址替換為相應的機器地址,最后再把修改過的頁表載入 MMU。如此,MMU就可以根據修改過頁表直接完成虛擬地址到機器地址的轉換。

簡單來說,如果通過使用頁表寫入法實現虛擬化。即 Guest OS 在創建一個新的頁表時,會向 VMM 注冊該頁表。之后在 Guest Machine 運行的時候,VMM 將不斷的管理和維護這個表,使 Guest Machine上面的程序能直接訪問到合適的地址。

Xen 是 MMU 半虛擬化的主要使用者。

(3)內存硬件輔助虛擬化技術-內存全虛擬化(影子頁表)的替代者

內存的芯片輔助虛擬化技術是用于替代虛擬化技術中軟件實現的“影子頁表”的一種芯片輔助虛擬化技術,其基本原理是:

GVA(客戶操作系統的虛擬地址)-> GPA(客戶操作系統的物理地址)-> HPA(宿主操作系統的物理地址)

其中兩次地址轉換都由 CPU 硬件自動完成(軟件實現內存開銷大、性能差)。

在這種方案中,Guest OS 完成 VA 到 GPA 這第一層轉化,硬件幫忙完成 GPA 到 MA 這第二層轉化。第二層轉化對于 Guest OS 來說是透明的。Guest OS 訪存時做的事和在裸機上跑時一樣,所以可以實現全虛擬化。這種特性 Intel 和 AMD 都有支持。Intel 稱之為Extended Page Tables (EPT),AMD 稱之為 Nested Page Tables (NPT)。其優點是hypervisor 省了很多活,缺點是需要硬件支持。

以 VT-x 技術的頁表擴充技術 Extended Page Table(EPT)為例,首先 VMM 預先把客戶機物理地址轉換到機器地址的 EPT 頁表設置到 CPU 中;其次客戶機修改客戶機頁表無需 VMM 干預;最后,地址轉換時,CPU 自動查找兩張頁表完成客戶機虛擬地址到機器地址的轉換。下圖示意:

使用內存的芯片輔助虛擬化技術,客戶機運行過程中無需 VMM 干預,去除了大量軟件開銷,內存訪問性能接近物理機。

KVM 主要使用內存硬件輔助虛擬化。

圖片授權基于:CC0協議

責任編輯:武曉燕 來源: 聽泉Rit
相關推薦

2018-04-17 15:03:40

CPU虛擬化半虛擬化

2019-06-19 15:35:16

云計算虛擬化容器化

2019-06-18 16:47:16

云計算虛擬化容器化

2018-03-08 16:04:19

2018-03-28 15:21:52

虛擬化類型

2018-03-21 11:00:45

2021-12-21 15:46:16

NFV內存虛擬化計算虛擬化

2020-03-10 18:30:06

GPU虛擬化FPGA

2021-12-21 15:37:46

NFV虛擬化IO虛擬化

2017-11-29 14:57:47

虛擬化內核IO

2015-12-14 11:47:23

網絡虛擬化FlowVisor

2016-09-09 14:42:27

云計算華為開發者社區

2011-02-23 17:44:49

虛擬化標準

2013-03-18 10:12:25

存儲虛擬化虛擬化技術

2012-07-06 09:39:37

虛擬化

2010-06-04 10:52:03

虛擬化云計算

2009-01-12 12:23:25

服務器虛擬化OVF

2023-09-19 10:00:34

Linux虛擬

2013-06-19 09:56:39

2009-07-21 09:32:16

虛擬化投資回報
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产aⅴ| 日本中文字幕在线观看 | 2019天天操 | 在线午夜 | 人人人人干 | 亚洲三区在线观看 | 99久久精品一区二区毛片吞精 | 国产成人精品999在线观看 | 国产精品福利网站 | 国产在线不卡视频 | 国产成人精品久久二区二区91 | 亚洲第一成人av | 欧美在线观看一区 | 色综合视频 | 免费午夜视频在线观看 | 亚洲黄色一区二区三区 | 日韩成人免费视频 | 日韩一二区 | 欧美日韩在线一区二区三区 | 免费一级毛片 | 在线色网 | 日本高清不卡视频 | 久久久久久久久国产 | 宅男噜噜噜66一区二区 | 亚洲激精日韩激精欧美精品 | 特级丰满少妇一级aaaa爱毛片 | 日日夜夜草 | 亚洲精品久久久久中文字幕欢迎你 | 婷婷免费视频 | 国产成人精品午夜视频免费 | 亚洲精品日韩在线观看 | 福利精品 | 狠狠干综合视频 | 91麻豆精品国产91久久久更新资源速度超快 | 免费激情av | 国产999精品久久久 精品三级在线观看 | 激情五月综合 | 日韩视频一区二区 | 婷婷桃色网| 99re66在线观看精品热 | 综合久久综合久久 |