1. 仿真:
仿真,顾名思义,是一种使主机系统能够运行软件或使用专为来宾系统设计的外围设备的技术。其主要目的是在原始模块不可用时用等效函数替换硬件或软件组件。它在计算机上模仿目标设备的硬件和软件。
示例: Android SDK 等。
2. 模拟:
模拟,顾名思义,是一种帮助计算机运行为不同操作系统开发的特定程序的技术。它通常提供易于沟通、验证和理解的基本分析方法。其主要目的是阐明通常控制系统行为的机制。它完全基于计算机并使用算法和方程。
示例: iOS 模拟器、飞行模拟器等。
仿真和模拟的区别:
Emulation |
Simulation |
---|---|
It is a process of enabling one computer system to have like another computer system. | It is a process of simulating abstract model of particular computer system. |
It generally allows to model older hardware and software and then re-create them using current or new technology. | It generally allows experimentation on valid digital representation of system. |
Its main aim is to replicate experience of using original hardware and software. | Its main aim is to establish virtual and safe environment in which each of these attributes can be tested and refined over full range of production levels. |
It is simply used to imitate behavior of another program or device, running OS in hardware platform, etc. | It is simply used to predict and forecast future behavior of system, study dynamic behavior of objects or systems, simulation of technology for testing, training, etc. |
Its advantages include better graphic quality, save space, emulation in video games, add post-processing effects, etc. | Its advantages include increase safety and efficiency, avoid danger and loss of life, slowed down to study behavior more closely, etc. |
It replaces underlying component with different one that-in respect to user works as old one. | It is finalized typically to anticipate result of reality without touching reality itself. |
Internal structure is usually written in Machine-Level assembly language. | Internal structure is usually written in high-level language. |
It includes binary translation due to which it becomes much slower due to latency. | It does not include binary translation due to which it is much faster as compared to emulation. |
It can be difficult for debugging purpose. | It is more suitable for debugging. |