Car*_*rez 313
(以第一个链接为例)
您想要复制旧HP计算器的行为,有两种选择:
你编写的新程序可以绘制计算器的显示和按键,当用户点击按键时,你的程序会执行旧计算器的功能.这是一个模拟器
您获得了计算器固件的转储,然后编写一个加载固件的程序,并以与计算器中的微处理器相同的方式对其进行解释.这是一个模拟器
该模拟器试图复制行为的设备.
所述仿真器试图复制内部工作的设备.
Cox*_*oxy 14
这是一个难以回答的难题,因为这些术语经常被滥用或混淆.
通常,仿真器是特定设备或平台的完全重新实现.模拟器的行为与真实设备完全相同.例如,NES仿真器实现CPU,声音芯片,视频输出,控制器信号等.可以转储来自NES castridge的未修改代码,然后将得到的图像加载到我们的仿真器中并播放.
模拟器是设备/平台的部分实现,它只是为了自己的目的.例如,iPhone模拟器运行一个"iPhone应用程序",该应用程序专门针对x86和Cocoa API进行编译,而不是真实设备的ARM CPU和Cocoa Touch API.但是,我们在模拟器中运行的二进制文件无法在真实设备上运行.
两者都是一个对象的模型,你有一些控制输入和观察输出的方法.使用模拟器,您希望输出完全符合您要模拟的对象所产生的内容.使用模拟器,您希望输出的某些属性与对象生成的属性类似.
让我举一个例子 - 假设你想做一些系统测试,看看如何向系统添加新的传感器(如温度计)会影响系统.你知道温度计每秒发送一次包含其测量值的信息8次.
模拟 - 如果您还没有温度计,但是您想测试此消息速率不会使系统过载,您可以通过附加一个每秒发送8次随机数的单元来模拟传感器.您可以运行任何不依赖于传感器发送的实际值的测试.
仿真 - 假设你有一个非常昂贵的温度计,测量到0.001摄氏度,你想看看你是否可以使用更便宜的温度计,只测量到最接近的0.5摄氏度.你可以使用昂贵的温度计模拟更便宜的温度计将读数四舍五入到最接近的0.5 C并运行依赖于温度值的测试.
| 归档时间: | 
 | 
| 查看次数: | 109253 次 | 
| 最近记录: |