当前位置:  开发笔记 > Android > 正文

模拟器还是模拟器?有什么不同?

如何解决《模拟器还是模拟器?有什么不同?》经验,为你挑选了10个好方法。

虽然我理解模拟和仿真的含义一般,但我几乎总是对它们感到困惑.假设我创建了一个模仿现有硬件/软件的软件,我该怎么称呼它?模拟器还是模拟器?

任何人都能解释编程方面的差异吗?

额外奖励:这两个术语的英语差异是什么?(对不起,我不是母语人士:))



1> Toybuilder..:

仿真是模仿外部可观察行为以匹配现有目标的过程.仿真机制的内部状态不必准确地反映它正在仿真的目标的内部状态.

另一方面,模拟涉及对目标的基础状态进行建模.良好模拟的最终结果是模拟模型将模拟它正在模拟的目标.

理想情况下,您应该能够查看模拟并观察在查看原始目标时也会看到的属性.实际上,出于性能原因,可能会有一些模拟的快捷方式 - 也就是说,模拟的某些内部方面实际上可能是仿真.

MAME是街机游戏模拟器; Hyperterm是一个(不是很好)的终端模拟器.无需对街机或终端进行详细建模即可获得所需的模拟行为.

飞行模拟器是一个模拟器; SPICE是一个电子模拟器.他们尽可能地模拟目标的每个细节,以表示目标在现实中的作用.

编辑:其他回应指出,仿真的目标是能够替代它正在模拟的对象.这是一个重点.模拟的重点更多地放在目标内部状态的建模上 - 模拟并不一定会导致仿真.特别是,模拟可能比实时运行得慢得多.例如,SPICE不能替代实际的电子电路(即使假设有某种神奇的设备可以完美地将电路连接到SPICE仿真.)仿真仿真并不总是导致仿真 -


根据这个定义,因此不可能在软件中模拟现实世界吗?我认为我们不能准确地表示现实世界的基本状态 - 现在只能模拟可观察的属性......
完全相反的答案在这里:http://stackoverflow.com/questions/2174638/whats-the-difference-between-emulation-and-simulation
我不同意这个_"[模拟]模型尽可能地模拟目标的每个细节来表示目标在现实中的作用."_模拟具有基于模拟目的的足够细节的目标系统模型.例如,飞行模拟器可能不会模拟海中的鱼类,因为它对于模拟来说是无用的.
取决于您要模拟的维数.
似乎大多数人以相反的方式使用这些词,例如:模拟通常在比仿真更高的级别上进行(尽管在给定的上下文中两个词很少一起使用)。例如,参见Android模拟器与Apple模拟器。我建议在此答案中切换词语以与大多数定义保持一致,并避免对未来的访问者造成混淆。

2> Henk Holterm..:

如果飞行模拟器可以将你从A运送到B,那么它将是一个飞行模拟器.

仿真器可以替换原件以供实际使用.
Virtual PC模拟PC.

模拟器是用于研究和分析的模型.

仿真器总是必须接近实时运行.对于并非总是如此的模拟器.地质模拟可以达到1000年/秒或更长时间.


我认为Virtual PC模拟PC是安全的.它如何通过虚拟化来模拟PC,但这更像是一个实现细节.您可能会认为硬件虚拟化是仿真的超集,因为它可以提供加速的CPU支持,独占的硬件设备访问等.
@Henk你的"驾驶舱"示例很棒,虽然我在阅读了Toybuilder的答案后理解了它.谢谢 :)

3> 小智..:

模拟=用于分析研究

仿真=用作替代品

模拟器是一种模型环境,但模拟器是复制原始设备或系统上的用法的模拟器.

模拟器模仿它正在模拟的东西的活动.它"出现"(很多可以用这个"出现",取决于上下文)与被模拟的东西相同.例如,飞行模拟器"出现"是对用户的真实飞行,尽管它确实将您从一个地方运送到另一个地方.

另一方面,模拟器实际上" "了被模拟的东西所做的事情,并且这样做也" 似乎在做同样的事情 ".模拟器可以使用不同的协议集来模仿正在模拟的事物,但结果/结果始终与原始对象相同.例如,EMU8086模拟计算机上的8086微处理器,显然不是在8086(= 不同协议)上运行,但它提供的输出是真正的8086所能提供的.


我见过最清楚的答案.对我来说,只能通过省略额外的句子或将其整合到你出色的对比定义中来改进:-D

4> outis..:

这是焦点的差异.仿真器1专注于重建系统的行为,而不考虑系统如何在内部运行.模拟器2专注于对系统组件进行建模.当您主要关心系统的功能时,您可以使用模拟器,当您关心它是如何工作时,您可以使用模拟器.

至于他们的一般英语含义,模仿是"努力在质量或行动上等于或优于另一个",而模拟是" 模仿,复制,复制行为,外观或属性".差别不大.仿真来自æmulus,"奋斗,竞争",与"模仿"和"形象"有关,这表明了表面杠杆的相似性."模拟"来自similis "like","相似"这个词也可能表示更深的一致性.

参考文献:

    维基百科:模拟器

    维基百科:计算机模拟

    维基词典:仿效

    维基词典:模拟

    词源在线:仿效

    词源在线:模拟



5> mins..:

我不认为可以比较仿真器和模拟器.两者都模仿某些东西,但不属于相同的推理范围,它们不会在相同的上下文中使用.

简而言之:模拟器旨在复制orginial的某些功能,甚至可以在真实环境中替换它.模拟器不是为了复制原件的特征而设计的,而是仅仅与原始人类相似.没有原始功能,模拟器无法在真实环境中取代它.

一个仿真器是模拟的东西足够近,以便它的设备可以替代真实的东西.例如,您希望电路像ROM(只读存储器)电路一样工作,但也希望调整内容直到它是您想要的.您将使用ROM仿真器,黑盒子(可能是基于CPU的),其物理和电气接口与您要模拟的ROM兼容.模拟器将插入设备以代替真实ROM.工作时主板不会有任何差异,但您可以轻松更改模拟ROM内容.否则,仿真器将完全按照其主板上下文中的实际内容(由于实际的内部模型可能稍微慢一点)但是在主板上下文中将只有设计者可见的其他功能(如重写) .因此,模拟器定义将是:模仿原始的东西,具有其所有功能特征,实际上可以在现实世界中的某些范围内替换它,并且可能具有在正常上下文中不可见的附加特征.

一个模拟器在另一个思维环境中使用,如飞机模拟器,汽车模拟器等模拟将只有实际的东西,通常是那些相关的一些方面照顾一个人会如何看待和控制它.模拟器不会执行真实的东西的功能,也不能取代它.飞机模拟器不会飞行或载人,这根本不是它的目的.模拟器不是为了工作,而是为了飞行员看起来像某些目的而不是正常目的,例如允许地面训练(包括在所有发动机故障等异常情况下).因此,模拟器定义将是:在某种程度上可以像人类一样出现在人类身上,但不能替代实际使用的东西.此外,飞行员将知道模拟器是模拟器.

我认为我们不会看到任何ROM模拟器,因为ROM不与人类交互,也不会看到任何平面模拟器,因为飞机无法在现实世界中执行相同功能的替换.

在我看来,模拟器或模拟器中的模型可以是任何东西,并且不能与原始模型相似.ROM仿真器模型可能是软件而不是硬件,MS Flight Simulator不能是软件.

这两个术语的比较将与当前选择的答案(来自Toybuilder)相矛盾,后者将差异放在内部模型上,而我的建议是不同之处在于伪造是否可以用于在现实世界中执行实际功能(事实上,某些已接受的延伸.

请注意,平面模拟器还将模拟不属于平面的地球,太阳,风等,因此平面模拟器必须模拟飞机的某些方面,以及平面的环境.飞机,因为它不是在这个实际环境中使用,而是在训练室中使用.

这与仅模拟原始模拟器的模拟器有很大不同,其目的是在原始环境中使用而无需模拟它.回到飞机上下文......什么可能是飞机模拟器?也许一列火车将连接两个机场 - 实际上是两个平面台阶 - 载着乘客,船上有空中小姐,汽车内部看起来像一个真正的飞机舱,并且船长说"女士们,先生们我们的海拔高度是10公里和温度在我们的目的地是24°C".它的好处很难看,哼......

作为结论,模拟器是一个真正意图工作的东西,模拟器是一个虚假的意图欺骗用户.



6> Vishnu Vivek..:

简单说明.

如果要将PC(运行Windows)转换为Mac,可以执行以下任一操作:

(1)您只需在Windows上安装Mac主题即可.所以,你的PC感觉更像Mac,但实际上你无法运行任何Mac程序.(SIMULATION)

(要么)

(2)您可以将PC编程为像Mac一样运行(我不确定这是否可行:P).现在,您甚至可以成功运行Mac程序,并期望与Mac上的输出相同.(EMULATION)

在第一种情况下,您可以体验Mac,但是您不能期望与Mac上相同的输出.
在第二种情况下,您可以期望与Mac上相同的输出,但事实仍然是它只是一台PC.


这既简单又完全错误。(2)接近仿真,但(1)既不是仿真也不是仿真。

7> पवन..:

要了解模拟器和模拟器之间的区别,请记住模拟器试图模仿真实设备的行为.例如,在iOS模拟器的情况下,它模拟实际iPhone/iPad设备的真实行为.但是,模拟器本身使用Mac上安装的各种库(例如QuickTime)来执行其渲染,以使效果看起来与实际的iPhone相同.此外,在Simulator上测试的应用程序被编译为x86代码,这是Simulator理解的字节代码.相反,真正的iPhone设备使用基于ARM的代码.

相反,仿真器模拟真实设备的工作.在仿真器上测试的应用程序被编译为真实设备使用的实际字节代码.仿真器通过将字节代码转换为可由运行仿真器的主计算机执行的形式来执行应用程序.

要了解模拟和模拟之间的细微差别,想象一下,您正试图说服孩子玩刀具是危险的.为了模拟这一点,你假装用刀割伤自己并痛苦地呻吟.为了模仿这一点,你实际上削减了自己.


不要在家里尝试这个孩子:D

8> cdiggins..:

模拟器是系统的模型,它将接受模拟系统可接受的任何有效输入,并产生相同的输出或结果.因此,只有在精确再现仿真系统的行为时,您的软件才是仿真器.


小心尝试将WINE鞋拔入模拟器或模拟器中.WINE是一个兼容层,它使一个系统的二进制文件在另一个系统的二进制API层上运行.你可以称之为适配器.我认为模拟器也不是理解它的坏方法,但它并不比模拟器更接近.

9> Jörg W Mitta..:

几年前,我想出了一个非常简短的格言,我相信,它很好地捕捉了差异的本质:

模拟器是任务中的模拟器.

我的意思是,当你不能使用真实的东西时,你使用模拟器,当你不能使用真实的东西并且想要找到关于它的东西时,你使用模拟器.



10> Pontus Gagge..:

或多或少的正常说法:如果您的软件可以完成模仿系统可以做的所有事情,那么它就是一个模拟器.如果它只是近似系统的结果(IT或其他),它就是一个模拟器.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有