论文部分内容阅读
随着智能卡与人们生活的日益相关,智能卡技术的研究开始受到关注。然而由于传统的智能卡技术使不同厂商之间的卡互不兼容,这已成为阻碍智能卡顺利发展的一个重点问题。动态多应用智能卡是智能卡发展的趋势,国际上普遍采用的两种动态多应用智能卡平台分别是基于JAVA卡技术和MULTOS标准的,动态多应用智能卡以其良好的平台无关性、多应用性和应用开发简易性,在诸多领域有着广阔的应用前景。
作为MULTOS卡主要组成部分的MULTOS卡虚拟机技术,担负着将下载到卡内的应用程序解释执行的作用,是实现MULTOS卡平台无关性的基础,其运行效率、稳定性和安全性直接影响MULTOS卡的整体性能。因此,本论文从MULTOS卡的概念和有关规范出发,对于MULTOS卡虚拟机的存储管理技术、解释器技术、防火墙技术进行了深入、系统的分析和研究,提出了卡内虚拟机的结构设计及指令集的实现。
本文根据MULTOS卡虚拟机的体系结构,首先设计并实现了虚拟机的内存结构,包括虚拟机内存数据结构的设计、内存地址的转换和内存的管理。其次,设计并实现了虚拟机解释器,虚拟机执行指令的流程,完成了全部31条指令和54个原语的解释执行。同时,为提高MULTOS智能卡虚拟机的安全性,本文设计并实现了防火墙机制。
对于MULTOS卡的开发工具编译器、汇编器、连接器的开发,本文首先在分析编译原理的基础上,研究并实现了编译器前端的自动构造技术,能大大提高编译器的开发效率。重点讨论了如何合理设置接口,综合运用词法、语法分析器的自动构造工具LEX和YACC。其次,汇编器实现的重点是解决源文件中可能有的后向标号引用的地址确定问题,地址回填技术是汇编器实现的关键。最后,本文在分析连接器的工作原理的基础上,根据虚拟机的体系结构,用简单的方法实现了把不同的目标文件中的代码收集到一个可直接执行的文件中。