基于标记的链接制造技术

技术编号:2865169 阅读:182 留言:0更新日期:2012-04-11 18:40
一个系统将下载的结构中性代码链接到资源受限计算机。该代码可以分离为一个或多个具有一个或多个可标识项的包。该系统将一个或多个可标识项映射为相应的一个或多个标记;相应于运行时间模式对标记排序;将包下载到资源受限计算机;并利用经排序的标记将包链接到一个可执行代码上。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术一般涉及用于资源受限装置如智能卡等的面向对象、结构中性的程序。
技术介绍
虚拟机是一种通过处理器执行的软件应用程序或指令序列产生的抽象计算机。术语“结构中性”指的是例如用JavaTM编程语言写的程序,它们可以在具有各种不同计算机结构的各种计算机平台上通过虚拟机来执行。这样,例如在基于WindowsTM的个人计算机系统上执行的虚拟机将使用与如在基于UNIXTM的计算机系统上执行的虚拟机相同的指令组。虚拟机的指令序列的独立平台编码的结果是一个或多个字节代码流,其中每一个例如是一个字节长的数字代码。已经在包括例如与网络浏览器有关的应用程序的许多应用程序中使用了Java编程语言。Java编程语言是面向对象的。在一个面向对象的系统中,“类”描述了数据的集合和操作该数据的方法。与数据和方法一起的标记描述了对象的状态和性能。Java编程语言也是可检验的,以便在执行以Java编程语言编写的应用程序之前,可以确定是否程序中的指令序列试图处理那些用于字节代码的类型不正确的数据或者是否程序的字节代码指令的执行将引起操作数堆栈的下溢或上溢。JavaTM虚拟机执行Java编程语言写的虚拟机代码并且被设计用于32位的结构。然而,许多资源受限装置如智能卡具有8位或16位的结构。智能卡也称为智能便携式数据携带卡,一般由塑料或金属制成并且具有电子芯片,该芯片中包括用于执行程序的嵌入式微处理器以及用于存储程序和数据的存储器。这种大小可与信用卡相似的装置通常具有有限的存储容量。例如,一些智能卡具有小于1千字节(1K)的随机存取存储器(RAM)以及有限的只读存储器(ROM),和/或非易失性存储器如电擦除可编程只读存储器(EEPROM)。一般地,在智能卡处理器上运行的程序确定了该卡所提供的服务。随着时间流逝,卡上的程序可能需要更新,例如为了增加新的功能或改进现有的功能。为此,该卡应该能够接受可以替代其它程序的新程序。执行字节代码的虚拟机(例如,完全的Java虚拟机)通常要求相当大的存储量以加载字节代码和解析标识(reference)。特别地,在Java虚拟机中,符号标识用于指出诸如类、方法和字段之类的程序元素。通过使用它的符号名来定位该元素可以解析这些程序元素的标识。这种操作要求相当大的随机存取存储器(RAM)。在只有较小RAM的环境中,这可能是不方便的。因为智能卡对于成本是敏感的,它们依靠便宜的、低性能处理器和低容量存储器装置。因为成本和功率的原因使得在这种资源受限的计算机中配置低功率和低容量处理器以及存储器组件,在这种资源受限装置上操作Java虚拟机的能力是困难的但仍然是需要的。
技术实现思路
根据本专利技术的一方面,提供了一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的方法,该方法包括在一资源丰富装置上执行一处理功能;记录所述执行的结果;及使用一或多个标记将所述结果传送给一资源受限装置,所述资源受限装置被构成以使用一或多个标记来替代执行所述处理功能。根据本专利技术的另一方面,提供了一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的设备,该设备包括执行装置,用于在一资源丰富装置上执行一处理功能;记录装置,用于记录所述执行的结果;及传送装置,用于使用一或多个标记将所述结果传送给一资源受限装置,所述资源受限装置被构成以使用一或多个标记来替代执行所述处理功能。根据本专利技术的再一方面,提供了一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的方法,该方法包括接收一或多个标记,该一或多个标记包括在一资源丰富装置上执行一处理功能的结果;及在所述资源受限装置上使用所述一或多个标记来替代执行所述处理功能。根据本专利技术的再另一方面,提供了一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的设备,该设备包括接收装置,用于接收一或多个标记,该一或多个标记包括在一资源丰富装置上执行一处理功能的结果;及使用装置,用于在所述资源受限装置上使用所述一或多个标记来替代执行所述处理功能。根据本专利技术的再另一方面,提供了一种资源受限装置,包括存储装置,用于存储一或多个标记,该一或多个标记包括在一资源丰富装置上执行一处理功能的结果;及处理器,被连接至所述存储器并被构成以接收所述一或多个标记;且在所述资源受限装置上使用所述一或多个标记来替代执行所述处理功能。本专利技术的优点可以包括下面的一个或多个。本专利技术通过唯一的标记标识符使用较小的存储空间以有效地使用资源受限装置上的资源。另外,本专利技术能够链接和判定资源受限装置上输出项的标识。经过元数据文件如输出文件,本专利技术允许将输出元素公开。然而,能够进行的这种公开不能暴露专用的或专有的元素和小应用程序(applet)以及相关库的细节。因此,许多分开的改进的应用程序可以加载到资源受限装置并且相互共享它们的组件而不用考虑专用的保密信息。另外,结构中性的语言如Java的优点是能够在资源受限装置上实现,同时保留它的语义。标记也可以用于内部的或专用的元素。这样,标记可以分配给专用的和包可视实例(instance)字段以及包可视虚拟方法。本专利技术在分配标记上施加较少的限制,并且对于特定的应用程序可以进一步定义或优化该标记种类。这样,本专利技术支持一次写入并且可以在任何地方,甚至在资源限制装置如具有有限存储容量的智能卡上运行的便携的、结构中性代码。附图说明图1示出了将独立于硬件平台的代码转换和加载到智能卡。图2示出与图1所示的智能卡进行通讯的计算机系统。图3是说明内部包相关性的示意图。图4A和4B是说明两个转换器操作的示意图。图5是说明解析静态标识的两个包和包登记的示意图。图6是结合图5的包说明链接处理的流程图。图7A-7I是说明不同的类、字段和方法标识的示意图。图8A-8I是说明用于分配标记和支持表格的处理的流程图。图9A-9C是说明用于判定实例字段和方法的标记的处理流程图。具体实施例方式本专利技术描述了一种采用压缩、保密格式表示用于面向对象程序的链接信息的方法。利用这种方法,能够在资源受限装置上下载、链接和执行所述程序。资源受限装置一般认为是在存储器和/或计算功率或速度上受限制的装置。虽然下面参照智能卡描述了特定的实现,本专利技术也可以用于其它的资源受限装置,包括但不限于蜂窝式电话、边界扫描装置、字段可编程装置、个人数据辅助(PDA)和寻呼机、以及其它小型或微型装置。在某些情况下,资源受限装置可以具有小到1K的RAM或小到16K的ROM。类似地,某些资源受限装置基于为小于32位设计的结构。例如,能够使用本专利技术的某些资源受限装置基于8位或16位结构,而不是32位结构。参照图1,对于资源受限装置如智能卡40的小应用程序的开发以类似于Java程序开发的方式开始。换句话说,开发器编写一个或多个Java类并且采用Java编译器来编译源码以产生一个或多个类文件10。例如在工作站上能够使用模拟工具运行、测试和调试小应用程序以模仿卡40的环境。当准备将小应用程序下载到卡40上时,类文件10被转换器14转换成一个经转换的小应用程序(CAP)文件16。转换器14可以是由台式计算机执行的Java应用程序。除了被转换的类文件10以外,转换器14可以接受一个或多个输出文件12作为其输入。输出文件12包含用于通过转换的类输入的其它包内容的命名或链接信息。一般地,CA本文档来自技高网
...

【技术保护点】
一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的方法,该方法包括:在一资源丰富装置上执行一处理功能;记录所述执行的结果;及使用一或多个标记将所述结果传送给一资源受限装置,所述资源受限装置被构成以使用一 或多个标记来替代执行所述处理功能。

【技术特征摘要】
US 1999-2-2 09/243,1081.一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的方法,该方法包括在一资源丰富装置上执行一处理功能;记录所述执行的结果;及使用一或多个标记将所述结果传送给一资源受限装置,所述资源受限装置被构成以使用一或多个标记来替代执行所述处理功能。2.如权利要求1所述的方法,其中所述处理功能包括标识一或多个静态字段的位置。3.如权利要求2所述的方法,其中所述一或多个静态字段包括一或多个内部静态字段。4.如权利要求2所述的方法,其中所述一或多个静态字段包括一或多个外部静态字段。5.如权利要求1所述的方法,其中所述处理功能包括标识一或多个静态方法的位置。6.如权利要求5所述的方法,其中所述一或多个静态方法包括一或多个内部静态方法。7.如权利要求5所述的方法,其中所述一或多个静态方法包括一或多个外部静态方法。8.如权利要求1所述的方法,其中所述处理功能包括标识一或多个类的位置。9.如权利要求8所述的方法,其中所述一或多个类包括一或多个内部类。10.如权利要求8所述的方法,其中所述一或多个类包括一或多个外部类。11.如权利要求1所述的方法,其中所述处理功能包括标识一类实例内的一或多个实例字段的位置,所述一或多个标记包括一或多个索引。12.如权利要求1所述的方法,其中所述处理功能包括标识一类虚拟方法表中的一或多个虚拟方法的位置,所述一或多个标记包括一或多个索引。13.如权利要求1所述的方法,其中所述处理功能包括标识一类接口方法表内的一或多个接口方法的位置,所述一或多个标记包括一或多个索引。14.如权利要求1所述的方法,其中所述处理功能包括标识可被输出的一或多个静态公共项的位置。15.一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的设备,该设备包括执行装置,用于在一资源丰富装置上执行一处理功能;记录装置,用于记录所述执行的结果;及传送装置,用于使用一或多个标记将所述结果传送给一资源受限装置,所述资源受限装置被构成以使用一或多个标记来替代执行所述处理功能。16.如权利要求15所述的设备,其中所述处理功能包括标识一或多个静态字段的位置。17.如权利要求16所述的设备,其中所述一或多个静态字段包括一或多个内部静态字段。18.如权利要求16所述的设备,其中所述一或多个静态字段包括一或多个外部静态字段。19.如权利要求15所述的设备,其中所述处理功能包括标识一或多个静态方法的位置。20.如权利要求19所述的设备,其中所述一或多个静态方法包括一或多个内部静态方法。21.如权利要求19所述的设备,其中所述一或多个静态方法包括一或多个外部静态方法。22.如权利要求15所述的设备,其中所述处理功能包括标识一或多个类的位置。23.如权利要求22所述的设备,其中所述一或多个类包括一或多个内部类。24.如权利要求22所述的设备,其中所述一或多个类包括一或多个外部类。25.如权利要求15所述的设备,其中所述处理功能包括标识一类实例内的一或多个实例字段的位置,所述一或多个标记包括一或多个索引。26.如权利要求15所述的设备,其中所述处理功能包括标识一类虚拟方法表中的一或多个虚拟方法的位置,所述一或多个标记包括一或多个索引。27.如权利要求15所述的设备,其中所述处理功能包括标识一类接口方法表内的一或多个接口方法的位置,所述一或多个标记包括一或多个索引。28.如权利要求15所述的设备,其中所述处理功能包括标识可被输出的一或多个静态公共项的位置。29.一种用于实现适用于在一资源受限的装置上执行的小的虚拟机的方法,该方法包括接收一或多个标记,该一或多个标记包括在一资源丰富装置上执行一处理功能的结果;及在所述资源受限装置上使用所述一或多个标记来替代执行所述处理功能。30.如权利要求29所述的方法,其中所述处理功能包括标识一或多个静态字段的位置。31.如权利要求30所述的方法,其中所述一或多个静态字段包括一或多个内部静态字段。32.如权利要求30所述的方法,其中所述一或多个静态字段包括一或多个外部静态字段。33.如权利要求29所述的方法,其中所述处理功能包括标识一或多个静态方法的位置。34.如权利要求33所述的方法,其中所述一或多个静态方法包括一或多个内部静态方法。35.如权利要求33所述的方法,其中所述一或多个静态方法包括一或多个外部静态方法。36.如权利要求29所述的方法,其中所述...

【专利技术属性】
技术研发人员:朱迪思E施瓦贝乔舒亚B舒塞尔
申请(专利权)人:太阳微电子公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1