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

技术编号:7236618 阅读:471 留言:0更新日期:2012-04-11 18:40
用以下方式可大幅简化在虚拟机环境中的原生方法的部署:加入对应原生代码段于应用档案,例如,JAVA类别档案,以及使用嵌入原生代码段于对应类别档案的库绑定操作。

【技术实现步骤摘要】
【国外来华专利技术】
本揭示内容大体有关用以基于平台无关软件来操作至少包含中央处理单元之电子器件的技术,其中该平台系通过仿真标准硬件环境的虚拟机提供。
技术介绍
导体制造领域的持续进步导致可制造快速强大的集成电路,它可包含数百万个个别晶体管组件。结果,可开发出高度复杂的数字电路用于设计及生产精密的中央处理单元 (CPU),其中提高堆栈密度(packing density)及减少耗电量与高内部存储容量已促进整合精密CPU于各式各样之电子器件的多种开发。结果,不只计算机系统的操作速度及耗电量有优异的效能,形式为手持计算机、行动电话及其类似者的其它各种电子器件(例如,行动器件)也可提供卓越的计算资源。结果,在计算机系统及其它电子器件大幅增长下,对于精密应用系统已建立及持续存在对应的需求。通常,CPU的操作可基于专属字节代码或机器代码,这可能造成硬件组件(例如, 缓存器、1/0(输入/输出)端子及其类似者)的状态随着机器代码指令的顺序而对应地改变。因此,在使用者应用系统与包含CPU之硬件系统间的最深层通信处,字节代码指令的对应顺序必须通过CPU执行,从而以缓存器内容及其类似者的形式提供所欲结果。不过,开发对应顺序多少有点复杂的机器代码指令可能非常耗时以及可能也需要以下特殊技能将要用给定应用系统来解决的对应问题或目标“翻译”成一序列的机器代码指令。此外,可满足给定应用系统之要求的开发机器代码程序强烈取决于所用硬件系统的组态,亦即特定的CPU与其它组件,例如外部工作存储器、总线组态及其类似者,使得提供给特定硬件组态的机器代码程序可能无法正常地使用于不同的硬件系统。基于这些原因, 已开发出数种编程语言以利程序开发人员与对应应用系统必须在其中执行的硬件系统通信。例如,引进汇编语言为重大的进步,相较于基本机器字节代码,藉此可提供及设置较高阶的抽象。在提高抽象阶层的其它企图中,已开发出较高阶的编程语言以便提供适当的平台用以产生对应至特定应用系统的源代码而可翻译成计算机系统之微处理器可了解及执行的对应机器字节代码。在该等高阶编程语言中,某些关键词必须根据特定语言的“文法” 来使用,从而允许定义一序列的程序步骤以便得到要求的结果。根据所谓面向对象程序设计的一高阶编程语言开发方法已变成常用的技术,它是企图更方便地把日常生活情况映像成计算机程序。亦即,根据面向对象法,可定义特定的对象或类别以便有可以预定义方式响应某些事件的基本特征。以此方式,可制成极其复杂的应用系统,其中各别的对象可用极便利的方式重复使用于不同的应用系统,从而避免重复开发相同的软件。尽管高阶编程语言可提供便利的平台供开发多种应用系统,市售各种硬件平台, 亦即不同的微处理器类型,计算机系统架构及其类似者,应用系统还是需要具体适配目标架构。由于有此情形,已开发考虑到提供开发平台无关应用系统之可能性的语言,其中软件开发人员可聚焦于应用系统本身而不必考虑对应计算机系统的特定硬件特性。事实上,现今各种市售基于计算机的电子器件(其系提供允许部署多种应用系统的计算资源)可进一步驱动平台无关应用系统的需求。由于诸如行动电话、手持计算机之类的电子器件彼此的硬件组态可能明显不同,因此,平台无关应用系统允许开发最终可用于任何一种电子器件的应用系统,而与特定的硬件架构无关。此外,数量稳定地增长的计算机系统基于无线及基于电缆的网络信道可连接至任何适当网络,例如互联网,藉此经由网络可将应用系统传送至使用者,其中事前可能不知道特定目标系统的硬件组态。提供平台无关应用系统的概念实际上系基于引进可操作通过平台无关应用系统提供之特定虚拟字节代码的“虚拟”计算机系统或虚拟机。因此,虚拟机实际仿真硬件组态从而用作平台无关应用系统与特定硬件组态的接口。因此,多种虚拟机可用来提供以标准形式执行的“平台无关”应用系统同时与结合相关操作系统的专属硬件组态建立接口。结果,当安装适当的虚拟机于计算机系统或或任何其它电子器件时,可开发应用系统以及通过与硬件组态无关的虚拟机执行。例如,升阳计算机的编程语言JAVA为面向对象语言,其中可有效地编程应用系统而不需要适配特定计算机平台的不同操作系统。如果使用者启动 JAVA程序,JAVA虚拟机会自动启动以及载入对应的类别档案然后予以解译以产生虚拟机的“机器代码”。如果受考虑应用系统需要其它的类别,在运行时期可按照要求载入该等类别以及也可根据需要加以解译。例如,许多类别可用于虚拟机以及可实作成对应的库。因此,在虚拟机的操作期间,实际CPU执行响应虚拟机的机器代码从而需要内存用以存储处理器的状态,例如以IRQ(中断请求)地址及其类似者的形式。因而,处理器、机器代码及状态内存可定义虚拟机。另一方面,虚拟机执行对应至编译程序的应用系统,从而也需要可存入虚拟机之任何特定信息的专属状态内存。例如,可存储同时出现在虚拟机中由类别之每个版本组成的表格。从而,虚拟机、载入于其中的程序以及各个虚拟特定状态内存可实现实际的应用系统。例如,JAVA虚拟机的规格指定任何输入(亦即,类别档案)的格式,以及它也可指定如何解译该等类别档案。不过,如先前所述,它没有明确规定如何实作解译。结果, 可提供一种独立操作平台系统,使得它与JAVA应用系统相关,而与执行它的LINUX系统、 Windows系统、或任何其它类型的操作系统无关,只要该等平台中之任一装有专属虚拟机。JAVA应用系统中的想要平台无关功能用以下方式实现。JAVA虚拟机或类别档案的输入可包含与所欲应用系统有关的任何信息。该等类别档案的特定结构系通过含有必要信息(例如,常量池入口(constant pool entry)、方法及栏描述、代码及除错信息及其类似者)的多个区段来实现。结果,在载入及解译对应类别档案后,内含于该等标准区段的信息可用来验证及预备类别档案供虚拟机执行。基本上,可理解类别为有属性及方法之多个相似对象的呈现。属性可视为有特定类型的常数或变量。可理解方法为“函数”,因而可表示以字节代码表呈现的一序列制程步骤,亦即必须执行它们以便定义指定程序顺序的虚拟机机器指令。虚拟机的字节代码可与组合指令有类似的抽象水平,如先前所解释的。因此,每个方法可能需要存储结合与最大必要内存空间等等有关之附加信息的对应本地变量。此外,由于语言的面向对象本质,类别可继承其它类别的方法及属性,这也必须存储于受考虑类别的标准区段。此外,标准区段内必须提供安全信息与异常处理及除错的信息。此外,虚拟机包含类别载入器(classloader),其系负责把存储于外部类别档案的类别信息“转换”成信道运行时结构(channel run time structure) 0为此目的,类别载入器可验证受考虑类别的一致性,例如基于验证档案中经由程序及其类似者可存取的每个部份。当验证完成而没有任何错误时,类别载入器载入信息于虚拟机以及启动虚拟机的字节代码执行器。该虚拟机执行器系负责执行基于字节代码的方法,如上述。如果遭遇用于产生各个类别之版本的指令,字节代码执行单元检测此类别是否已载入。结果,在运行时期请求即可载入对应类别档案于虚拟机,在此用任何适当来源,例如,受考虑本地存储器件平台、远程计算机及其类似者,可提供对应类别档案。尽管虚拟机中与任何特定操作系统及硬件组态无关的特征对于多个应用本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:G·弗罗斯特
申请(专利权)人:先进微装置公司
类型:发明
国别省市:

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

1
相关领域技术