一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。
软件体系结构定义了用于描述系统的术语表和一组指导构建系统的规则。
虚拟机
虚拟机是一种软件;
它创建了一种虚拟环境;
将用户和底层平台隔离开来。
解释器
解释器是一个用来执行其他程序的程序。
解释器针对不同的硬件平台实现了一个虚拟机,将高抽象层次的程序翻译为低抽象层次所能理解的指令,以消除在程序语言与硬件之间存在的语义差异。解释器通常用来在程序语言定义的计算和有效硬件操作确定的计算之间建立对应和联系。
解释器风格---虚拟机模型
基本构件
—解释器引擎
—存储区
被解释的源代码
解释器引擎当前的内部控制状态的表示:在某个时刻需要执行哪些指令
程序当前执行状态的表示
连接器:
—对存储区的数据访问
解释器与编译器
程序语言环境分为编译和解释两大类。
编译器:编译器不会执行输入的源程序代码,而是将其翻译为另一种语言,通常是可执行的机器码或目标码,并输出到文件中以便随后链接为可执行文件并加以执行
解释器:在解释器中,程序源代码被解释器直接加以执行。
解释器的执行速度要慢于编译器产生的目标代码的执行速度,解析器执行速度之所以慢,是因为每次解释执行的时候,都需要分析程序的结构,而编译代码则直接执行而无需重复编译。