虚拟机概述[转贴]

[摘要]描述什么是虚拟机、及运行在各种平台上的多种多样的虚拟机软件
 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]'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABP vNext分布式事件总线RabbitMQ注意事项

[https://docs.abp.io/zh-Hans/abp/latest/Distributed-Event-Bus-RabbitMQ-Integration](ABP vNext官方文档链接),基本使用可直接阅读官方文档,云怀不重复造轮子,只做官方未提到但重要的说明关键配置说明关键配置类:AbpRabbitMqE…

window运行php环境,Windows环境下使用phpstudy搭建php运行环境

首先在百度百科上对于phpstudy的定义是一个PHP调试环境的程序集成包。该程序包集成最新的ApachePHPMySQLphpMyAdminZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境,该程序不仅包括PHP调试环境,还包括了…

去除代码行号的一个小程序(控制台版本)

清风竹林发布了去除代码行号的一个小程序,确实方便大家收集一些文章代码,但个人认为象这样的小东东,要使广大网友能拿来就用,用.Net 2.0做成WinForm,有点贵族化了,于是动手整出个平民化的控制台版本,可以清除指定的文本…

. NET5实战千万高并发项目,性能吊打JAVA,C#排名万年老五,有望逆袭!

“秒杀活动”“抢红包”“微博热搜”“12306抢票”“共享单车拉新”等都是高并发的典型业务场景,那么如何解决这些业务场景背后的难点问题呢?秒杀系统中,QPS达到10万/s时,如何定位并解决业务瓶颈?明星婚恋话题不断引爆…

java不朽神迹,不朽的神迹 Eternal Legacy HD v1.0.8

游戏简介不朽的神迹是一个拥有全3D实时渲染的史诗战斗场面、360度自由调整的视角及丰富的动作特效的游戏。玩家将在游戏中探索壮丽的大陆,体验张力十足的战斗系统。游戏提供了多至3名角色同时参战,可从队伍成员中选择出战的队友,并且定义他们…

ABP vNext 审计日志获取真实客户端IP

背景在使用ABP vNext时,当需要记录审计日志时,我们按照https://docs.abp.io/zh-Hans/abp/latest/Audit-Logging配置即可开箱即用,然而在实际生产环境中,某些配置并不可取,比如今天的主角——客户端IP,记录用…

郭昶

郭 昶左直拳饰演《外来媳妇本地郎》中康家老二康祁宗的演员郭昶6月14日去世了,胃癌,享年50岁。这个消息真令人难以置信,不胜嘘唏。 《外来媳妇本地郎》在广东这边很受欢迎,每集结尾那带有浓厚岭南特色的粤曲小调在胡同小巷时有…

php 常用rpc框架,php的轻量级rpc框架yar

php的轻量级rpc框架yar目的:类方法的远程调用,也就是一个rpc请求。RPC本质上也是一个网络请求,既然是请求,对于效率来说,就需要考虑了。yar是基于http来做的。使用场景:多个项目共享model总的来说这种调用代价挺好的&a…

ABP vNext IOC替换原有Service实现

即 .NET IOC替换原有Service实现背景在使用ABP vNext时,该框架为我们实现了非常多的默认行为,以便开箱即用,但在实际使用中,我们总是需要根据自己的需求定制自己的服务,在.Net框架中,便提供了Service.Repla…

aqs java 简书,Java AQS源码解读

1、先聊点别的说实话,关于AQS的设计理念、实现、使用,我有打算写过一篇技术文章,但是在写完初稿后,发现掌握的还是模模糊糊的,模棱两可。痛定思痛,脚踏实地重新再来一遍。这次以 Java 8源码为基础进行解读。…

仓储模式到底是不是反模式?

【导读】仓储模式我们已耳熟能详,但当我们将其进行应用时,真的是那么得心应手吗?确定是解放了生产力吗?这到底是怎样的一个存在,确定不是反模式?一篇详文我们探讨仓储模式,这里仅我个人的思考&a…

网络工程师必须懂的十五大专业术语!

1、什么时候使用多路由协议? 当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。下列情况不必使用多路由协议: 从老版本的内部网关协议( Interior Gateway Protocol&…

dnSpy反编译、部署调试神器

一、概要在工作当中,当程序部署了之后就算打了日志遇到极个别的特殊异常没有在程序日志中体现出来或者没有详细的报错原因会让开发者非常头疼,不得不盲猜bug到底出在哪里。这里分享一下工作上经常会用到的工具,这款工具可以反编译并运行调试已…

java中内边距跟外边距,padding和margin——内边距和外边距

一、padding——内边距(内填充)1.1、padding 简写属性在一个声明中设置所有填充属性。该属性可以有1到4个值。div.outer{width: 400px;height: 400px;border: 2px solid #000;}div.inner{width: 200px;height: 200px;background-color:red ;padding: 50px;}运行效果图&#xff…

AJAX将成为移动Web2.0时代首选开发平台

一、 引言  最近,Opera宣布通过他们的浏览器把AJAX技术应用于移动设备开发中。考虑到Opera浏览器在目前浏览器市场(特别是在移动浏览器市场)的流行性,我们可以预计这一宣布对于整个浏览器市场必然会产生重要影响。从加入到移动服务开发市场几年的经验来看,我相信现…

matlab仿真习题,(MATlab仿真部分习题答案.doc

(MATlab仿真部分习题答案[4.1]控制系统结构如图4.1所示利用MATLAB对以上单位负反馈控制系统建立传递函数;将第一问中求得的传递函数模型转化为零极点增益形式和状态空间形式。解:(1)num[2 2];den[1 2 1];[num1,den1]cloop(num,den);systf(num1,den1)程序运行结果如下…

使用 ML.NET 实现峰值检测来排查异常

机器学习中一类问题称为峰值检测,它旨在识别与大部分时序中明显不同但临时突发的数据值。及时检测到这些可疑的个体、事件或观察值很重要,这样才能尽量减少其产生。异常情况检测是检测时序数据离群值的过程,在给定的输入时序上指向“怪异”或…

如何使用Tasklist命令

Tasklist命令用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数。使用格式Tasklist [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]参数含义/S system 指定连接到的远程系统。/U [domain]user…

PHP防QQ列表右划,react native 实现类似QQ的侧滑列表效果

如果列表行数据需要更多的操作,使用侧滑菜单是移动端比较常见的方式,也符合用户的操作习惯,对app的接受度自然会相对提高点。最近得空就把原来的react-native项目升级了侧滑操作,轻轻松松支持android和ios双平台,效果如…

OpenTelemetry - 云原生下可观测性的新标准

CNCF 简介CNCF(Cloud Native Computing Foundation),中文为“云原生计算基金会”,CNCF是Linux基金会旗下的基金会,可以理解为一个非盈利组织。当年谷歌内部一直用于编排容器的Borg项目开源了,为了该项目更好…