Answers:
是的,概念不同。
A simulation
是一个行为与其他类似的系统,但是以完全不同的方式实现。它提供了系统的基本行为,但不一定必须遵守要模拟的系统的所有规则。它可以让您了解某些事物的工作原理。
例
以飞行模拟器为例。外观和感觉就像您正在驾驶飞机,但是您完全脱离了驾驶飞机的现实,并且可以根据自己的意愿弯曲或破坏这些规则。例如,将一架空中客车A380倒挂在伦敦和悉尼之间,而不会损坏它。
An emulation
是一个行为完全一样的系统,并且遵守要模拟的系统的所有规则。它实际上是对另一个系统的完整复制,它与模拟系统的输入和输出二进制兼容,但在与原始模拟系统环境不同的环境中运行。规则是固定的,不能更改,否则系统将失败。
例
该MAME系统是围绕这个非常前提建造的。那些早已被人们遗忘,几乎完全在硬件或硬件系统固件中实现的旧街机系统,都可以被模拟到原始的错误和崩溃,而当它们达到最高评分时就会发生崩溃。
一个模拟是别的东西抄录一些的那个东西的功能和树叶等构建出一个模型-显然要保留您的查询相关的特征,并留下了不相关的。
例如,对早起的通勤者交通进行的模拟将通勤者的名字,甚至他们的身份都排除在外(使用计数器变量而不是实际的Commuter
对象集),但是它不能忽略他们的到达率。
仿真是在平台B上运行为平台A创建的软件X,而无需更改软件本身。这需要建立一个在B上运行的A模型,并且显然必须对涉及代码执行的有关A的所有模型进行建模。(从理论上讲,您可以省略对已知不会使用此特定软件的操作码的支持,但这是很少见的-做一个仿真器是一项艰苦的工作,而做一个透彻的工作和拥有可重复使用的东西比浪费时间更值得。仅适用于S。)
两者都意味着某事在做其他事情。
不同之处在于,“模拟”发生在有意识的水平上(相对于用户),并且通常在不触碰现实本身的情况下最终确定该结果以预期现实的结果。
“仿真”发生在无意识的水平上,其目的是用另一种不同的组件替换基础组件,该组件相对于用户而言就像旧组件一样。
换句话说,仿真发生在“并行世界”中,而仿真发生在“已替换世界”中。
从技术上讲,它们都做同样的事情:在看起来像真实事物的环境中做某事。
但是,从概念上讲,存在重要区别。
一个模拟是应该从现实世界到一定程度的分离; 模拟的输出未直接连接到模拟的事物。例如,飞机模拟器实际上并不飞行,并且飞行员实际上并未与真实的空中交通管制员进行通信。
一个模拟通常有目标的检测或预测在一个安全的环境中的一些现实生活的过程; 因为模拟与现实世界断开连接,所以不会发生任何真正的坏事(坠毁的飞机模拟器永远不会杀死真实的人)。
一个仿真,相比之下,具有取真实的东西的地方目标:例如,如果你使用模拟一个更复杂的可编程CPU一个简单的单片机,该CPU可以代替原来的微控制器的使用; 它将物理连接到某台计算机,并且实际上将像微控制器一样控制该计算机。
该目标的的仿真与功能性等价物来替换硬件或软件组件时,原来的模块不可用(或已变得过于昂贵,如果只是保持)。仿真还可以达到更灵活地使用硬件的目的-同一可编程微控制器可以加倍用于几个更简单的控制器,并根据需要切换仿真模式。
"technically"
,它们是完全不同的。您描述的概念差异是这种差异的基础。
尽管词源不是严格准确的,但请考虑同情“我可以想象必须感觉到的”和同情心“我知道要感觉到的”之间的区别。模拟可能包括问题的视觉表示,但可能没有。例如,它可能只打印出数字列,代表排队等候某人或总收入或平均速度的人数。它具有与现实相符的某些特征,而与现实不符。
仿真(通常在一个平台假装为另一个平台的上下文中使用)更加完善。因此,Windows Phone开发人员可以在模拟器中的Windows计算机上运行或调试其电话应用程序,该模拟器看起来像一部电话,其行为也类似。您也可以在模拟器中运行旧的Commodore 64游戏。
这些单词不准确。在我看来,大多数飞行模拟器都更像模拟器,但是这个名字从一个不太沉浸的时代开始就停滞不前了。某些人在跨平台的情况下保留单词模拟器,而在其他情况下则拒绝它。如果您在说话时做同样的事情,您可能永远也不会认为这是错的,但要明白,有些人可能将两个词之间的界限稍有不同,并且当有人说“这是一个模拟”时,会留出一些余地,以达到真正准确和完整的模拟。