虚拟机概述[转贴]
[摘要]描述什么是虛擬機、及運行在各種平臺上的多種多樣的虛擬機軟件
?PXE2寫著 '你一定接觸過各種各樣的虛擬機,Vmware,VirtualPC,甚至JVM或是VBRunDLL,等等等等,在數字的信息世界里虛擬和現實是如此的難解難分。
你一定接觸過各種各樣的虛擬機,Vmware,VirtualPC,甚至JVM或是VBRunDLL,等等等等,在數字的信息世界里虛擬和現實是如此的難解難分。
從這個開始,磁芯大戰。
[url]http://watercloud.nease.net/progbatt/cxdz1.0.zip[/url]
watercloud在這里定義了一個8k Byte地址空間的虛擬機,包含完整的運行系統,可以看作是一個最小的虛擬機。這是一個古老計算機游戲"磁芯大戰"的一個實現版本,閑來無事作為桌面小游戲玩玩兒還是不錯的。
LMX
多X虛擬
[url]http://www.unixsp.com/index.php[/url]
cygwin 是個win下的unix虛擬機
[url]http://www.cygwin.com[/url]
如果你不滿足這個的話,那么看看這個,你的硬盤就一定開始狂轉:
[url]http://www.tik.ee.ethz.ch/~gfa/sim/applet.html[/url]
當然了,雖然這只是一個Java Applet,但它確實是一個完整的MIPS R3000 體系的實現!想想看,JVM虛擬機里的MIPS虛擬機,誰知道自己是狗狗?或是狗狗的一部分?
如果用上面一個讓你心痛自己的硬盤了的話,那么就用這個吧:
[url]http://www.dgate.org/vmips/index.shtml[/url]
VMips,另一個MIPS系統的實現,當然了,這個是C版本,可以編譯運行在大多數Unix系統上。VMips提供了一個完整的MIPS體系指令集合,同樣,可以在這個環境下用gcc做交叉編譯,用gdb作交叉開發和調試...
VMips只能夠支持Mips指令集,有點過時,也有點局限,Qemu就好一點了。
[url]http://fabrice.bellard.free.fr/qemu/[/url]
Qemu支持x86 / ARM / Sparc / PowerPC四種指令集合,并且效率也比VMpis高一些;他支持兩種運行模式-- Boot模式和User模式。在Boot模式下工作就如同Vmware那樣,可以安裝和引導一個完整系統,當前工作還不完善;而User模式下工作則表現得像Wine那樣,可以直接在User空間運行一個其它硬件平臺的程序,由Qemu做一個系統指令層轉換。
作為MIPS平臺學習,Qemu的使用稍顯復雜。spim提供了一個更好的用戶界面,并且能夠運行在Unix/Windows/Dos下,同樣完整地實現了MIPS R3000指令集,圖形界面就如同大多數的調試工具一樣使用,可以直接讀取和解釋MIPS R3000匯編指令。
[url]http://www.cs.wisc.edu/~larus/spim.html[/url]
最后,是本文重點推薦的東東: mips64emul
[url]http://www.mdstud.chalmers.se/~md1gavan/mi...emul/index.html[/url]
mips64emul可以運行在大多數的Unix上,至少目前在Linux/netBSD host上運行得很好。可以模擬32/64位的MIPS CPU,支持netbsd, openbsd, linux, Ultrix, Irix的MIPS版本。支持boot模式安裝系統和user模式直接運行elf/coff格式可執行文件。
支持模擬如下硬件平臺:
DECstation:
NetBSD/pmax onto a harddisk image.
old OpenBSD kernel in a.out format.
Linux kernels for Mips R4000.
SGI:
NetBSD/sgimips.
Linux/SGI kernels for Mips R10000.
ARC:
NetBSD/arc.
An ARC linux kernel, ECOFF.
Cobalt:
NetBSD for Cobalt.
Linux for Cobalt.
Playstation 2:
NetBSD/playstation2.
Linux kernel (2.2.21-pre1-xr7).
配合gcc的mips交叉編譯版本進行程序測試,表現還是很不錯的。原則上使用VxWorks的MIPS版本作交叉開發應該也可以,過幾天試試看。
這是今天爬行的一個筆記,本來是為了找一些MIPS平臺交叉開發的資料。所以現在把這些東東記錄在此,做一個Index。
mips64emul: MIPS R10k/12k模擬器(推薦)
[url]http://www.mdstud.chalmers.se/~md1gavan/mi...emul/index.html[/url]
spim: 可在windows下運行的MIPS R3k模擬器(推薦)
[url]http://www.cs.wisc.edu/~larus/spim.html[/url]
VMips: Mips R3k模擬器
[url]http://www.dgate.org/vmips/[/url]
Qemu: MIPS R3k/ARM7|9/PowerPC模擬器
[url]http://fabrice.bellard.free.fr/qemu/[/url]
歷史悠久的PowerPC/Sparc/MIPS模擬器,可運行Irix 5/Solaris 2等等,可惜早已停止開發。
[url]http://simos.stanford.edu/[/url]
Watercloud的磁芯大戰,很精巧,可以作為學習或游戲。
[url]http://watercloud.nease.net/progbatt/cxdz1.0.zip[/url]
如果你本來對embed或ARM體系開發有興趣,可以看看這個國人開發的項目:
[url]http://www.skyeye.org/[/url]
模擬了ARM7 CPU和開發版,兼容SA1100。
其它一些東東:
PearPC -PowerPC 模擬器
[url]http://pearpc.sourceforge.net/[/url]
bochs,歷史悠久的X86模擬器(比Vmware還久),原來的Plex86,可運行Windows/Linux/*BSD/DOS,最大的優點是,OpenSource,Free。
[url]http://bochs.sourceforge.net/[/url]
Vmware,可能是目前應用最廣的虛擬機。
[url]http://www.freedemon.org/download/VMware-w...-7568-Linux.rar[/url]
[url]http://www.freedemon.org/download/VMware-w...568-Windows.rar[/url]
VirtualPC,Vmware目前和將來最強大的競爭對手。
[url]http://www.microsoft.com/windowsxp/virtualpc/[/url]
twoostwo,另一個小巧的X86虛擬機,功能與vmware類似。
[url]http://www.twoostwo.org/[/url]
simics,目前為止模擬系統類型最多的虛擬機,
[url]http://www.freedemon.org/download/Virtutec...86-linux.tar.gz[/url]
[url]http://www.freedemon.org/download/Virtutec...11-x86-in32.rar[/url]
支持 Alpha, ARM, IA-64, MIPS, PowerPC, SPARC V9, x86, and AMD64平臺,不過它的速度可真的不是一般的慢,如果你的機器低于4個CPU,還是最好不要跑它了。
一張壯觀截圖:
[url]http://www.virtutech.com/images/simics/ieee-snapshot-5.png[/url]'
?PXE2寫著 '你一定接觸過各種各樣的虛擬機,Vmware,VirtualPC,甚至JVM或是VBRunDLL,等等等等,在數字的信息世界里虛擬和現實是如此的難解難分。
你一定接觸過各種各樣的虛擬機,Vmware,VirtualPC,甚至JVM或是VBRunDLL,等等等等,在數字的信息世界里虛擬和現實是如此的難解難分。
從這個開始,磁芯大戰。
[url]http://watercloud.nease.net/progbatt/cxdz1.0.zip[/url]
watercloud在這里定義了一個8k Byte地址空間的虛擬機,包含完整的運行系統,可以看作是一個最小的虛擬機。這是一個古老計算機游戲"磁芯大戰"的一個實現版本,閑來無事作為桌面小游戲玩玩兒還是不錯的。
LMX
多X虛擬
[url]http://www.unixsp.com/index.php[/url]
cygwin 是個win下的unix虛擬機
[url]http://www.cygwin.com[/url]
如果你不滿足這個的話,那么看看這個,你的硬盤就一定開始狂轉:
[url]http://www.tik.ee.ethz.ch/~gfa/sim/applet.html[/url]
當然了,雖然這只是一個Java Applet,但它確實是一個完整的MIPS R3000 體系的實現!想想看,JVM虛擬機里的MIPS虛擬機,誰知道自己是狗狗?或是狗狗的一部分?
如果用上面一個讓你心痛自己的硬盤了的話,那么就用這個吧:
[url]http://www.dgate.org/vmips/index.shtml[/url]
VMips,另一個MIPS系統的實現,當然了,這個是C版本,可以編譯運行在大多數Unix系統上。VMips提供了一個完整的MIPS體系指令集合,同樣,可以在這個環境下用gcc做交叉編譯,用gdb作交叉開發和調試...
VMips只能夠支持Mips指令集,有點過時,也有點局限,Qemu就好一點了。
[url]http://fabrice.bellard.free.fr/qemu/[/url]
Qemu支持x86 / ARM / Sparc / PowerPC四種指令集合,并且效率也比VMpis高一些;他支持兩種運行模式-- Boot模式和User模式。在Boot模式下工作就如同Vmware那樣,可以安裝和引導一個完整系統,當前工作還不完善;而User模式下工作則表現得像Wine那樣,可以直接在User空間運行一個其它硬件平臺的程序,由Qemu做一個系統指令層轉換。
作為MIPS平臺學習,Qemu的使用稍顯復雜。spim提供了一個更好的用戶界面,并且能夠運行在Unix/Windows/Dos下,同樣完整地實現了MIPS R3000指令集,圖形界面就如同大多數的調試工具一樣使用,可以直接讀取和解釋MIPS R3000匯編指令。
[url]http://www.cs.wisc.edu/~larus/spim.html[/url]
最后,是本文重點推薦的東東: mips64emul
[url]http://www.mdstud.chalmers.se/~md1gavan/mi...emul/index.html[/url]
mips64emul可以運行在大多數的Unix上,至少目前在Linux/netBSD host上運行得很好。可以模擬32/64位的MIPS CPU,支持netbsd, openbsd, linux, Ultrix, Irix的MIPS版本。支持boot模式安裝系統和user模式直接運行elf/coff格式可執行文件。
支持模擬如下硬件平臺:
DECstation:
NetBSD/pmax onto a harddisk image.
old OpenBSD kernel in a.out format.
Linux kernels for Mips R4000.
SGI:
NetBSD/sgimips.
Linux/SGI kernels for Mips R10000.
ARC:
NetBSD/arc.
An ARC linux kernel, ECOFF.
Cobalt:
NetBSD for Cobalt.
Linux for Cobalt.
Playstation 2:
NetBSD/playstation2.
Linux kernel (2.2.21-pre1-xr7).
配合gcc的mips交叉編譯版本進行程序測試,表現還是很不錯的。原則上使用VxWorks的MIPS版本作交叉開發應該也可以,過幾天試試看。
這是今天爬行的一個筆記,本來是為了找一些MIPS平臺交叉開發的資料。所以現在把這些東東記錄在此,做一個Index。
mips64emul: MIPS R10k/12k模擬器(推薦)
[url]http://www.mdstud.chalmers.se/~md1gavan/mi...emul/index.html[/url]
spim: 可在windows下運行的MIPS R3k模擬器(推薦)
[url]http://www.cs.wisc.edu/~larus/spim.html[/url]
VMips: Mips R3k模擬器
[url]http://www.dgate.org/vmips/[/url]
Qemu: MIPS R3k/ARM7|9/PowerPC模擬器
[url]http://fabrice.bellard.free.fr/qemu/[/url]
歷史悠久的PowerPC/Sparc/MIPS模擬器,可運行Irix 5/Solaris 2等等,可惜早已停止開發。
[url]http://simos.stanford.edu/[/url]
Watercloud的磁芯大戰,很精巧,可以作為學習或游戲。
[url]http://watercloud.nease.net/progbatt/cxdz1.0.zip[/url]
如果你本來對embed或ARM體系開發有興趣,可以看看這個國人開發的項目:
[url]http://www.skyeye.org/[/url]
模擬了ARM7 CPU和開發版,兼容SA1100。
其它一些東東:
PearPC -PowerPC 模擬器
[url]http://pearpc.sourceforge.net/[/url]
bochs,歷史悠久的X86模擬器(比Vmware還久),原來的Plex86,可運行Windows/Linux/*BSD/DOS,最大的優點是,OpenSource,Free。
[url]http://bochs.sourceforge.net/[/url]
Vmware,可能是目前應用最廣的虛擬機。
[url]http://www.freedemon.org/download/VMware-w...-7568-Linux.rar[/url]
[url]http://www.freedemon.org/download/VMware-w...568-Windows.rar[/url]
VirtualPC,Vmware目前和將來最強大的競爭對手。
[url]http://www.microsoft.com/windowsxp/virtualpc/[/url]
twoostwo,另一個小巧的X86虛擬機,功能與vmware類似。
[url]http://www.twoostwo.org/[/url]
simics,目前為止模擬系統類型最多的虛擬機,
[url]http://www.freedemon.org/download/Virtutec...86-linux.tar.gz[/url]
[url]http://www.freedemon.org/download/Virtutec...11-x86-in32.rar[/url]
支持 Alpha, ARM, IA-64, MIPS, PowerPC, SPARC V9, x86, and AMD64平臺,不過它的速度可真的不是一般的慢,如果你的機器低于4個CPU,還是最好不要跑它了。
一張壯觀截圖:
[url]http://www.virtutech.com/images/simics/ieee-snapshot-5.png[/url]'
總結
- 上一篇: Community Server系列之四
- 下一篇: 去除代码行号的一个小程序(控制台版本)