亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

關于qemu的簡介

發布時間:2020-08-04 13:47:57 來源:億速云 閱讀:577 作者:清晨 欄目:編程語言

小編給大家分享一下關于qemu的簡介,相信大部分人都還不怎么了解,因此分享這篇文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!

一、QEMU簡介

QEMU是法布里斯·貝拉在Linux內核上寫的一個CPU模擬器,這套開放源碼的模擬器軟件與Bochs、PearPC近似,但具有后兩者所不具備的高速度及跨平臺等特性。QEMU可以在不同的機器上運行獨自開發的操作系統與軟件,經由KQEMU這個開源的加速器,能模擬至接近真實電腦的速度。QEMU構思巧妙, 效率極高, 在借助核心態的KQEMU加速器之后,模擬代碼的執行速度甚至能夠接近真實機器。QEMU已成為目前使用最廣泛的模擬器,KVM和Google Android的模擬器都是基于QEMU的。

QEMU是一款開源的模擬器及虛擬機監管器(Virtual Machine Monitor, VMM)。QEMU主要提供兩種功能給用戶使用。一是作為用戶態模擬器,利用動態代碼翻譯機制來執行不同于主機架構的代碼。二是作為虛擬機監管器,模擬全系統,利用其他VMM(Xen, KVM, etc)來使用硬件提供的虛擬化支持,創建接近于主機性能的虛擬機。

用戶可以通過不同Linux發行版所帶有的軟件包管理器來安裝QEMU。如在Debian系列的發行版上可以使用下面的命令來安裝:

sudo apt-get install qemu

或者在紅帽系列的發行版上使用如下命令安裝:

sudo yum install qemu -y

除此之外,也可以選擇從源碼安裝。

獲取QEMU源碼

可以從QEMU官網上下載QEMU源碼的tar包,以命令行下載2.0版本的QEMU為例:

$wget http://wiki.qemu-project.org/download/qemu-2.0.0.tar.bz2
$tar xjvf qemu-2.0.0.tar.bz2

如果需要參與到QEMU的開發中,最好使用Git獲取源碼:

$git clone git://git.qemu-project.org/qemu.git

編譯及安裝

獲取源碼后,可以根據需求來配置和編譯QEMU。

$cd qemu-2.0.0 //如果使用的是git下載的源碼,執行cd qemu
$./configure --enable-kvm --enable-debug --enable-vnc --enable-werror  --target-list="x86_64-softmmu"
$make -j8
$sudo make install

configure腳本用于生成Makefile,其選項可以用./configure --help查看。這里使用到的選項含義如下:

--enable-kvm:編譯KVM模塊,使QEMU可以利用KVM來訪問硬件提供的虛擬化服務。
--enable-vnc:啟用VNC。
--enalbe-werror:編譯時,將所有的警告當作錯誤處理。
--target-list:選擇目標機器的架構。默認是將所有的架構都編譯,但為了更快的完成編譯,指定需要的架構即可。

二、基本原理

QEMU作為系統模擬器時,會模擬出一臺能夠獨立運行操作系統的虛擬機。如下圖所示,每個虛擬機對應主機(Host)中的一個QEMU進程,而虛擬機的vCPU對應QEMU進程的一個線程。

關于qemu的簡介

QEMU結構圖

系統虛擬化最主要是虛擬出CPU、內存及I/O設備。虛擬出的CPU稱之為vCPU,QEMU為了提升效率,借用KVM、XEN等虛擬化技術,直接利用硬件對虛擬化的支持,在主機上安全地運行虛擬機代碼(需要硬件支持)。虛擬機vCPU調用KVM的接口來執行任務的流程如下(代碼源自QEMU開發者Stefan的技術博客):

open("/dev/kvm")
ioctl(KVM_CREATE_VM)
ioctl(KVM_CREATE_VCPU)
for (;;) {
     ioctl(KVM_RUN)
     switch (exit_reason) {
     case KVM_EXIT_IO:  /* ... */
     case KVM_EXIT_HLT: /* ... */
     }
}

QEMU發起ioctrl來調用KVM接口,KVM則利用硬件擴展直接將虛擬機代碼運行于主機之上,一旦vCPU需要操作設備寄存器,vCPU將會停止并退回到QEMU,QEMU去模擬出操作結果。

虛擬機內存會被映射到QEMU的進程地址空間,在啟動時分配。在虛擬機看來,QEMU所分配的主機上的虛擬地址空間為虛擬機的物理地址空間。

QEMU在主機用戶態模擬虛擬機的硬件設備,vCPU對硬件的操作結果會在用戶態進行模擬,如虛擬機需要將數據寫入硬盤,實際結果是將數據寫入到了主機中的一個鏡像文件中。

以上是關于qemu的簡介的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

嘉善县| 明光市| 祁门县| 宁海县| 隆回县| 南康市| 云和县| 拉萨市| 郓城县| 湘潭县| 资阳市| 江山市| 莆田市| 江达县| 修水县| 鹤峰县| 灌南县| 秀山| 介休市| 娱乐| 探索| 茶陵县| 清远市| 咸阳市| 罗城| 禄丰县| 松江区| 雷州市| 济源市| 奉节县| 宜阳县| 双辽市| 鹤壁市| 平和县| 廊坊市| 永州市| 黄骅市| 沙湾县| 阿图什市| 嘉黎县| 徐汇区|