中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenStack中如何理解KVM和QEMU

發布時間:2021-11-24 16:00:40 來源:億速云 閱讀:577 作者:柒染 欄目:云計算

OpenStack中如何理解KVM和QEMU,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

一、KVM概述

KVM是Kernel-based Virtual Machine的縮寫,即基于linux內核的虛擬機,是一種的完全虛擬化的解決方案,也就是說普通的操作系統不需經過修改就可以在KVM上運行。它使用linux自身的調度器進行管理,所以相對于xen,其核心源碼很少。KVM的虛擬化需要硬件的支持(如intel VT技術或者AMD V技術),是基于硬件的完全虛擬化。

準確來說,KVM是Linux的一個模塊。可以用modprobe去加載KVM模塊。加載了模塊后,就可以使用KVM模塊創建虛擬機,實現虛擬內存的分配,虛擬CPU寄存器的讀寫以及管理虛擬CPU的運行。但僅有KVM模塊是遠遠不夠的,因為用戶無法直接控制內核模塊去作事情,所以還必須有一個用戶空間的工具才行。這個用戶空間的工具,開發者選擇了已經成型的開源虛擬化軟件 QEMU,使用它來模擬PC硬件的用戶空間組件,模擬I/O設備模型以及提供訪問外設的途徑。后邊會詳細的介紹QEMU,這里先知道它用了QEMU就好了。

KVM基本架構如下圖所示。
OpenStack中如何理解KVM和QEMU

其中KVM被加入到標準的Linux內核中,被組織成Linux中標準的字符設備(/dev/kvm)。Qemu利用KVM提供的LibKvm應用程序接口,通過ioctl系統調用創建和運行虛擬機。KVM Driver使得整個Linux成為一個虛擬機監控器。并且在原有的Linux兩種執行模式(內核模式和用戶模式)的基礎上,新增加了客戶模式,客戶模式擁有自己的內核模式和用戶模式。在虛擬機運行下,三種模式的分工如下:

  • 客戶模式:執行非I/O的客戶代碼,虛擬機運行在客戶模式下。

  • 內核模式:實現到客戶模式的切換,處理因為I/O或者其它指令引起的從客戶模式的退出,KVM Driver工作在這種模式下。

  • 用戶模式:代表客戶執行I/O指令Qemu運行在這種模式下。

KVM的具體工作流程如下:
用戶模式的qemu利用libkvm通過ioctl進入內核模式,kvm模塊未虛擬機創建虛擬內存,虛擬CPU后執行VMLAUCH指令進入客戶模式。加載Guest OS并執行。如果Guest OS 發生外部中斷或者影子頁表缺頁之類的情況,會暫停Guest OS的執行,退出客戶模式出行異常處理,之后重新進入客戶模式,執行客戶代碼。如果發生I/O事件或者信號隊列中有信號到達,就會進入用戶模式處理。

OpenStack中如何理解KVM和QEMU

二、 QEMU概述

QEMU(Quick Emulator)是一個獨立的開源虛擬機軟件,它是通過純軟件來仿真X86平臺處理器的取指、解碼和執行,虛擬客戶機的指令并不在物理平臺上直接執行,它利用其中的微型代碼生成器模塊進行動態翻譯,將需要模擬的客戶機的代碼架構轉換成主機代碼架構并最終執行。QEMU虛擬機是一個純軟件的實現(KVM需要硬件虛擬化技術支持),所以性能低下。但是,其優點是虛擬機可以與宿主機并不是同一個架構。與KVM不同的是,QEMU的代碼中有整套的虛擬機實現,包括處理器虛擬化、內存虛擬化,以及KVM使用到的虛擬設備模擬(比如網卡、顯卡、存儲控制器和硬盤等)

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德格县| 修文县| 夏津县| 东丽区| 枣强县| 平山县| 年辖:市辖区| 本溪市| 水富县| 灵宝市| 平安县| 阳新县| 台南市| 东宁县| 工布江达县| 滕州市| 琼海市| 曲靖市| 陇南市| 桦甸市| 永清县| 柳河县| 肥乡县| 安平县| 潼关县| 青海省| 宁明县| 明水县| 高碑店市| 桃园市| 虞城县| 龙南县| 河津市| 北川| 新邵县| 静海县| 临澧县| 高邑县| 樟树市| 西安市| 图片|