天天看點

《編譯與反編譯技術實戰 》一1.8 仿真與分析工具QEMU

本節書摘來自華章出版社《編譯與反編譯技術實戰 》一書中的第1章,第1.8節,龐建民 主編 ,劉曉楠 陶紅偉 嶽 峰 戴超 編著,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

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。

比其他模拟軟體難安裝及使用。

繼續閱讀