本節書摘來自華章社群《編譯與反編譯技術實戰》一書中的第1章,第1.8節仿真與分析工具qemu,作者劉曉楠 陶紅偉 嶽 峰 戴超,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視
1.8 仿真與分析工具qemu
qemu是一套由fabrice bellard所編寫的以gpl許可證分發源碼的模拟處理器,在gnu/linux平台上使用廣泛。bochs、pearpc等與其類似,但不具備其許多特性,比如高速度及跨平台的特性,通過kqemu這個閉源的加速器,qemu能模拟至接近真實計算機的速度。
目前,0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu 1.0之後的版本都無法使用kqemu,但可利用qemu-kvm加速子產品,并且加速效果以及穩定性明顯好于kqemu。
qemu有以下兩種主要運作模式:
1)程序級模拟模式。在這種模式下,qemu能以二進制翻譯的方式啟動那些為不同處理器編譯的linux可執行程式。典型的程式是wine及dosemu。
2)系統級模拟模式。qemu能模拟整個計算機系統,包括中央處理器及其他周邊裝置。它使得為跨平台編寫的程式進行測試及除錯工作變得容易。也能用來在一台主機上虛拟數台不同虛拟計算機。
該軟體的優點有:
預設支援多種架構。可以模拟ia 32、amd 64、mips、sparc、powerpc、龍芯等多種架構。
可擴充,可自定義新的指令集。
開源,可移植,仿真速度快。
在支援硬體虛拟化的x86架構上可以使用kvm加速配合核心ksm大頁面備份記憶體,速度穩定,遠超過vmware esx。
可以在其他作業系統平台上運作linux程式。
可以存儲及還原運作狀态。
可以支援虛拟網卡等多種外設。
該軟體的缺點有:
對微軟視窗及某些主機作業系統的支援不完善(某些模拟的系統僅能運作)。
對不常用的架構的支援不完善。
除非使用kqemu加速器,否則其模拟速度仍不及其他虛拟軟體,如vmware。
比其他模拟軟體難安裝及使用。