论文部分内容阅读
动态二进制翻译技术采用运行时翻译的方法来动态生成可执行代码。一般动态二进制翻译器都包括翻译模块,执行模块。翻译模块将源平台的二进制代码直接翻译到目标平台可执行代码,对于翻译复杂的源平台的二进制代码,如Intel IA32平台的二进制代码,其对应的翻译模块必定是复杂而庞大的,在进行指令翻译过程中,翻译模块会消耗比较多的计算资源以及内存资源,对于一个动态二进制翻译器是一个不小的负担。执行模块主要功能是执行经过翻译模块翻译后的目标平台可执行代码。本论文基于自主研发的多源多目标的动态二进制翻译系统Crossbit,研究一种基于C/S架构的分布式动态二进制翻译框架的构建。目前已经开发出一些商用的动态二进制翻译器,如Intel的IA32EL、Hp的Dynamo等,但所有这些动态二进制翻译器都并非针对于一个受限系统(如手机,ARM平台等计算能力、内存容量都相对比较弱的系统)。对于瘦客户端等受限系统来说,直接移植传统动态二进制翻译器会带来非常大的开销,并且效果也会非常低效。原因就是受限系统的运算能力,内存都相对较弱,而翻译器中的复杂模块,如翻译模块等在受限系统中的运行,将消耗巨大的系统资源,带来额外开销,使本来资源就有限的受限系统更难承受。在该框架的设计中,特别针对资源受限的系统的应用,将受限系统作为客户端,利用性能强劲的翻译服务器提供的代码翻译服务实现代码翻译过程,客户端只用负责执行由翻译服务器返回的翻译后代码。