国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一文看懂影子頁表和擴展頁表

云計算 虛擬化
我們知道從intel的80386引入了保護模式后,內存空間分為虛擬地址空間和物理地址空間。后引入頁表機制,把虛擬地址送往MMU,MMU查TLB不中的情況下,依次查頁表就可以找到對應的物理地址。

[[429331]]

我是cloud3,前段時間有虛擬機出現內存問題,今天借著這個話題給大家介紹一下內存虛擬化,也就是MMU虛擬化。

我們知道從intel的80386引入了保護模式后,內存空間分為虛擬地址空間和物理地址空間。后引入頁表機制,把虛擬地址送往MMU,MMU查TLB不中的情況下,依次查頁表就可以找到對應的物理地址。

(關于MMU的原理可以先看我的文章-圖解MMU)

在引入虛擬化技術后,內存地址空間就變得復雜了,客戶機(Guest)和宿主機(Host)都有自己的地址空間。GuestOS本身有虛擬地址和物理地址。HostOS也有虛擬機地址和物理地址。那虛擬機如何訪問到物理機上的物理地址呢?這就是今天我們要討論的內存虛擬化技術。

首先標記幾個概念:

  • HPA:Host Physical Address
  • HVA:Host Virtual Address
  • GPA:Guest Physical Address
  • GVA:Guest Virtual Address
  • PDBR:頁目錄表物理基地址寄存器,X86上叫CR3
  • EPT:擴展頁表

ptr:這里用來描述指向某個頁表的寄存器

一.內存虛擬化要解決的問題

內存虛擬化實際實現就是MMU虛擬化,要實現GVA -> GPA -> HVA -> HPA,而傳統MMU只能實現VA->PA的轉換。所以在虛擬化場景下要解決虛擬機里面的進程如何訪問物理機上的內存這一問題,也就是GVA->HPA的映射問題。

在硬件輔助內存虛擬化出現之前,這個過程是通過軟件實現的,即通過VMM來實現的。最典型的實現方式就是影子頁表技術。

二.影子頁表

(Shadow page table)

影子頁表我用一句話來描述就是:VMM把Guest和Host中的頁表合并成一個頁表,稱為影子頁表,來實現GVA->HPA映射。

變為:

影子頁表需要實現 GVA -> HPA的轉換。如何實現呢?有下面幾步:

1,GVA->GPA,VMM層的軟件會將guest Page Table本身使用的物理頁面設為write protected的,Guest在進行GVA->GPA 時,由于是只讀的,導致 VM exit, traps to VMM。(關于VM exit的過程我們在CPU虛擬化時再詳解)。

2, GPA -> HVA,這一過程由VMM軟件實現的,這個很容易理解,就是通用的malloc。

3, HVA->HPA,這一過程就是我們已知的使用物理MMU完成VMM進程的虛擬內存到物理內存的轉換。

4, 把GVA -> HPA,這一路的映射關系記錄到頁表中,這個頁表就是影子頁表。

虛擬機頁表和影子頁表通過一個哈希表建立關聯(當然也有其他的關聯方式),客戶機操作系統把當前進程的頁表基址載入PDBR時而VMM將會截獲這一特權指令,將進程的影子頁表基址載入客戶機PDBR,使客戶機在恢復運行時PDBR實際指向的是進程對應的影子頁表。這樣通過影子頁表就可以實現真正的內存訪問。

影子頁表實現非常復雜,需要為每個Guest中的每個進程的Guest PT都維護一個對應的Shadow PT。page fault和vm-exit的數量,也加重了CPU的負擔。為了提高效率,各個CPU廠家推出了硬件輔助MMU虛擬化的技術。

三.擴展頁表技術/EPT

嵌套頁表技術/NPT

從Intel的Nehalem架構開始,EPT(Extended Page Tables)就作為CPU的一個特性加入到CPU硬件中去了。AMD也提供的類似技術叫做NPT,即Nested Page Tables。

硬件層面引入EPTP寄存器,來指向EPT頁表基地址。Guest運行時,Guest頁表被載入PDBR,而 EPT 頁表被載入專門的EPT 頁表指針寄存器 EPTP。

GVA->GPA的轉換依然是通過查找原來頁表完成,而GPA->HPA的轉換則通過查找EPT來實現,每個guest VM有一個由VMM維護的EPT。

具體過程

當Guest中進程訪問GVA時,CPU首先就要通過PDBR寄存器去找頁目錄,但是PDBR中存儲的地址是GPA,所以要到EPT中進行GPA->HPA的轉換,這個轉換過程和物理MMU的工作流程相同。

找到了頁目錄的HPA基地址,再通過GVA中的Directory offset段,就找到頁表的VGA了,這個頁表VGA再去EPT中進行GPA->HPA的轉換,就找到頁表VGA的HPA了。

重復上述過程,依次查找各級頁表,最終獲得該GVA對應的HPA。如果是三級或者四級頁表,也是同樣的原理。

page fault處理

上面的查表過程是最理想的處處命中情況,那如果有page fault的情況如何處理呢?

如果Guest的頁表中沒有命中可直接由guest OS處理,不會產生vm-exit。如果在EPT中沒有命中,則產生EPT violation異常,這是Host中VMM層的page fault,不需要vm exit,只需要按照Host中的page fault處理就可以了。所以說EPT/NPT MMU解耦了GVA->GPA轉換和GPA->HPA轉換之間的依賴關系。并且一個VM只需要一套EPT頁表,減少了內存開銷,維護也比較簡單。

四.看圖總結

最后我們直觀的看看引入虛擬化之后MMU的變化情況:

沒有虛擬化:

影子頁表:

EPT/NPT:

 

通過上面的對比圖,我們應該能清楚的看到MMU虛擬化的整個設計思路。

 

責任編輯:武曉燕 來源: 虛機
相關推薦

2021-07-06 08:59:38

頁緩存PageCache

2020-03-22 21:46:06

MySQLInnoDB表空間

2020-03-31 14:40:24

HashMap源碼Java

2021-04-30 19:53:53

HugePages大內存頁物理

2025-07-11 01:45:00

SIM卡模塊識別

2021-01-06 05:31:13

線性表鏈表數據

2016-08-18 00:21:12

網絡爬蟲抓取網絡

2019-09-17 08:23:35

MySQL數據庫容量

2017-07-28 09:11:14

HIVEHBASE區別

2024-08-12 12:30:27

2020-09-27 08:00:49

分庫分表

2021-08-02 06:56:19

TypeScript編程語言編譯器

2025-01-20 09:15:00

iOS 18.3蘋果iOS 18

2021-07-05 00:00:55

TomcatNginxApache

2018-02-02 11:17:42

IaaSPaaSSaaS

2019-05-22 09:50:42

Python沙箱逃逸網絡攻擊

2019-07-01 09:22:15

Linux操作系統硬件

2019-07-09 10:14:04

云計算行業科技

2019-07-11 11:39:31

云計算操作系統IaaS

2021-09-10 16:10:21

panda透視表語言
點贊
收藏

51CTO技術棧公眾號

国产乱人伦真实精品视频| 国产精品久久久久久久久久ktv | 日本亚洲三级在线| 亚洲高清久久久久久| 亚洲欧美国产中文| 免费观看成人鲁鲁鲁鲁鲁视频| 国产成人精品午夜| 久久亚洲精品人成综合网| 日韩欧美在线第一页| 99re热在线观看| 国产最新精品免费| 国精产品一区二区| 日韩精品二区| 2018中文字幕一区二区三区| 伊人久久综合一区二区| 日本女人高潮视频| av女优在线| 亚洲成人免费影院| 成人亚洲视频在线观看| 国产乱码精品一区二区三区忘忧草 | 阿v免费在线观看| 亚洲色图视频网| 久久综合九色综合88i| 经典一区二区三区| 日韩电影免费观看高清完整| 精品电影一区| 99九九视频| 欧美日韩一区二区高清| 国产精品专区一| 国产一区二区三区四区| 91av在线免费观看视频| 亚洲精品不卡在线观看| 日韩国产精品亚洲а∨天堂免| av观看在线| 最新av在线免费观看| 成人欧美magnet| 亚洲跨种族黑人xxx| sm性调教片在线观看| 日韩一区二区在线观看| 9191在线观看| 56国语精品自产拍在线观看| 99青草视频在线播放视| 欧美日韩免费不卡视频一区二区三区 | 亚洲va天堂va国产va久| 欧美vide| 91福利精品视频| 免费大片在线观看www| 欧美人动与zoxxxx乱| 成人毛片av在线| 亚洲国产成人91精品| av免费不卡国产观看| 91淫黄看大片| 亚洲精品国产首次亮相| 999视频在线免费观看| 欧美视频导航| 久久手机视频| 麻豆成人免费电影| 日韩在线视频在线| 国产欧美日韩另类视频免费观看 | 亚洲免费av网| 成人免费黄色大片| av免费在线播放网站| 国产精品少妇自拍| 全部孕妇毛片丰满孕妇孕交| 色偷偷88欧美精品久久久| 国内精品久久久久国产| 欧美草草影院在线视频| 韩国精品视频在线观看| 7m第一福利500精品视频| 91综合久久| 日韩福利视频| 国产91xxx| 都市激情久久综合| 国产亚洲欧美另类中文| 激情久久99| 国产精品视频1区| 久久影院亚洲| 国产精品专区在线| 日韩欧美在线视频| 久久夜夜操妹子| 日韩免费在线看| 男人操女人的视频在线观看欧美| 国产极品尤物在线| 精品免费在线视频| 天堂中文最新版在线中文| 欧美在线视频a| 日本在线播放一区二区三区| 亚洲天堂2018av| 日韩一区二区三区视频在线观看| 成人国产一区二区三区精品麻豆| 国产精品私拍pans大尺度在线| 亚洲欧洲日本在线| 一区二区精品国产| 中文字幕中文在线不卡住| 一区二区三区视频在线观看视频| 伊人一区二区三区久久精品| 精品国产123区| 香蕉精品视频在线| 精品国产91久久久久久老师| 综合日韩av| 国产成人拍精品视频午夜网站| 日韩av网站免费在线| 欧美hdsex| 精品偷拍一区二区三区在线看 | 电影一区二区| 91麻豆桃色免费看| www..com久久爱| 99re热久久这里只有精品34| 久久久久久久久久久av| 日日噜噜夜夜狠狠视频欧美人| 999精彩视频| 日韩亚洲欧美一区二区三区| 亚洲国产高清福利视频| 人猿泰山h版在线观看| 亚洲天堂网在线观看| 黄色亚洲精品| 99视频高清| 日韩中文字幕在线观看| 久久久久久婷| 伊人75在线| 海角国产乱辈乱精品视频| 国产一区二三区好的| 秋霞午夜在线观看| 国产精品国产三级国产专播精品人 | 欧美一区二区精品久久911| 综合激情五月婷婷| 日韩中文字幕一区二区| 午夜久久久影院| 欧美成人一区在线观看| 欧美视频在线观看视频| 亚洲第一av网站| 免费日韩精品中文字幕视频在线| 国产三级av在线| 91成人在线视频| 国产午夜精品一区二区三区嫩草| av男人的天堂在线观看| 久久久久久久久一区二区| 色综合久久综合网97色综合 | 99视频在线免费| 一区二区三区四区在线观看视频| 亚洲欧美高清| 91成人高清| 国产精品久久久久久久天堂第1集| 一区二区三区在线观看动漫| 红杏aⅴ成人免费视频| 国产女女做受ⅹxx高潮| 国产一区二区三区在线观看视频| 99热在线精品观看| 国产精品综合不卡av| 国产私拍一区| 五月天一区二区三区| 国内精品视频在线观看| 国产国产人免费人成免费视频| 久久久久久午夜| 国产精品美女一区二区| 成人在线视频中文字幕| www.色就是色| 久久久久久香蕉网| 国产精品人成在线观看免费| 免费观看亚洲天堂| 九九热在线免费| 97av视频在线| 一区二区三区精品在线观看| 欧美精选视频在线观看| 婷婷中文字幕一区三区| 亚洲男人天堂古典| 久久久精品日韩欧美| 青梅竹马是消防员在线| 成人黄色中文字幕| 欧美性做爰猛烈叫床潮| 亚洲国产午夜| h片在线观看视频免费| 综合网五月天| 欧美mv日韩mv国产网站app| 夜夜爽av福利精品导航| 丁香花在线电影小说观看| 女人床在线观看| 欧美成人午夜激情视频| 亚洲猫色日本管| 午夜日韩av| 国产精品国精产品一二| 成人免费毛片在线观看| 91国内在线视频| 色婷婷激情综合| 三级欧美在线一区| 精品久久久网| 黄色三级电影网站| 岛国一区二区三区高清视频| 亚洲精品suv精品一区二区| 99亚偷拍自图区亚洲| 亚洲素人在线| 午夜激情视频在线观看| 国产又粗又大又爽的视频| 九九久久久久久久久激情| 亚洲午夜免费电影| 秋霞午夜鲁丝一区二区老狼| 亚洲精品一二三**| 九色在线观看视频| 久久精品国产精品亚洲精品色| 欧美精品在线免费播放|