Cisco网络技术论坛

返回   Cisco网络技术论坛 > 综合区 > 其他计算机类认证考试 > ITAA认证

发表新主题 回复
 
主题工具
旧 2007-06-19, 15:35   #1
itaa_fan
版主
级别:4 | 在线时长:44小时 | 升级还需:1小时级别:4 | 在线时长:44小时 | 升级还需:1小时级别:4 | 在线时长:44小时 | 升级还需:1小时级别:4 | 在线时长:44小时 | 升级还需:1小时
 
itaa_fan 的头像
 
注册日期: Apr 2007
住址: 天津
帖子: 82
积分:11
精华:11
现金:1317金币
资产:1317金币
声望力: 12
声望: 21 itaa_fan 向着好的方向发展
声望力: 12
itaa_fan 向着好的方向发展
有发现 盒子里的世界: MIPS虚拟机(zt)

不管你对Matrix这部电影持有什么观点,这部电影里还是处处体现着我们现实计算机世界中的哲学精神。比如,最基本的一条就是,在数字世界里,你不知道你是一条狗。

哲学命题不是本文的主题,那么就直接jmpl main: 本文的主题,虚拟机。
在现实世界中,你一定接触过各种各样的虚拟机,Vmware,VirtualPC,甚至JVM或是VBRunDLL,等等等等,在数字的信息世界里虚拟和现实是如此的难解难分。

从这个开始,磁芯大战。
http://watercloud.nease.net/progbatt/cxdz1.0.zip
watercloud在这里定义了一个8k Byte地址空间的虚拟机,包含完整的运行系统,可以看作是一个最小的虚拟机。这是一个古老计算机游戏"磁芯大战"的一个实现版本,闲来无事作为桌面小游戏玩玩儿还是不错的。

如果你不满足这个的话,那么看看这个,你的硬盘就一定开始狂转:
http://www.tik.ee.ethz.ch/~gfa/sim/applet.html
当然了,虽然这只是一个Java Applet,但它确实是一个完整的MIPS R3000 体系的实现!想想看,JVM虚拟机里的MIPS虚拟机,谁知道自己是狗狗?或是狗狗的一部分?

如果用上面一个让你心痛自己的硬盘了的话,那么就用这个吧:
http://www.dgate.org/vmips/index.shtml
VMips,另一个MIPS系统的实现,当然了,这个是C版本,可以编译运行在大多数Unix系统上。VMips提供了一个完整的MIPS体系指令集合,同样,可以在这个环境下用gcc做交叉编译,用gdb作交叉开发和调试...

VMips只能够支持Mips指令集,有点过时,也有点局限,Qemu就好一点了。
http://fabrice.bellard.free.fr/qemu/
Qemu 支持x86 / ARM / Sparc / PowerPC四种指令集合,并且效率也比VMpis高一些;他支持两种运行模式-- Boot模式和User模式。在Boot模式下工作就如同Vmware那样,可以安装和引导一个完整系统,当前工作还不完善;而User模式下工作则表现得像Wine那样,可以直接在User空间运行一个其它硬件平台的程序,由Qemu做一个系统指令层转换。

作为MIPS平台学习,Qemu的使用稍显复杂。spim提供了一个更好的用户界面,并且能够运行在Unix/Windows/Dos下,同样完整地实现了MIPS R3000指令集,图形界面就如同大多数的调试工具一样使用,可以直接读取和解释MIPS R3000汇编指令。
http://www.cs.wisc.edu/~larus/spim.html

最后,是本文重点推荐的东东: mips64emul
http://www.mdstud.chalmers.se/~md1ga...mul/index.html
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模拟器(推荐)
http://www.mdstud.chalmers.se/~md1ga...mul/index.html

spim: 可在windows下运行的MIPS R3k模拟器(推荐)
http://www.cs.wisc.edu/~larus/spim.html

VMips: Mips R3k模拟器
http://www.dgate.org/vmips/

Qemu: MIPS R3k/ARM7|9/PowerPC模拟器
http://fabrice.bellard.free.fr/qemu/

http://dreamz.org/aspirant/archive/2.../07/152455.drl

历史悠久的PowerPC/Sparc/MIPS模拟器,可运行Irix 5/Solaris 2等等,可惜早已停止开发。
http://simos.stanford.edu/

Watercloud的磁芯大战,很精巧,可以作为学习或游戏。
http://watercloud.nease.net/progbatt/cxdz1.0.zip

如果你本来对embed或ARM体系开发有兴趣,可以看看这个国人开发的项目:
http://www.skyeye.org/
模拟了ARM7 CPU和开发版,兼容SA1100。


其它一些东东:

bochs,历史悠久的X86模拟器(比Vmware还久),原来的Plex86,可运行Windows/Linux/*BSD/DOS,最大的优点是,OpenSource,Free。
http://bochs.sourceforge.net/

Vmware,可能是目前应用最广的虚拟机。
http://www.freedemon.org/downloa ... .5.1-7568-Linux.rar
http://www.freedemon.org/downloa ... .1-7568-Windows.rar

VirtualPC,Vmware目前和将来最强大的竞争对手。
http://www.microsoft.com/windowsxp/virtualpc/

twoostwo,另一个小巧的X86虚拟机,功能与vmware类似。
http://www.twoostwo.org/

simics,目前为止模拟系统类型最多的虚拟机,
http://www.freedemon.org/downloa ... 11-x86-linux.tar.gz
http://www.freedemon.org/downloa ... 1.6.11-x86-in32.rar
支持 Alpha, ARM, IA-64, MIPS, PowerPC, SPARC V9, x86, and AMD64平台,不过它的速度可真的不是一般的慢,如果你的机器低于4个CPU,还是最好不要跑它了。


-QQ:837657958
记着常和我联系哦!

http://wpa.qq.com/pa?p=1:837657958:13有事点这找我
itaa_fan 当前离线  
回复时引用此帖
发表新主题 回复

主题工具

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码

论坛跳转


所有时间均为北京时间。现在的时间是 18:11


Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2018,Jelsoft Enterprises Ltd.
增强包 [3.4] 制作: PHP源动力   官方中文站: vBulletin 中文
Copyright © 2003 - 2013 Net130.com, All Rights Reserved 备案号:皖ICP备11007528号