模拟器还是模拟器?有啥区别?
Posted
技术标签:
【中文标题】模拟器还是模拟器?有啥区别?【英文标题】:Simulator or Emulator? What is the difference?模拟器还是模拟器?有什么区别? 【发布时间】:2010-12-07 18:19:15 【问题描述】:虽然我了解模拟和仿真的一般含义,但我几乎总是对它们感到困惑。假设我创建了一个模仿现有硬件/软件的软件,我应该怎么称呼它?模拟器还是模拟器?
谁能解释一下编程方面的区别?
奖励:这两个术语在英语中有什么区别? (对不起,我不是母语人士:))
【问题讨论】:
在移动应用程序开发中,iPhone 有一个模拟器,而 android 有一个模拟器。更多在这里 - ***.com/questions/4544588/… 我发现***对此信息的看法:en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation 这也有助于解释这一点:programmers.stackexchange.com/questions/134746/… 【参考方案1】:模拟是模仿外部可观察行为以匹配现有目标的过程。仿真机制的内部状态不一定要准确反映它正在仿真的目标的内部状态。
另一方面,模拟涉及对目标的底层状态进行建模。良好模拟的最终结果是模拟模型将模拟它正在模拟的目标。
理想情况下,您应该能够查看模拟并观察在查看原始目标时也会看到的属性。在实践中,出于性能原因,可能存在一些模拟捷径——也就是说,模拟的某些内部方面实际上可能是一种模拟。
MAME 是一款街机游戏模拟器; Hyperterm 是一个(不是很好的)终端仿真器。无需对街机或终端进行详细建模即可获得所需的模拟行为。
飞行模拟器是一个模拟器; SPICE 是一个电子模拟器。他们尽可能多地对目标的每个细节进行建模,以表示目标在现实中所做的事情。
编辑:其他回应指出,模拟的目标是能够替代它正在模拟的对象。这是很重要的一点。仿真的重点更多是对目标内部状态的建模——仿真并不一定会导致仿真。特别是,模拟可能比实时运行慢得多。例如,SPICE 不能替代实际的电子电路(即使假设有某种神奇的设备可以将电路完美地连接到 SPICE 模拟。) 模拟并不总是导致模拟--
【讨论】:
根据这个定义,难道就不可能在软件中模拟现实世界吗?我认为我们不能准确地表示现实世界的基本状态——目前只能模拟可观察的属性。 我不同意这个“[Simulations]模型尽可能把目标的每一个细节都表现出来,以表示目标在现实中做了什么。”根据模拟的目的,目标系统具有足够的详细信息。例如,Flight Simulator 可能不会模拟海中的鱼,因为它对于模拟目的毫无用处。 这里的答案正好相反:***.com/questions/2174638/… 似乎大多数人以相反的方式使用这些词,例如:模拟通常发生在比模拟更高的层次上(尽管在给定的上下文中这两个词很少一起使用)。参见例如 Android Emulator 与 Apple 的 Simulator。我建议在此答案中切换单词以与大多数定义保持一致,并防止未来访问者混淆。 我认为这个答案改变了两个术语。所有其他来源都将其解释为:模拟=重复行为;仿真=重复的内部工作。这导致了以下结论:它们都是可怕的主观术语。【参考方案2】:如果飞行模拟器可以将您从 A 带到 B,那么它就是飞行模拟器。
模拟器可以替换原来的真正使用。 虚拟 PC 模拟 PC。
模拟器是用于研究和分析的模型。
仿真器必须始终接近实时地运行。对于并非总是如此的模拟器。地质模拟可以做 1000 年/秒或更多。
【讨论】:
@Henk 您的“驾驶舱”示例非常棒,尽管我在阅读 Toybuilder 的答案后理解了它。谢谢:) 虚拟电脑不模拟,它虚拟化。另一方面,QEmu 确实 模拟。在这两种情况下,名称都应该是一个提示。 我认为可以肯定地说Virtual PC 模拟PC。它如何模拟 PC 是通过虚拟化,但这更多的是实现细节。您可能会争辩说,硬件虚拟化是仿真的超集,因为它可以提供加速 CPU 支持、独占硬件设备访问等。 等等,Virtual PC 不是提供了几乎 1:1 的真实 PC 复制品吗? (我的意思是,一般来说,系统虚拟化不仅应该模拟外部行为,而且应该模拟系统的几乎每一个角落和缝隙,这与应用程序虚拟化不同,例如不重新创建网络堆栈)。 我在哪里可以找到所说的飞行模拟器?【参考方案3】:模拟 = 用于分析和研究
Emulation = 用作替代品
模拟器是一种模拟环境,但模拟器是复制原始设备或系统使用的环境。
模拟器模仿它正在模拟的事物的活动。它“出现”(这个“出现”可以有很多,取决于上下文)与被模拟的事物相同。例如,飞行模拟器“看起来”是对用户的真实飞行,尽管它不会将您从一个地方运送到另一个地方。
另一方面,模拟器实际上“做”被模拟的东西所做的事情,并且这样做也“似乎正在做同样的事情”。模拟器可以使用不同的协议集来模拟被模拟的事物,但结果/结果始终与原始对象相同。例如,EMU8086 模拟您计算机上的 8086 微处理器,它显然不在 8086 上运行(= 不同的协议),但它给出的输出是真正的 8086 会给出的。
【讨论】:
我见过的最明确的答案。对我来说,只能通过省略额外的句子或将其整合到您出色的对比定义中来改进:-D 完全同意。更正式的说法可能是模拟器需要与模拟实体相同的接口和行为,而模拟器则不需要。它与“用作替代品”相同,但更正式地可测试。【参考方案4】:这是焦点的不同。模拟器1专注于重新创建系统的行为,而不考虑系统内部的功能。模拟器2专注于对系统的组件进行建模。当您最关心系统的功能时,您使用模拟器,而当您关心系统如何操作时,您使用模拟器。
就其一般的英文含义而言,emulation 是“努力在品质或行动上达到或超越他人”,而 Simulation 是“to model、复制、复制”的行为、外观或属性。差别不大。模拟来自æmulus,“努力、竞争”,与“模仿”和“形象”相关,这表明表面杠杆相似。 “模拟”来自similis“喜欢”,“相似”一词也是如此,这可能暗示着更深层次的一致性。
参考资料:
-
***:Emulator
***:Computer Simulation
维基词典:emulation
维基词典:simulation
词源在线:emulation
词源在线:simulation
【讨论】:
你的答案和别人不一样。根据您的说法,Virtual PC 是模拟器还是模拟器? @MikaëlMayer:许多答案与其他答案不同,只有一些相似。我认为我的答案等同于 Toybuilder 和 cdiggens 的答案(因为事物的分类方式相同),并且与 Jörg 的答案兼容。这只与 Pontus 和 Aeolai 的相反。 @MikaëlMayer Virtual PC 是一个模拟器。它可以做真正 PC 可以做的所有事情。 @Pri 请参阅此线程关于 Virtual PC 的答案。两者兼而有之,这取决于角度。例如,您仍然可以说这是一个模拟,因为它不能像真正的计算机那样加热。 感谢您回来@MikaëlMayer,但老实说,有时我们实际上无法区分系统是模拟器还是模拟器。一系列的辩论开始了。希望我是对的!很少有人会根据使用情况、英语含义、功能性和可负担性得出差异。但是当我在案例研究中应用所有答案时,这并不是一件容易的事【参考方案5】:我不认为模拟器和模拟器可以比较。两者都模仿某些东西,但不属于同一推理范围,它们不在同一上下文中使用。
简而言之:模拟器旨在复制原始的某些功能,甚至可以在真实环境中替换它。模拟器并非旨在复制原件的特征,而只是在人类看来与原件相似。没有原版的特性,模拟器无法在真实环境中替代。
模拟器是一种设备,它可以模拟足够接近的东西,以便可以用真实的东西代替。例如,您希望电路像 ROM(只读存储器)电路一样工作,但也希望调整内容直到达到您想要的为止。您将使用 ROM 仿真器,一个黑匣子(可能基于 CPU),其物理和电气接口与您要仿真的 ROM 兼容。仿真器将代替真实 ROM 插入设备。主板在工作时不会看到任何差异,但您可以轻松更改仿真ROM的内容。否则,仿真器将在其主板上下文中完全按照实际情况运行(由于实际的内部模型,可能会慢一点),但在主板上下文之外,还有一些仅对设计人员可见的附加功能(如重写) .所以模拟器的定义是:模仿原始的东西,具有它的所有功能特性,实际上可以在现实世界中在某种程度上替代它,并且可能具有在正常上下文中不可见的其他特性。
模拟器用于另一个思维环境,例如飞机模拟器、汽车模拟器等。模拟只关注实际事物的某些方面,通常与 相关>人类将如何感知和控制它。模拟器不会执行实物的功能,也不能代替它。飞机模拟器不会飞或载人,这根本不是它的目的。模拟器的目的不是为了工作,而是为了让飞行员以某种方式看起来像真实的东西,而不是为了正常的目的,例如。允许地面训练(包括在不寻常的情况下,如全引擎故障)。所以模拟器的定义是:在某种程度上,可以在人类看来,就像原来的一样,但不能替代它以供实际使用。另外飞行员会知道模拟器是模拟器。
我认为我们不会看到任何 ROM 模拟器,因为 ROM 不与人类交互,我们也不会看到任何飞机模拟器,因为飞机在现实世界中无法替代执行相同的功能。
在我看来,模拟器或模拟器中的模型可以是任何东西,并且不必与原始模型相似。 ROM 模拟器模型可能是软件而不是硬件,MS Flight Simulator 不能比它更多的软件。
这两个术语的比较将与当前选择的答案(来自 Toybuilder)相矛盾,这将差异放在内部模型上,而我的建议是,区别在于假货是否可以用于执行实际功能现实世界(在某种公认的范围内,确实如此)。
请注意,飞机模拟器还必须模拟不属于飞机的地球、太阳、风等,因此飞机模拟器必须模拟飞机的某些方面,以及飞机的环境,因为它不是在这个实际环境中使用,而是在训练室中使用。
这与只模拟原版的模拟器有很大的不同,它的目的是在原版的环境中使用,无需模拟它。回到飞机环境……什么是飞机模拟器?也许是一列连接两个机场的火车——实际上是两个飞机台阶——载着乘客,车上有空姐,车内看起来像一个真正的飞机客舱,机长说“女士们,先生们,我们的海拔高度是 10 公里,气温在我们的目的地是 24°C”。它的好处很难看到,哼……
总而言之,模拟器是真实的,目的是为了工作,模拟器是假的,目的是欺骗用户。
【讨论】:
“ROM 模拟器”这句话让我想起了虚拟视频游戏机。【参考方案6】:要了解模拟器和模拟器之间的区别,请记住模拟器会尝试模仿真实设备的行为。例如,在 ios 模拟器的情况下,它模拟了实际 iPhone/iPad 设备的真实行为。但是,模拟器本身使用安装在 Mac 上的各种库(例如 QuickTime)来执行其渲染,因此效果看起来与实际的 iPhone 相同。此外,在模拟器上测试的应用程序被编译成 x86 代码,这是模拟器可以理解的字节码。相反,真正的 iPhone 设备使用基于 ARM 的代码。
相比之下,模拟器模拟真实设备的工作。在模拟器上测试的应用程序被编译成真实设备使用的实际字节码。模拟器通过将字节码翻译成可以由运行模拟器的主机执行的形式来执行应用程序。
要了解模拟和仿真之间的细微差别,假设您试图让孩子相信玩刀是危险的。为了模拟这一点,你假装用刀割伤自己并痛苦地呻吟。为了模仿这一点,你实际上是在割伤自己。
【讨论】:
不要在家里尝试这个孩子:D【参考方案7】:仿真器是一个系统模型,它将接受仿真系统将接受的任何有效输入,并产生相同的输出或结果。因此,您的软件是一个模拟器,前提是它准确地再现了模拟系统的行为。
【讨论】:
谢谢。我认为这是对仿真的一个非常精确的定义。因此,例如 Wine 是一个模拟器,因为它不一定提供与 Windows 中定义的相同的 precise 输出? 小心尝试将 WINE 硬塞进模拟器或模拟器的非此即彼。 WINE 是一个兼容层,它使来自一个系统的二进制文件在另一个系统的二进制 API 层上运行。你可以称它为适配器。我想模拟器也是理解它的好方法,但它并不比模拟器更接近。 WINE 在这个范围内是仿真的。它具有链接 Windows 二进制文件的外观,但如果您要查看内部结构,您将不会了解任何有关 Windows 的信息。【参考方案8】:几年前,我想出了一句很简短的格言,我相信它很好地抓住了差异的本质:
模拟器是执行任务的模拟器。
我的意思是当你不能使用真实的东西时你会使用模拟器,当你无法使用真实的东西时你会使用模拟器你想找到一些关于它的东西 em>。
【讨论】:
【参考方案9】:简单的解释。
如果您想将您的 PC(运行 Windows)转换为 Mac,您可以执行以下任一操作:
(1) 您可以在 Windows 上简单地安装 Mac 主题。因此,您的 PC 感觉更像 Mac,但您实际上无法运行任何 Mac 程序。
(SIMULATION)
(或)
(2) 您可以对您的 PC 进行编程,使其像 Mac 一样运行(我不确定这是否可行:P)。现在,您甚至可以成功运行 Mac 程序并期待与 Mac 上相同的输出。
(EMULATION)
在第一种情况下,您可以体验 Mac,但不能期望与 Mac 上的输出相同。 在第二种情况下,您可以期待与 Mac 上相同的输出,但事实仍然是它只是一台 PC。
【讨论】:
这既简单又完全错误。 (2) 接近仿真,但 (1) 既不是仿真也不是模拟。【参考方案10】:用或多或少的正常说法:如果您的软件可以做模仿系统可以做的所有事情,那么它就是一个模拟器。如果它只是近似系统(IT 或其他)的结果,它就是一个模拟器。
【讨论】:
【参考方案11】:模拟器:类似于解释器。 即它实际上在逐行中执行真实代码以模仿行为
模拟器:它是类似的可执行文件。 即它需要编译的代码并执行它。
【讨论】:
【参考方案12】:模拟器是真实系统的替代品,但模拟器用于优化、理解和估计真实系统。
【讨论】:
【参考方案13】:这两个术语之间的区别有点模糊。来自“模拟器”是允许您调试嵌入式系统的硬件的世界。请记住那些允许您拥有 ICE(电路内仿真)功能来调试 PC 平台的产品,我发现使用“仿真”一词对于模拟硬件行为的软件来说有点用词不当。
我目前使用该术语的理由是仿真是它可以“增强”功能,并且只关注系统行为的“合理”近似。
ICE:(电路仿真) 插入电路板代替实际处理器的硬件。它允许您像实际处理器一样运行系统。通常,这些处理器上有一个变体,以实际执行具有胶合逻辑的软件,以允许用户在硬件控制下中断执行和单步。有些还会提供日志记录功能。大多数现代处理器开发系统已将 ICE 类型的仿真替换为 JTAG 仿真,其中 JTAG 仅通过专用串行链路与处理器通信,所有执行均由安装在板上的处理器执行。
软件模拟器: 0x86 仿真器只关心能够执行 0x86 汇编语言,不提供 SPECIFIC 0x86 处理器的每个周期的准确行为模型。博克斯就是一个例子。 QEMU 做到了这一点,但也允许使用特殊的内核模块进行“虚拟化”。
模拟器: 德州仪器 (TI) 为软件开发提供了处理器的 CYCLE ACCURATE 行为模型,旨在准确模拟特定处理器内核的行为,供开发人员在硬件工作之前使用。
软件模拟器增强功能: BLEEM 不仅允许您运行 Playstation 软件,还允许以比 Playstation 所能提供的更高的分辨率输出显示,还可以利用可用的 GPU 的更高级功能。 (即更好地混合和平滑纹理。)
【讨论】:
【参考方案14】:两者都是对象的模型,您可以通过某种方式控制输入和观察输出。
主要区别在于:
使用模拟器,您希望输出完全匹配您正在模拟的对象将产生的结果。 使用模拟器,您希望输出的某些属性类似于对象将产生的属性。让我举个例子——假设您想进行一些系统测试,看看向系统添加新传感器(如温度计)会如何影响系统。您知道温度计每秒会发送 8 次包含其测量值的消息。
模拟 - 如果您还没有温度计,但您想测试此消息速率不会使您的系统过载,您可以通过附加一个每秒发送 8 次随机数的单元来模拟传感器。您可以运行任何不依赖于传感器发送的实际值的测试。
仿真 - 假设您有一个非常昂贵的温度计,其测量值为 0.001 C,并且您想看看是否可以使用仅测量到最接近的 0.5 C 的更便宜的温度计。您可以使用更便宜的温度计来模拟昂贵的温度计,然后将读数四舍五入到最接近的 0.5 C 并运行依赖于温度值的测试。
请注意,模拟也可用于预测或预测行为。有限元分析模拟用于许多应用,包括天气预报和虚拟风洞。
术语的定义:
仿真 -- 超越或完全匹配 模仿——在外表或性格上模仿【讨论】:
注意——这与一个问题的答案非常相似,该问题已被标记为这个问题的副本 (***.com/questions/2174638/…)。我确实添加了术语的定义(在问题中要求但尚未回答),还添加了一些关于模拟用途(有限元分析)的信息,而不仅仅是模仿设备。【参考方案15】:模拟是一种行为类似与其他事物相似的系统,但以完全不同的方式实现。它提供了系统的基本行为,但不一定遵守被模拟系统的所有规则。它可以让您了解事物的工作原理。
仿真是一个系统,其行为完全类似于其他系统,并遵守被仿真系统的所有规则。它实际上是另一个系统的完整复制,一直到与仿真系统的输入和输出二进制兼容,但在与原始仿真系统环境不同的环境中运行。规则是固定的,不能更改,否则系统会失效。
【讨论】:
【参考方案16】:查看历史实践可能最好地回答这个问题。
过去,我曾在 PC 上看到用于 PlayStation 和 SEGA 的游戏机模拟器。
当提到试图模仿现实生活中行为(例如驾驶或飞行)的软件时,模拟器很常见。 Gran Turismo 和 Microsoft Flight Simulator 是模拟器的经典示例。
对于语言上的差异,模仿通常是指模仿某人(或某物)值得称赞的特征或行为的行为。模仿不同于模仿,模仿是为了嘲弄而模仿他人。
动词“模拟”的语言意义本质上是假装或模仿某人或某事。
【讨论】:
【参考方案17】:在计算机科学中,模拟和仿真都通过相同的输入产生与原始系统相同的输出;但是,仿真也使用相同的过程来实现,并且由相同的材料制成。模拟使用与原始系统不同的过程。另外值得注意的是复制一词,它是两者的中间——使用相同的过程但由不同的材料制成。
因此,如果我想在我的 PC 上运行旧的《超级马里奥兄弟》游戏,我会使用 SNES emulator,因为它使用相同或相似的计算机代码(进程)来运行游戏,并且使用相同或相似的材料(硅片)。 但是,如果我想在我的 PC 上驾驶波音 747 喷气式飞机,我会使用飞行模拟器,因为它使用的过程与原来的完全不同(不涉及实际的机翼、升力或空气动力学!)。
以下是来自计算机科学词汇表的确切定义:
模拟是系统模型,它捕获系统输入和输出之间的功能连接,但不一定基于与系统本身相同或相似的过程。
复制是一种系统模型,它捕获系统输入和输出之间的功能连接,并且基于与系统本身相同或相似的过程。
仿真是某个系统的模型,它基于与该系统相同或相似的过程,并且由相同的材料构建,捕获系统输入和输出之间的功能连接作为那个系统。
参考:开放大学,M366 Glossary 1.1,2007
【讨论】:
【参考方案18】:单词的定义最能描述差异。谷歌搜索给出了以下模拟和模拟的定义:
模拟 模仿的样子或性格。
模仿 匹配或超越(一个人或成就),通常是通过模仿。
模拟模仿系统。仿真可以很好地模拟一个系统,以至于它可以替代甚至超越它。
在计算中,仿真将取代它正在仿真的系统。很多时候,它甚至会胜过它所模仿的系统。例如,游戏机模拟器通常会进行改进,例如更高的硬件兼容性、更好的性能和更高的音频/视频质量。
另一方面,模拟受到模型的限制。它们是模仿系统的最佳尝试,但不能替代它。有硬件模拟器,因为硬件可以被模仿,很难区分。没有农业模拟器,因为没有可以替代实际农业的模拟。我们只能模拟一个耕作模型,以了解如何更好地耕作。
【讨论】:
【参考方案19】:Virtual PC 试图模拟计算机,从程序员的角度来看,但同时,它模拟一台计算机从电气工程师的角度来看。
【讨论】:
【参考方案20】:这两个术语是完全不同的东西,只是很少相交。找到合适的术语其实很容易,只要考虑以下几点:
模拟并没有真正起到任何作用。您可以研究它,例如计算机是如何工作的,但它通常没有其他结果。飞行模拟器中的飞机失事不会造成真正的伤害。天气预报模拟本身不会改变天气。
仿真确实可以做一些事情。您可以像使用物理计算机一样使用仿真计算机并使用它创建文档。飞行模拟器中的飞机失事会产生结果,就像人们经历了真正的影响,包括可能的身体伤害。
您的困惑可能源于这样一个事实,即“研究模拟”和“访问模拟”通常是一回事。
你的困惑并不孤单。电影“黑客帝国”谈到了模拟。然而,黑客帝国正在运行仿真,因为它对黑客帝国的所有成员都有真正的影响。相比之下,训练室没有真正的影响,所以这是一个模拟(矩阵)。
让我们看一些例子。
模拟与模拟雨
在花园里拿一根水管,让它下雨。这里的模拟和仿真有什么区别?
当你模拟下雨时,人们仍然会责怪你淋湿了。你的雨对世界有一些真正的影响,但你的模拟没有,因为模拟不会欺骗任何人,因为它是真正的雨。
相比之下,当你模拟下雨时,人们会责怪天气。也就是说,您模拟的雨在现实中的表现确实像雨。 因此,这种降雨模拟扭曲了现实, 让人们相信错误的罪魁祸首。
我花了很长时间才明白这一点。 因此,要解释所有的困惑并不容易也不明显。
请记住,模拟可能会产生副作用, 就像天气预报是基于模拟的, 这需要相当多的计算能力,因此需要电能, 对环境有影响。
因此,在“模拟下雨”的示例中,人们被淋湿只是一种副作用,而不是模拟的一部分。如果你用这个模拟的雨来模拟彩虹,情况也是如此。虽然“彩虹如何工作”的属性是此模拟的一部分,但模拟本身并没有提供彩虹,这只是由于太阳对水滴的副作用的折射而发生的。
模拟与模拟计算机
虽然您可能认为“模拟计算机可以产生结果”,但这实际上是错误的推理。如果您将文件保存到模拟硬盘驱动器上,这些文件不能将模拟驱动器留在模拟之外。您可以通过研究模拟驱动器来获取文件,但这不是模拟本身的一部分。
如果硬盘驱动器保存数据,以便数据在模拟之外实际可用,则您在模拟中具有模拟硬盘驱动器来执行此操作。
因此,仿真可以成为模拟的一部分,反之亦然。
模拟文件系统与模拟文件系统
如果您模拟一个文件系统,您可能会选择将文件按原样保存到您的真实文件系统中(可能带有一些额外的元信息)。在这种情况下,模拟似乎在模拟之外创造了真正的“价值”:可用的文件!
但这只是巧合,因为您的模拟文件系统实际上也模拟了一个文件系统。您实际上在模拟中模拟了外部文件系统!
模拟与模拟 TPM 或 HSM
当您想到安全性时,就是一个很好的例子。 A TPM is a specific device to keep it's own keys secure (source of identity) while an HSM is a general device to secure foreign keys (verify identity).
有趣的事实:我的手指不断输入 TMP 而不是 TPM。
如果您模拟 TPM,这会对安全性产生巨大影响,因为您可以观察 TPM 的内部状态。这使所有安全性无效。即使这样的模拟可以为您提供改进 TPM 本身设计的宝贵提示,您也不希望将宝贵的数据真实地暴露给模拟的 TPM。
但是,如果您模拟 TPM,您将尝试尽可能地向外部隐藏这些内部状态。这样一个模拟的 TPM 可以用来真正保护其他东西,而不是没有它。
使用真实的 TPM,您无法模拟真实 HSM 的属性。您可以存档的只是模拟 HSM,但这不具有真实 HSM 的安全属性,因此存储在此模拟 HSM 中的所有数据都不会受到保护(它们只会在模拟本身内受到保护)。
相比之下,使用真正的 HSM,您可以模拟具有真正 TPM 的所有属性的 TPM。为此,需要将 HSM 构建为,没有信息需要离开 HSM,而 HSM 也不会离开 TPM。
(请注意,我对 HSM 或 TPM 一无所知,因此可能没有能够提供模拟 TPM 的 HSM。)
模拟世界与模拟世界
如果我们的世界是模拟的,那么我们也是模拟的。因此,一些观众(我们称她为上帝)可以随时看着我们并改变模拟。我们也无法确定我们是否被模拟。因为我很确定我知道我是,我不认为我是模拟的,因为对我来说,自我意识看起来像是一种具有真实成分的效果,这与模拟相矛盾。这也意味着,我们的世界也不能是模拟的,因为模拟只能像世界一样影响我,如果我是模拟的一部分。
但我们的世界仍然可以被模仿(就像在电影“黑客帝国”中一样),因为我要“证明世界”的只是我的心态和感官输入,我无法验证,因为我无法离开自己。如果我不是模拟的一部分,那么应该有机会观察不连续性(就像在电影“黑客帝国”中一样),以防模拟无法完美运行。
当我模拟时,这种情况也会发生变化,就像在模拟器中运行操作系统一样。然后我无法观察到此类错误,因为我的状态可以从仿真中重置(称之为:睡眠)而不会出现明显的中断。
但是,我宁愿认为世界是全息幻觉,而不是模拟。因为如果它是仿真的,那么我就会被某个出于某种目的运行仿真的人(称他为 Rick)所控制,而幻觉纯粹是我自己的事情。
我停在这里,因为幻觉将我们引向完全不同的事物。
【讨论】:
自我意识如何与模拟相矛盾,你是粒子发展成生命形式的结果 @spO_oks 我唯一可以确定的是,我是真实的。因为我是。其他一切都可能只是幻觉。 (即我无法证明你是真实的,也无法证明除了我之外还有其他任何东西。只是常识,在我之外一定有一个类似于世界的东西,而不是我,因为这是最合理的假设,相反假设,除了我没有别的东西,这让事情变得有点徒劳。)根据定义,模拟不能真正改变任何东西,但我会改变,因此生活是模拟与我是的事实相矛盾。【参考方案21】:模拟器:
假设您只会英语并且您在中国。为了与中国人互动,您需要翻译。现在,翻译器的作用是,它会从你那里寻找英文输入,然后转换成中文,然后把那个输入给中国人,然后得到中国人的回应,然后再转换成英文,然后用英文把输出给你。现在那个翻译和中国人就是模拟器。两者都将提供类似的功能,就好像您正在与英国人交流一样。所以硬件可能不同,但功能是一样的。
模拟器:
我无法举出比 SPICE 或飞行模拟器更好的例子。两者都将用与硬件行为相似的软件或数学模型替换硬件组件行为。
最终取决于哪种解决方案更适合项目需求的上下文。
【讨论】:
【参考方案22】:Simulator 比 Emulator 更广泛,而且在上面的帖子中似乎过度考虑了这个术语的二元性。
模拟器
当人们开始以直接的方式替换现有系统的某些硬件部分时,人们决定在“计算机世界”中使用一个新词 emulation - 模仿他们的行为并依靠计算性质来实现确保不要破坏某些东西并让所有东西都处于等效状态。 所以我们已经模仿了这部分! (并且整体仍然像以前一样工作)
仿真器通常在狭义的数字领域用作替代和虚拟化 - 以数字形式作为软件呈现 - 以前已知和存在的东西(虚拟芯片,电路板,电子设备)。因此,当世界变得更加数字化并将模拟器这个词带给大众时,大众给它增加了不确定性(或其他原因)。
模拟器
首先,我看到很多关于模拟器的 cmets 会做或替换一些真实的东西,但模拟器不会。
但飞行模拟器用于真实的事物 - 它训练飞行员,让他们掌握技能和知识,它取代了昂贵的真实飞机并节省了很多钱。而且我们不能只说飞机模拟器,因为我们内心感觉这远不止于此,所以我们称之为模拟器 :) 飞机模拟器可以包含仿真雷达或转发器,这是真的。 p>
相反的说法是模拟器用于分析和研究(以及模拟器用于真实的东西),但分析和研究并不比模拟 GSM 板更真实(在信息时代甚至更多我们住在)。分析为业务增加价值、降低成本或指出利润不低于替换(模拟)硬件。
模拟器类似于对我们因某种原因(成本、技术、物理上的不可能)而无法获得的东西进行建模。它通常模拟一些新的、无形的、复杂的或我们不熟悉的东西,比如市场、天气、燃烧、用户。所以这里有飞行、黑洞、证券交易所、模拟。
最后:
-
模拟器比模拟器更广泛
模拟器倾向于模仿/建模更多的全局过程/事物,通常具有缩小模仿范围的能力(例如,具有代表某些已知模型的预设的电容器模拟器)
模拟器倾向于模仿具有特定规格、已知特性和属性的特定硬件设备(例如 SNES 模拟器、Intel 8087 或 Roland TB-303)
至于词源
All 来自拉丁语,意思是:
emulate 是“平等”(看起来更激进、更直接——竞争) simulate 是“相似”(看起来更狡猾和狡猾 - 模仿)【讨论】:
【参考方案23】:仿真就像 抽象。 它显示了它可以做的什么。 示例:汽车驾驶仿真。
模拟就像 封装。 它显示了如何它可以做到 示例:汽车引擎内部活动。
【讨论】:
以上是关于模拟器还是模拟器?有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章