歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> bochs的初印象(cpu部分)

bochs的初印象(cpu部分)

日期:2017/3/6 15:27:13   编辑:關於Unix
You will say it is ugly! 寫了自己的arm仿真平台,也用了一段時間bochs,斷斷續續地接觸qemu,似乎一直在虛擬的世界裡游走,樂而忘返。 bochs是x86的全仿真平台,用的人不計其數,但好的文檔卻幾乎不存在,畢竟寫虛擬機的是少數人。http://wiki.cs.uiuc.edu You will say it is ugly!

寫了自己的arm仿真平台,也用了一段時間bochs,斷斷續續地接觸qemu,似乎一直在虛擬的世界裡游走,樂而忘返。

bochs是x86的全仿真平台,用的人不計其數,但好的文檔卻幾乎不存在,畢竟寫虛擬機的是少數人。http://wiki.cs.uiuc.edu/cs427/Architecture+of+Bochs 《Architecture of Bochs》算是比較清晰的文檔。

看虛擬機,總得先從cpu入手。bochs的cpu子目錄裡文件較多,但稍微看看名字,就知道bochs仿處理器時把處理器拆分成很多小模塊來實現,這樣復雜性就降低了,而且硬件也的確就該這麼做的。

bochs裡用宏來決定類裡的一個函數和變量是靜態的還是非靜態的,如果一個類只會定義一個對象,那麼bochs就把類裡的函數和變量定義為靜態的,這樣編譯之後,由於不需要傳遞this指針,從而可以稍微提高一點效率,這麼做簡直讓人覺得不舒服了,仿佛從c++退化到半c半c++的狀態,但虛擬機效率是第一位的,不是嗎?

bochs裡的dynamic tranlation應該在dynamic子目錄下,但作者把這個目錄下的東西統統刪掉了,時間是1999年,bochs的動態翻譯功能不知道還有否支持?

Copyright © Linux教程網 All Rights Reserved