首页 > 编程 > .NET > 正文

.NET虚拟对象系统中的虚拟执行系统(VES)

2024-07-10 12:38:00
字体:
来源:转载
供稿:网友

虚拟执行系统实现了虚拟对象系统。通过实现一个负责NGWS runtime的执行引擎(execution engine,缩写EE)创建VES。这个执行引擎执行由C#编写和编译的应用程序。

下列组件为VES的一部分。

1、中间语言(IL)——被设计为很容易被各种各样的编译器所兼容 。在该框架之外,C++、VB和C#编译器都能够生成IL。

2、装入受管代码——包括解决内存中的名字、 表层类,并且创建JIT编译所必需的存根。通过执行经常性校验,包括加强一些访问规则,类装载器同样也增强了安全性。

3、用JIT转换IL成原始代码——IL代码并不是设计成为一种传统的解释字节代码或树型代码,IL转换是真正的编译。

4、装入元数据、校验类型安全和方法的完整性

5、垃圾收集(GC)和异常处理——两者都是基于堆栈格式的服务。受管代码允许你动态地跟踪堆栈。要动态地识别各个堆栈框架,JITter或其它编译器必须提供一个代码管理器。

6、描绘和查错服务——两者都取决于由源语言编译器所生成的信息。必须发出两个映射:一个映射从源语言结构发到指令流中的地址,一个映射从地址发到堆栈框架中的位置。当执行从IL到原始代码的转换时,这些映射被重新计算。

7、管理线程和上下文,还有远程管理——VES为受管代码提供这些服务。

虽然这个清单并不完整,但它足以让你理解运行时基于的由VES提供的低层架构。肯定将会有专门讨论运行时的书,而这本书只稍为深入地挖掘各种话题。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表