计算机系统结构
1、模拟
用机器语言程序解释实现软件移植的方法称为模拟(simulation)。
进行模拟的机器为宿主机,被模拟的机器为虚拟机。需要模拟包括虚拟机的机器语言、存储体系、I/O系统、控制台操作等。
模拟程序编制复杂费时,运行时需要由宿主机的机器指令解释,运行速度低,只适用于移植运行时间短,次数少等场合。
2、仿真
用微程序直接解释另一种机器指令系统的方法称为仿真。进行仿真的机器为宿主机,被仿真的机器为目标机。仿真所用的解释程序为仿真微程序。
需要仿真包括虚拟机的机器语言、存储体系、I/O系统、控制台操作等。当两种机器结构差别较大时,很难依靠仿真实现软件移植。
3、区别
仿真和模拟的主要区别在于解释所用的语言:仿真用微程序解释,解释程序在控存中;模拟适用机器语言程序解释,解释程序在主存中。
4、共同点
两者必须将虚拟机或目标机的系统结构和指令系统设计到的结构映射到宿主机上。实际应用时,可利用两种方法并用:易于仿真的机器指令可采用仿真提高速度,不易仿真的指令可采用模拟。
虚拟存储器中的外存作为基本存储器,存放执行中的程序和数据。为每个进程分配一个独立的逻辑空间(虚拟空间),在