• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 14
    • 下载费用:30 金币  

    重庆时时彩客户端下载: 以类别档案嵌入原生代码方式应用平台相依例行程序于虚拟机.pdf

    关 键 词:
    类别 档案 嵌入 原生 代码 方式 应用 平台 相依 例行 程序 虚拟机
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201080013818.7

    申请日:

    2010.01.27

    公开号:

    CN102388363A

    公开日:

    2012.03.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 9/445申请日:20100127|||公开
    IPC分类号: G06F9/445 主分类号: G06F9/445
    申请人: 先进微装置公司
    发明人: G·弗罗斯特
    地址: 美国加利福尼亚州
    优先权: 2009.01.30 DE 102009006882.1; 2010.01.26 US 12/693,810
    专利代理机构: 北京戈程知识产权代理有限公司 11314 代理人: 程伟;王锦阳
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201080013818.7

    授权公告号:

    ||||||

    法律状态公告日:

    2015.09.09|||2012.05.02|||2012.03.21

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    用以下方式可大幅简化在虚拟机环境中的原生方法的部署:加入对应原生代码段于应用档案,例如,JAVA类别档案,以及使用嵌入原生代码段于对应类别档案的库绑定操作。

    权利要求书

    1.一种电子器件,其系包含:
    一硬件系统,其系包含一中央处理单元(CPU)、一存储器件、以及
    连接该中央处理单元与该存储器件的一总线系统;
    实作于该硬件系统的一虚拟机指令集,该虚拟机指令集经组态成
    可提供一虚拟机用以把应用特定指令解译成虚拟机特定字节代码以及
    执行该虚拟机特定字节代码;以及
    一应用档案,其系包含将被解译成该虚拟机特定字节代码的一应
    用特定指令集,以及包含对于一原生方法的一请求,该应用档案更包
    含在该虚拟机执行该应用档案时用来服务该请求的一嵌入原生代码
    段。
    2.如权利要求1所述的电子器件,其中该虚拟机被进一步组态成
    在解译该等特定应用指令时可存储该嵌入原生代码段于该存储器件。
    3.如权利要求1所述的电子器件,其中该应用档案包含多个平台
    无关数据及指令区段,以及至少一专属区段包含该嵌入原生代码段。
    4.如权利要求3所述的电子器件,其中该虚拟机被进一步组态成
    在不被该等多个平台无关数据及指令区段中之一或更多参考时忽略该
    专属区段。
    5.如权利要求4所述的电子器件,其中该虚拟机包含一档案载入
    器,该档案载入器经组态成可提供对应至该应用档案之该等特定应用
    指令的一该虚拟机特定字节代码。
    6.如权利要求5所述的电子器件,其中该档案载入器被进一步组
    态成在该等多个平台无关数据及指令区段中可识别对于一原生方法的
    一参考以及寻找为了服务在该应用档案之该至少一专属区段中之该原
    生方法而需要的一库。
    7.如权利要求6所述的电子器件,其中该档案载入器被进一步组
    态成在符合该硬件系统时可存储该库以及使用该经存储之库用以服务
    该原生方法。
    8.如权利要求7所述的电子器件,其中该档案载入器被进一步组
    态成在该至少一专属区段中之该原生代码段不包含该库时可在该存储
    器件中寻找另一库。
    9.如权利要求7所述的电子器件,其中该档案载入器被进一步组
    态成可参考该库用以服务内含于第二应用档案的第二原生方法。
    10.如权利要求9所述的电子器件,其中该应用档案及该第二应用
    档案为在一共享档案类别中的对象。
    11.如权利要求1所述的电子器件,其中该虚拟机为Java虚拟机。
    12.一种执行虚拟机中之指令的方法,该虚拟机实作于至少包含一
    中央处理单元的一硬件系统,该方法包含下列步骤:
    提供一应用档案,其系包含可解译成通过该虚拟机可执行之虚拟
    机特定字节代码的平台无关指令,该应用档案更包含经组态成使得该
    硬件系统可执行原生方法的嵌入原生代码;
    在该等平台无关指令中寻找对于一原生方法的一请求;以及
    在该嵌入原生代码包括该原生方法对于该硬件系统之实作时,基
    于该嵌入原生代码来服务该请求。
    13.如权利要求12所述的方法,其更包含下列步骤:在该嵌入原
    生代码缺乏该原生方法之该实作时,通过寻找一外部原生代码库来服
    务该请求。
    14.如权利要求12所述的方法,其中服务该请求的步骤包含下列
    步骤:至少存储该嵌入原生代码中对应至该原生方法的一部份于该硬
    件系统的一存储器件中,以及使用该嵌入原生代码中经存储之该部份
    作为一外部原生代码库供执行该应用档案的任何其它库绑定操作用。
    15.如权利要求12所述的方法,其中提供该应用档案的步骤包含
    下列步骤:加入该等平台无关指令于多个标准档案区段,加入该原生
    代码于至少一附加档案区段,以及标示该至少一附加档案区段在解译
    该等平台无关指令时可忽略。
    16.如权利要求15所述的方法,其更包含下列步骤:载入该应用
    档案于该虚拟机中,验证该应用档案以及预备该应用档案以便通过该
    虚拟机执行,其中在该验证期间忽略该至少一附加区段。
    17.如权利要求12所述的方法,其中该应用档案为一档案类别之
    第一版本,以及其中该方法更包含下列步骤:载入该档案类别之第二
    版本,其中该第二版本包含对于与该原生方法不同之第二原生方法的
    第二请求。
    18.如权利要求12所述的方法,其中该应用档案为Java类别档案。
    19.一种包含基于计算机可读取信息之应用档案的存储媒体,该应
    用档案包含:
    可解译成字节代码的一平台无关指令集,该字节代码通过安装于
    包含一CPU之一硬件系统上的一虚拟机可执行,该平台无关指令集包
    含将会基于一特定硬件系统指令集来执行之一原生方法的一请求;以

    含有该原生方法之至少一实作的一原生代码库。
    20.如权利要求19所述的存储媒体,其中该应用档案为Java类别
    档案。
    21.如权利要求20所述的存储媒体,其中该原生代码库包含于被
    标记成在验证该类别档案时可忽略的一附加区段内。
    22.如权利要求19所述的存储媒体,其中该存储媒体为在一远程
    计算机系统中可连接至该硬件系统的一部份。
    23.一种包含计算机可读取信息之数据文件的存储媒体,该数据文
    件包含:
    可解译成字节代码的一平台无关指令集,该字节代码通过安装于
    包含一CPU之一硬件系统上的一虚拟机可执行,该平台无关指令集造
    成该虚拟机完成以下动作:
    找到该虚拟机所请求的一应用档案;
    载入该应用档案于该虚拟机;
    寻找一原生方法的一请求,该原生方法系内含于加在该应用档案
    中的一平台无关指令集;以及
    在找到该原生方法之该请求时,在该应用档案中寻找一嵌入原生
    代码库。
    24.如权利要求23所述的存储媒体,其中该平台无关指令造成该
    虚拟机可进一步执行:至少使用该嵌入原生代码库之一部份于该经载
    入之应用档案所需的其它库绑定操作。
    25.如权利要求23所述的存储媒体,其中该数据文件为Java类别
    档案。

    说明书

    以类别档案嵌入原生代码方式应用平台相依例行程序于虚拟机

    技术领域

    本揭示内容大体有关用以基于平台无关软件来操作至少包含中央处理单元之电子器件的技术,其中该平台系通过仿真标准硬件环境的虚拟机提供。?

    背景技术

    导体制造领域的持续进步导致可制造快速强大的集成电路,它可包含数百万个个别晶体管组件。结果,可开发出高度复杂的数字电路用于设计及生产精密的中央处理单元(CPU),其中提高堆栈密度(packing?density)及减少耗电量与高内部存储容量已促进整合精密CPU于各式各样之电子器件的多种开发。结果,不只计算机系统的操作速度及耗电量有优异的效能,形式为手持计算机、行动电话及其类似者的其它各种电子器件(例如,行动器件)也可提供卓越的计算资源。结果,在计算机系统及其它电子器件大幅增长下,对于精密应用系统已建立及持续存在对应的需求。?

    通常,CPU的操作可基于专属字节代码或机器代码,这可能造成硬件组件(例如,缓存器、I/O(输入/输出)端子及其类似者)的状态随着机器代码指令的顺序而对应地改变。因此,在使用者应用系统与包含CPU之硬件系统间的最深层通信处,字节代码指令的对应顺序必须通过CPU执行,从而以缓存器内容及其类似者的形式提供所欲结果。?

    不过,开发对应顺序多少有点复杂的机器代码指令可能非常耗时以及可能也需要以下特殊技能:将要用给定应用系统来解决的对应问题或目标“翻译”成一序列的机器代码指令。此外,可满足给定应用系统之要求的开发机器代码程序强烈取决于所用硬件系统的组态,亦即特定的CPU与其它组件,例如外部工作存储器、总线组态及其类似者,使得提供给特定硬件组态的机器代码程序可能无法正常地使用于不同的硬件系统?;谡庑┰?,已开发出数种编程语言以利程序开?发人员与对应应用系统必须在其中执行的硬件系统通信。例如,引进汇编语言为重大的进步,相较于基本机器字节代码,藉此可提供及设置较高阶的抽象。在提高抽象阶层的其它企图中,已开发出较高阶的编程语言以便提供适当的平台用以产生对应至特定应用系统的源代码而可翻译成计算机系统之微处理器可了解及执行的对应机器字节代码。在该等高阶编程语言中,某些关键词必须根据特定语言的“文法”来使用,从而允许定义一序列的程序步骤以便得到要求的结果。?

    根据所谓面向对象程序设计的一高阶编程语言开发方法已变成常用的技术,它是企图更方便地把日常生活情况映像成计算机程序。亦即,根据面向对象法,可定义特定的对象或类别以便有可以预定义方式响应某些事件的基本特征。以此方式,可制成极其复杂的应用系统,其中各别的对象可用极便利的方式重复使用于不同的应用系统,从而避免重复开发相同的软件。?

    尽管高阶编程语言可提供便利的平台供开发多种应用系统,市售各种硬件平台,亦即不同的微处理器类型,计算机系统架构及其类似者,应用系统还是需要具体适配目标架构。由于有此情形,已开发考虑到提供开发平台无关应用系统之可能性的语言,其中软件开发人员可聚焦于应用系统本身而不必考虑对应计算机系统的特定硬件特性。事实上,现今各种市售基于计算机的电子器件(其系提供允许部署多种应用系统的计算资源)可进一步驱动平台无关应用系统的需求。由于诸如行动电话、手持计算机之类的电子器件彼此的硬件组态可能明显不同,因此,平台无关应用系统允许开发最终可用于任何一种电子器件的应用系统,而与特定的硬件架构无关。?

    此外,数量稳定地增长的计算机系统基于无线及基于电缆的网络信道可连接至任何适当网络,例如互联网,藉此经由网络可将应用系统传送至使用者,其中事前可能不知道特定目标系统的硬件组态。?

    提供平台无关应用系统的概念实际上系基于引进可操作通过平台无关应用系统提供之特定虚拟字节代码的“虚拟”计算机系统或虚拟机。因此,虚拟机实际仿真硬件组态从而用作平台无关应用系统与特定硬件组态的接口。因此,多种虚拟机可用来提供以标准形式执行的“平台无关”应用系统同时与结合相关操作系统的专属硬件组态建立?接口。结果,当安装适当的虚拟机于计算机系统或或任何其它电子器件时,可开发应用系统以及通过与硬件组态无关的虚拟机执行。例如,升阳计算机的编程语言JAVA为面向对象语言,其中可有效地编程应用系统而不需要适配特定计算机平台的不同操作系统。如果使用者启动JAVA程序,JAVA虚拟机会自动启动以及载入对应的类别档案然后予以解译以产生虚拟机的“机器代码”。如果受考虑应用系统需要其它的类别,在运行时期可按照要求载入该等类别以及也可根据需要加以解译。例如,许多类别可用于虚拟机以及可实作成对应的库。因此,在虚拟机的操作期间,实际CPU执行响应虚拟机的机器代码从而需要内存用以存储处理器的状态,例如以IRQ(中断请求)地址及其类似者的形式。因而,处理器、机器代码及状态内存可定义虚拟机。另一方面,虚拟机执行对应至编译程序的应用系统,从而也需要可存入虚拟机之任何特定信息的专属状态内存。例如,可存储同时出现在虚拟机中由类别之每个版本组成的表格。从而,虚拟机、载入于其中的程序以及各个虚拟特定状态内存可实现实际的应用系统。例如,JAVA虚拟机的规格指定任何输入(亦即,类别档案)的格式,以及它也可指定如何解译该等类别档案。不过,如先前所述,它没有明确规定如何实作解译。结果,可提供一种独立操作平台系统,使得它与JAVA应用系统相关,而与执行它的LINUX系统、Windows系统、或任何其它类型的操作系统无关,只要该等平台中之任一装有专属虚拟机。?

    JAVA应用系统中的想要平台无关功能用以下方式实现。JAVA虚拟机或类别档案的输入可包含与所欲应用系统有关的任何信息。该等类别档案的特定结构系通过含有必要信息(例如,常量池入口(constant?pool?entry)、方法及栏描述、代码及除错信息及其类似者)的多个区段来实现。结果,在载入及解译对应类别档案后,内含于该等标准区段的信息可用来验证及预备类别档案供虚拟机执行。?

    基本上,可理解类别为有属性及方法之多个相似对象的呈现。属性可视为有特定类型的常数或变量??衫斫夥椒ㄎ昂?,因而可表示以字节代码表呈现的一序列制程步骤,亦即必须执行它们以便定义指定程序顺序的虚拟机机器指令。虚拟机的字节代码可与组合指令有类似的抽象水平,如先前所解释的。因此,每个方法可能需要存储?结合与最大必要内存空间等等有关之附加信息的对应本地变量。此外,由于语言的面向对象本质,类别可继承其它类别的方法及属性,这也必须存储于受考虑类别的标准区段。此外,标准区段内必须提供安全信息与异常处理及除错的信息。此外,虚拟机包含类别载入器(class?loader),其系负责把存储于外部类别档案的类别信息“转换”成信道运行时结构(channel?run?time?structure)。为此目的,类别载入器可验证受考虑类别的一致性,例如基于验证档案中经由程序及其类似者可存取的每个部份。当验证完成而没有任何错误时,类别载入器载入信息于虚拟机以及启动虚拟机的字节代码执行器。该虚拟机执行器系负责执行基于字节代码的方法,如上述。如果遭遇用于产生各个类别之版本的指令,字节代码执行单元检测此类别是否已载入。结果,在运行时期请求即可载入对应类别档案于虚拟机,在此用任何适当来源,例如,受考虑本地存储器件平台、远程计算机及其类似者,可提供对应类别档案。?

    尽管虚拟机中与任何特定操作系统及硬件组态无关的特征对于多个应用系统是高度有利的,然而有利的是,可加入特定平台“方法”以便利用平台的特定特性,从而增强各个应用系统的效能,减少特定应用系统的开发时间及其类似者。就此情形而言,该类别档案可包含“原生方法(native?method)”的参考,它应被理解为适合基于平台内部资源以高效率执行某一序列程序步骤的特定平台指令集。对应原生方法通??梢允实钡目庑问教峁?,例如用于操作系统windows的动态连结库(DLL)或所谓的共享库,例如用于操作系统LINUX者。在参考原生方法的对应请求后,服务该请求所需的对应库可能已由使用者适当地“予以包装”使得在应用系统的运行时间时需要的库都在应用库路径中以便避免在被请求库得不到时产生对应的运行时错误(run?time?error)。此外,常常冲突发生在不同版本的类别需要不同版本的原生代码(其系表示须由不同原生代码库提供的对应原生方法)时。就此情形而言,常常各个版本的类别可经由相同的库路径来解决它对于原生方法的请求,因而这也可能导致对应的运行时错误。结果,需要加入原生方法之JAVA应用系统的部署可能冗长又容易出错,从而使得此方法(亦即,利用平台内部资源)缺乏吸引力。?

    鉴于上述情形,本揭示内容系有关于数种系统及方法,在平台无关应用系统中,其系可有效地使用原生方法,同时避免或至少减少上述问题中之一或更多的影响。?

    发明内容

    本揭示内容大体有关于数种技术及系统,其中原生代码可有效地用于须通过虚拟机执行的应用档案。为此目的,可应用可将原生代码嵌入应用档案(例如,JAVA类别档案)的机构,当应用档案中可找到原生方法的请求时,该应用档案可用作库。为此目的,在揭示于本文的一些示范具体实施例中,嵌入原生代码可适当地“隐藏”在类别档案内以便在执行应用档案的虚拟机特定字节代码时被虚拟机忽略。另一方面,在预备通过虚拟机执行的应用档案时,“隐藏”嵌入原生代码(可能结合用于管理嵌入原生代码及其类似者的附加信息)可用作用以显露对于在实际特定虚拟机指令中找到之原生方法之任何请求的基础。例如,嵌入原生代码拷贝至虚拟机可利用的存储器件以及可用于任何其它库找寻操作(library?finding?operation)或受考虑应用档案。结果,要各自戮力增加原生方法对于虚拟机档案路径(例如,JAVA虚拟机的类别路径)的相依性,以及增补应用系统的库路径以确保地址原生代码库也可用于虚拟机。另外,可避免其它办法,例如拷贝受考虑原生代码库至被视为当下已知为路径的某个目录,藉此也可避免沿着库路径在此有限命名空间中发生库冲突的风险。结果,可提供使用者友善机构,其中通过在类别档案内加入原生代码段或库(可能结合附加信息)以及考虑到识别原生方法之参考以及用嵌入原生代码来解析对应请求的可能性可重新建立平台独立的程度,在一定程度上这可能受限于必须特别顾及原生代码库的可获得性。?

    在揭示于本文的一示范电子器件包含含有中央处理单元(CPU)、存储器件以及连接该中央处理单元及该存储器件之总线系统的硬件系统。此外,提供实作于该硬件系统的虚拟机指令集,其系经组态成可提供虚拟机用以把特定应用指令解译成虚拟机特定字节代码以及执行该虚拟机特定字节代码。此外,该电子器件包含含有可解译成虚拟机特定字节代码之应用特定指令集的应用档案,其中该应用特定指令集?包含原生方法的请求。此外,该应用档案更包含嵌入原生代码段用来在该虚拟机中执行该应用档案时服务该请求。?

    揭示于本文的一示范方法系有关于:在一虚拟机中执行指令,该虚拟机系实作于包含至少一中央处理单元的一硬件系统。该方法包含提供包含平台无关指令的一应用档案,该等平台无关指令可解译成可通过该虚拟机执行的虚拟机特定字节代码,其中该应用档案更包含经组态成原生方法在该硬件系统中可执行的嵌入原生代码。此外,该方法包含在该等平台无关指令中寻找一原生方法的请求以及在该嵌入原生代码包含用于该硬件系统之原生方法的实作时显露基于该嵌入原生代码的请求。?

    揭示于本文的一示范存储媒体包含基于计算机可读取信息的一应用档案。该应用档案包含可解译成字节代码的一平台无关指令集,该字节代码可通过安装于包含一CPU之一硬件系统上的一虚拟机执行,其中该平台无关指令集包含将会基于特定硬件系统指令集来执行之一原生方法的一请求。此外,该该存储媒体之该应用档案包含含有至该原生方法之少一实作的一原生代码库。?

    揭示于本文的另一示范存储媒体包含基于计算机可读取信息的数据文件。该数据文件包含可解译成字节代码的平台无关指令集,该字节代码可通过安装于包含CPU之硬件系统上的虚拟机执行,其中该平台无关指令集造成该虚拟机可完成以下动作:找到该虚拟机所请求的一应用档案,载入该应用档案于该虚拟机,以及寻找一原生方法的一请求,该原生方法系内含于加在该应用档案中的一平台无关指令集,以及在找到该原生方法之该请求时,在该应用档案中寻找一嵌入原生代码库。?

    附图说明

    本揭示内容的其它具体实施例均定义于随附申请专利范围以及阅读以下参考附图的详细说明可更加明白该等具体实施例。?

    第1a图根据示范具体实施例示意图示可为装有虚拟机之电子器件、计算机系统及其类似者的硬件组态,其系包含机构用以根据嵌入应用档案的原生代码来处理原生方法之请求;?

    第1b图根据示范具体实施例示意图示含有嵌入原生代码段的档案结构实施例;?

    第1c图示意图示虚拟机中之一部份经组态成可处理嵌入原生代码段,例如在JAVA环境中形式为修改类别载入器;以及?

    第1d图根据其它示范具体实施例示意图示经实作成在虚拟机中用以例如基于第1c图之修改类别载入器来处理原生方法之请求的机构。?

    具体实施方式

    尽管用如以下详细说明及附图所图解说明的具体实施例来描述本揭示内容,然而应了解,以下详细说明及附图并非旨限制本揭示内容为所揭示的特定示范具体实施例,而是所描述的具体实施例只是用来举例说明揭示于本文之专利标的的各种方面,其范畴系由随附的申请专利范围定义。?

    一般而言,本揭示内容针对的问题是对于要在平台无关虚拟机中执行的原生方法,通过嵌入原生代码或库于应用档案内来处理其请求,虚拟机在运行时期可能无法“看到”该原生代码或库,亦即在解译该应用档案后,在预备应用档案供虚拟机执行期间可使用。为此目的,例如在验证应用档案之一致性及其它特征时,对于原生方法的任何参考,可寻找应用档案的平台无关指令,以及如果找到对应参考,则在受考虑应用档案的实际运行时间之前,寻找虚拟机可读取的嵌入原生代码。该嵌入原生代码可与适当的附加“内务处理”信息关连以便使原生方法的请求能有适当的回应。例如,对于被请求原生方法的适当实作,可寻找嵌入代码及/或附加信息,以及如果找到适当实作,可拷贝至适当的存储地点以便虚拟机在应用档案的运行时期可存取。因而,可使用原生代码段的对应副本于任何其它的库绑定操作(library?bind?operation),从而避免使用者启动特定平台操作以确保在应用档案的运行时期可利用原生代码库。以此方式,特定平台特征可加入平台无关应用系统从而扩充平台无关应用系统的资源及效能而不需要受考虑硬件系统的特定知识。因此,通过简化原生方法的并入,可扩充平台无关的特征至某一程度。应了解,描述于本文的系统及机构与JAVA虚拟机结合是高度有利的,因为在此可利用有效的工具来实作机构,例?如,因为JAVA虚拟机的类别档案结构允许加入附加区段,基于安全、一致性及其类似者,虚拟机在运行时间可忽略它,只要标准的类别区段符合要求。另外,JAVA可轻易修改虚拟机中负责“预备”类别档案或通过虚拟机执行的一部份以便能够存取设于类别档案中的附加信息,然后在受考虑类别档案的运行时期,可适当地用来提供原生代码或库。不过,通过适当地组态各个应用档案以便包括必要的原生代码段以及处理该等原生代码段以便确保受考虑类别档案的运行时期可存取,描述于本文的机构也可应用于其它的虚拟机实作。结果,本揭示内容应不被视为受限于虚拟机的任何特定实作,除非随附申请专利范围及/或本专利说明书所述之具体实施例另有明示此类限制。?

    此时参考第1a图至第1d图,更详细地描述其它的示范具体实施例。?

    第1a图示意图标电子器件150,它可为任何类型的计算机系统,例如形式为手持PDA(个人数字助理)、膝上及其类似者的行动计算机,静止计算机系统及其类似者。在其它的情形下,电子器件150可为任何器件,例如行动电话、包含传感器组件及其类似者的电子电路,它可包含用以建立虚拟机的适当计算资源。电子器件150可包含平台100,它应被理解为可提供实作虚拟机所需资源的硬件组态,其中该硬件组态的操作可结合通??捎糜诩扑慊低车淖ㄊ舨僮飨低?。因此,平台106可包含至少中央处理单元101,例如任何类型的微处理器、微处理器及其类似者,其中电子电路可提供必要的硬件组件,例如CPU核心、缓冲内存、内部讯号总线、供给电压源及其类似者。应了解,CPU?101不一定为单一芯片组件,而可包含多个个别半导体芯片以便得到想要的功能,这取决于平台100的整体复杂度。同样,可提供有任何适当组态的存储器件102,例如存储器件102可包含非挥发性存储器,例如硬盘、闪速存储器及其类似者及/或形式为RAM(随机存取内存)器件及其类似者的挥发性存储器件。此外,CPU?101与存储器件102可用总线系统103连接使得CPU?101与存储器件102能够交换数据。应了解,根据平台100的组态,可提供任何其它组件,例如电压源、I/O组件及其类似者,该等组件未图标于其中。此外,在图示具体实施例中,平台100可包含操作系统(OS)104,可理解它为在器件150操作?期间执行于CPU?101的适当指令集,从而提供特定平台应用系统与CPU101的接口。亦即,操作系统104可协调一或更多特定平台应用系统的处理以及也可提供多个有定义的应用系统,它们可称为库104a以及可用于对应特定平台应用系统以便增强整体效能。应了解,直接提供给操作系统104的应用系统在此可被称作特定平台应用系统,因为此类应用系统的开发必须至少考虑到操作系统104的特定特征,同时在许多情形下,也必须考虑到CPU?101、存储器件102及/或总线系统103的特定硬件特征。?

    此外,电子器件150可包含虚拟机,可理解它为平台100的平台相依应用系统,亦即虚拟机110可为多个特定平台指令,在通过平台100执行时,可模拟对于通过虚拟机110执行的应用系统有明确标准特性的平台。因此,如先前所述,对于平台100,虚拟机110可为特定平台应用系统,接着特定平台应用系统为专属于虚拟机110之任何应用系统的标准作业环境。以此意义而言,不论平台100的组态为何,用于虚拟机110的应用系统可被称作平台无关应用系统。在图示具体实施例中,该虚拟机可包含字节代码执行单元111与载入单元112,在虚拟机为JAVA虚拟机(JVM)时,它以类别载入器表示。此外,在图示于第1a图的状态下,电子器件150可包含应用档案的一或更多来源,例如数据库113,它们可与代表虚拟机110的应用系统、通过远程计算机系统或任何其它档案供应者例如任何适当网络(以114表示,例如,互联网)来提供的应用系统、可本地存储于平台100的特定应用档案115及其类似者关连。档案来源113、114及115中之至少一可包含应用档案120,它可保持原生代码的请求以便利用特定平台库,例如库104a。因而,在习知虚拟机中,对应应用档案可促进某一程度的平台相依,因为各个方法需要保证对应原生代码资源在应用档案的运行时期在虚拟机110可利用。根据本文所揭示的原理,在虚拟机为JAVA环境时,应用档案120(也可被称为类别档案)可包含原生代码125,除了可通过字节代码执行单元111处理的平台无关指令以外。原生代码或库125可为适合执行原生方法的指令集,基于适当的接口系统(未图标),它们可通过平台100直接处理,从而提供增强效能的应用系统或其中对应至档案120的一部份。为此目的,可嵌入原生代码125使得单元111?的操作不被原生代码125的存在影响,藉此可处理对应平台无关指令121而无干扰。另一方面,在用单元112“预备”应用档案120时可有效使用原生代码125以便在应用档案120的实际运行时期能够存取原生代码或其副本。?

    在电子器件150的操作期间,可请求执行含有应用档案120的应用系统来启动激活目前未运作的虚拟机110。单元112,例如JAVA类别载入器,基本上可服务通过单元111发出应用档案(例如,类别档案)的请求。服务应用档案的对应请求可包含下列步骤:寻找对应应用档案,例如可寻找不同的来源113、114及115,以及可包含验证类别档案的特定特征,例如符合特定语言格式要求、安全方面及其类似者。此外,可解析该应用档案,亦即可完全预备该档案供执行。此外,单元112的活动可包含操作,例如将包含于数据121的平台无关指令集转换成单元111所使用的运行时间格式。另外,单元112在平台无关指令中可找到原生方法的请求,以及在找到时,在原生代码段125内寻找原生方法的适当实作。如果在段125中认出适当实作,通过保证可存取该适当实作,例如通过把至少一部份的段125拷贝至专属内存空间以及利用用于应用档案120可能需要的其它库连结操作的对应内存空间,可继续应用档案120的预备。?

    第1b图根据一示范具体实施例示意图示应用档案120的示意图。如图示,应用档案120可为用于JAVA环境的类别档案,其中可能必须提供特定格式由JAVA语言规格决定的“标准”JAVA信息内容121,这在本技艺为众所周知。例如,可能必须使用多个区段,在此以简化方式表示为幻数、版本、常数池、存取、类别、接口、栏位、方法及属性,以便与JAVA语言一致。因此,在载入应用档案120时,可验证内容121中之区段的一致性,同时在此阶段期间,对于对应语言规格的一致性,可忽略以“库1”、“库2”、“库信息”表示的任何附加区段。也可以区段125a、…、125n表示的附加区段在验证部份121之区段的一致性期间“可看见”,例如,通过提供不会干扰将区段125a、…、125n表示成非标准区段的语言规格的适当区段标头(section?header)。应了解,区段125n中之一个可包含可适当地使用原生代码段的任何附加信息,同时在其它的情形下,区段125a、…、125n中之?每一可包含例如用于识别各个原生方法的对应“内务处理”信息,因此可提供实作及相关的对应实作。因此,通过加入用于不同类型之平台的多个特定平台特征可提供有某一程度之平台独立性的对应应用档案,从而可大幅增强对应应用系统的效能及使用者友善性。在其它的情形下,通过加入特定平台特性可增强某一基本应用系统的效能,其中基本上通过加入不同的特定平台信息,相同的应用系统可专属于不同的平台。?

    第1c图示意图标单元112的结构,它本身可实作成可通过虚拟机110执行之应用系统的形式。例如,如先前所述,JAVA为基本或父类别之某些性质可由子类别继承的面向对象语言,其中可覆盖该等性质中之一些,亦即,方法,以便扩充父类别的各种能力。例如,JAVA环境的标准类别载入器可为父类别,以及修改类别载入器的定义可通过实作应用档案120之原生代码段125(参考第1b图)的处理能力以便适当地服务原生方法的请求。在图示于第1c图的具体实施例中,载入器单元112可包含多个方法,它们由父类别载入器继承以及可能不被改变,因为该等方法可以“最终的”表示,如组件符号114所示。另一方面,可扩充父类别载入器的载入类别方法以便包括原生代码段的处理,从而得到对应的方法113。?

    第1d图示意图示的机构系用于实作处理原生代码段的必要功能同时也考虑到验证标准信息内容一致性的可能性,例如部份121(参考第2e图)。如图示,载入类别方法113可包含第一步骤113a以便在类别档案120的对应平台无关指令121中识别原生方法的请求,如第2b图所示。如果在步骤113a没有找到原生方法的对应请求,可用默认的行为继续载入类别方法,如步骤113b所示。就此情形而言,可通常的方式进行一致性及其类似者的验证。如果在步骤113a找到原生方法的对应请求,该机构可继续到步骤113c,其系在应用档案中寻找任何嵌入原生代码。为此目的,可适当地将载入类别方法组态成可识别设于附加区段125a、…、125n(参考第1b图)的各个附加区段或任何其它信息以便可检测嵌入原生代码的存在以及也可评估与原生方法之请求有关的其它信息。例如,基于在第2b图之区段125a、…、125n中可得到的附加信息,可评估是否可取得被请求原生方法的适当实作。如果没?有找到对应嵌入原生代码或在嵌入原生代码内没有可用的适当实作,该机构可前进至步骤113b以及应用默认的行为。在其它情形下,如果认出与当前平台架构匹配的适当实作,相关原生代码段或其中之一部份,例如特定DLL或共享库,可拷贝至专属内存空间以及可用于受考虑类别档案的其它库查找操作(library?find?operation)。之后,可用类别载入器112执行其它的必要方法,其中然后可预备受考虑类别档案供单元111(参考第1a图)执行,例如通过应用第1c图的方法114。因此,在类别载入器112的其余处理期间,嵌入原生代码段125(参考第1c图)可保持看不见因而不会干扰指令在部份121之中的执行(参考第1d图)。?

    结果,本揭示内容可提供数种电子器件,其操作可基于虚拟机与有嵌入原生代码段的应用档案用以提供可有效利用特定平台特征的可能性而不需使用者互动。该等特定应用档案可通过任何来源提供,例如经由任何适当网络的远程计算机系统,或目标平台可存取的任何其它适当存储媒体。此外,在虚拟机中可实作适当的机构用以找到原生方法的请求,在这种情形下,可寻找各个应用档案的嵌入原生代码段,然后可用于应用档案所需的任何库合并(library?incorporation)。例如,例如基于任何计算机可读取存储媒体,可提供修改类别载入器,以及可并入虚拟机机构以便提供扩充的功能。结果,可大幅简化JAVA应用系统的部署,这可能需要原生方法。此外,可用高度有效率的方式包装用于特定平台之原生方法的增强版本,它可能结合更通用的实作,然后可被虚拟机(例如,类别载入器)有效地“解析”,例如通过任何适当的技术,例如模式匹配机构及其类似者,以便选择在运行时期最佳的实作。此外,一或更多类别的多个版本可同时载入纵向机器(vertical?machine),即使用各种版本可请求不同的原生方法,因为用上述机构可有效避免库的冲突。?

    熟谙此艺者基于本说明可明白本揭示内容的其它修改及变体。因此,本说明应被视为仅供图解说明而且目的是用来教导熟谙此艺者实施本文所揭示之原理的一般方式。应了解,应将图示及描述于本文的形式应视为目前为较佳的具体实施例。?

    关于本文
    本文标题:以类别档案嵌入原生代码方式应用平台相依例行程序于虚拟机.pdf
    链接地址://www.4mum.com.cn/p-5817615.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 泳坛夺金中奖技巧 双色球走势图带连线图新浪爱彩 排列五走势图2元 山西十一选五开奖走势图 河北十一选五前三 湖北11选5开奖号 白山棋牌免费下载 北京pk10两个平台对刷 2019年金牛棋牌游戏 悠洋棋牌官网 中国足协杯 沈阳股票融资 快乐扑克360 贵州11选5走势图一定牛 ewin棋牌手机官网 江西多乐彩时时