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

有人能从编程的角度来解释一下吗?

福利:这两个词在英语中有什么区别?(对不起,我的母语不是英语:))


当前回答

模拟器:类似于解释器。 也就是说,它实际上逐行执行真实的代码来模拟行为

模拟器:类似于可执行文件。 也就是说,它接受编译后的代码并执行它。

其他回答

在计算机科学中,模拟和仿真都从相同的输入产生与原始系统相同的输出;但是,仿真也使用相同的过程来实现它,并且由相同的材料制成。模拟使用与原始系统不同的进程。同样值得注意的是术语复制,它是两者的中间——使用相同的过程,但由不同的材料制成。

所以如果我想在我的PC上运行我的旧《超级马里奥兄弟》游戏,我会使用SNES模拟器,因为它使用相同或类似的计算机代码(进程)来运行游戏,并使用相同或类似的材料(硅芯片)。 然而,如果我想在我的个人电脑上驾驶波音747喷气式飞机,我会使用飞行模拟器,因为它使用的过程与原来的完全不同(没有实际的机翼、升力或空气动力学!)。

以下是摘自计算机科学术语表的准确定义:

模拟是一种系统模型,它捕捉了系统输入和输出之间的功能连接,但不一定基于与系统本身相同或相似的过程。

复制是一种系统模型,它捕获系统输入和输出之间的功能连接,并基于与系统本身相同或相似的过程。

仿真是某种系统的模型,它捕获系统输入和输出之间的功能连接,基于与该系统相同或类似的过程,并且由与该系统相同的材料构建。

参考文献:The Open University, M366 Glossary 1.1, 2007

这是焦点的不同。模拟器1专注于重新创建系统的行为,而不考虑系统内部的功能。模拟器s2着重于系统组件的建模。当你主要关心一个系统做什么时,你使用模拟器;当你关心它如何做时,你使用模拟器。

就其一般的英文含义而言,emulation是“在品质或行为上努力达到或超过他人”,而simulation是“模仿、复制、复制行为、外观或特性”。差别不大。竞赛来自æmulus,“奋斗,竞争”,与“模仿”和“形象”有关,这表明表面上的相似。“模拟”来自similis的“像”,“相似”一词也是如此,这可能暗示了更深层次的一致性。

引用:

维基百科:模拟器 维基百科:计算机模拟 Wiktionary:模拟 Wiktionary:模拟 词源在线:仿真 词源在线:模拟

用比较正常的说法来说:如果你的软件能做被模仿系统能做的所有事情,那么它就是一个模拟器。如果它只是近似于系统(it或其他)的结果,那么它就是一个模拟器。

模拟器是一个比模拟器更广泛的东西,似乎这个术语的双重性在上面的帖子中被过度考虑了。

模拟器

人们决定在“计算机世界”中使用一个新词模拟,当他们开始以直接的方式替换现有系统的一些硬件部分时——模仿它们的行为,并依赖于计算性质,以确保不会破坏某些东西,并使所有东西都处于等效状态。所以我们模拟了这个部分!(整个系统仍然像以前一样工作)

模拟器通常在数字领域的狭义上用于替代和虚拟化——以数字形式作为一个软件——以前已知和存在的东西(虚拟芯片、电路板、电子设备)。因此,当世界变得更加数字化,并将模拟器这个词带给大众时,大众也为它增加了不确定性(或额外的原因)。

模拟器

首先,我看到许多关于模拟器可以代替真实的东西的评论,但是模拟器不能。

但是飞行模拟器是用来做真实的事情的——它训练飞行员,提高他们的技能和知识,它取代了昂贵的真实飞机,节省了很多钱。我们不能只是说一个飞机模拟器,因为我们有内心的感觉,这远远不止于此,所以我们叫它模拟器:)飞机模拟器可以包含模拟雷达或应答器,这是真的。

相反,模拟器用于分析和研究(模拟器用于真实的东西),但这种分析和研究并不比模拟GSM板更真实(在我们生活的信息时代更是如此)。分析为业务增加了价值,降低了成本或指出了不低于替换(模拟)硬件的利润。

模拟器类似于对我们由于某些原因(成本、技术、物理不可能性)而无法获得的东西进行建模。它通常是模拟一些新的、无形的、复杂的或者我们不太了解的东西,比如市场、天气、燃烧、用户。这就是飞行,黑洞,股票交易,模拟。

最后:

模拟器比模拟器更广泛 模拟器倾向于模拟/建模更多的全局过程/事物,并具有缩小模仿范围的能力(例如,带有代表一些已知模型的预置的电容器模拟器) 模拟器倾向于模仿具有特定规格、已知特征和属性的特定硬件设备(例如SNES模拟器、Intel 8087或Roland TB-303)

至于词源

它们都来自拉丁语,意思是:

“仿效”是“平等”(看起来更有侵略性和更直接-竞争) 模拟是“相似”(看起来更狡猾和狡猾-模仿)

To understand the difference between a simulator and an emulator, keep in mind that a simulator tries to mimic the behavior of a real device. For example, in the case of the iOS Simulator, it simulates the real behavior of an actual iPhone/iPad device. However, the Simulator itself uses the various libraries installed on the Mac (such as QuickTime) to perform its rendering so that the effect looks the same as an actual iPhone. In addition, applications tested on the Simulator are compiled into x86 code, which is the byte-code understood by the Simulator. A real iPhone device, conversely, uses ARM-based code.

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

为了理解模拟和模拟之间的微妙区别,假设您试图说服一个孩子玩刀是危险的。为了模拟这种情况,你假装用刀割伤自己,并痛苦地呻吟。为了模仿这一点,你真的会割伤自己。