[发明专利]一种智能卡虚拟机及其实现方法在审

专利信息
申请号: 201310512774.8 申请日: 2013-10-25
公开(公告)号: CN103530171A 公开(公告)日: 2014-01-22
发明(设计)人: 甘露;李小帆 申请(专利权)人: 大唐微电子技术有限公司
主分类号: G06F9/455 分类号: G06F9/455
代理公司: 北京安信方达知识产权代理有限公司 11262 代理人: 王丹;栗若木
地址: 100094*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 智能卡 虚拟机 及其 实现 方法
【说明书】:

技术领域

发明涉及智能卡虚拟机技术领域,特别涉及一种智能卡虚拟机及其实现方法。

背景技术

智能卡(Smart Card)业界还没有标准的高级应用接口,应用开发者需要处理很低级的通信协议、存储管理,和其它由专门的智能卡硬件所要求的琐碎问题。当今流行中的大多数智能卡应用都是从头开发的定制应用,这是一个很费时间的过程;通常要把一个产品推向市场得化一两年的时间。要把软件升级或把应用移植到不同的平台上就特别困难,甚至不可能。因为所开发的智能卡应用只能在专用平台上运行,所以来自于不同服务提供者的应用不能在一张卡片上并存和运行。缺乏互操作性和有限的卡片功能妨碍了智能卡应用的更加广泛的推广。

而虚拟机的出现就是解决智能卡这一问题的有效手段,通过虚拟机屏蔽掉底层平台的不同,达到上层应用开发的简化。JavaCard技术是智能卡上虚拟机的典型应用。在智能卡硬件平台上,通过构建一个软件系统,以支持Java语言下载、运行。Java智能卡继承了Java技术的平台无关性,将硬件和软件分离,简化了应用程序开发,提高了程序移植性。

目前,Java虚拟机(简称JVM)主要包括两个子系统和两个组件:即类装载器子系统、执行引擎子系统、本地方法接口组件和运行时数据区域组件,其架构如图1所示。

其中,类装载器子系统,根据给定的全限定名类名(如java.lang.Object)来装载class文件的内容到运行时数据区域的方法区域。

执行引擎子系统是Java虚拟机实现的核心,执行引擎的行为使用指令集定义。在Java虚拟机中一个字节码流就是一个指令的序列。

本地方法接口组件:与本地方法库交互,是其它编程语言交互的接口。本地方法是把Java程序和非Java语言程序和平台相关的功能结合的有效方式。运行时数据区组件:这个组件就是JVM中的内存。下面对这个部分进行详细介绍。

运行时数据区主要包括五个部分:堆(Heap),方法区域(Method Area),Java栈(Stack),程序计数器(Program Counter),本地方法栈(Native method stack)。

堆指:Java程序在运行时创建的所有类实或数组都放在同一个堆中。

方法区域指:在Java虚拟机中,装载的.class信息存储在方法区域内存中。

Java栈指:以帧为单位保存线程的运行状态。虚拟机只会直接对Java栈执行两种操作,即以帧为单位的压栈或出栈。

程序计数器:每个运行中的Java程序,每一个线程都有它自己的PC寄存器。PC寄存器的内容总是指向下一条将被执行指令的地址。

本地方法栈:本地方法栈可以通过本地方法接口组件来访问虚拟机的运行时数据区。

目前Class文件的格式如表1所示。

表1为ClassFile表的格式

Java Class文件中的常量池(Constant_pool)包括了与文件中类和接口相关的常量,其中存储了诸如文字字符串、final变量值、类名和方法名的常量。常量池中的许多入口都指向其他的常量池入口,而且class文件中紧随着常量池的许多条目也会指向常量池中的入口在整个class文件中,指示常量池入口在常量池列表中位置的整数索引都指向这些常量池入口。列表中的第一项索引值为1,第二项索引值为2,以此类推。尽管constant_pool列表中没有索引值为0的入口,但缺失的这一入口也被constant_pool_count计数在内。每个常量池入口都从一个长度为一个字节的标志开始,这个标志指出了列表中该位置的常量类型,一旦Java虚拟机获取并解析这个标志,Java虚拟机就会知道在标志后的常量类型是什么。

以上描述的为Java通用虚拟机,在智能卡领域应用的JavaCard虚拟机和上述描述的虚拟机基本是一致的。JCVM是作为两个分立的部分实现的,它由卡外的JavaCard转换器和卡内的JavaCard解释器构成。

JavaCard转换器处理构成一个java包的全部class文件,并将它们转换为一个CAP文件。转换器执行PC环境下Java虚拟机在装载类时所完成的任务。

JavaCard转换器的输入除了Java包对应的class文件外,可能还包括一个或多个export文件;它的输出是一个CAP文件和正被转换包的一个export文件。Export文件用于验证和链接过程,但不被装载到智能卡上,更不被JavaCard解释器直接使用。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐微电子技术有限公司,未经大唐微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310512774.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top