嵌入式系统程序精简处理方法及系统的制作方法

文档序号:6378554阅读:194来源:国知局
专利名称:嵌入式系统程序精简处理方法及系统的制作方法
技术领域
本发明是关于一种计算机信息技术,特别是关于一种嵌入式系统程序精简处理方法及系统,用于对嵌入式系统(embedded system)中所需搭载的虚拟机(Virtual Machine),例如Java虚拟机(Java Virtual Machine,JVM)或Microsoft虚拟机(Microsoft Virtual Machine,MVM),以及通过该虚拟机来执行的所有应用程序进行精简处理(scale down),借此减少该虚拟机和应用程序的总数码量,节省嵌入式系统的内存空间,因此增加了该嵌入式系统的系统效能。
背景技术
嵌入式系统(embedded system)所建构的信息平台,例如移动电话、个人数字助理装置等等,目前常采用Java虚拟机(Java Virtual Machine,JVM)或Microsoft虚拟机(Microsoft Virtual Machine,MVM)来使同一种应用程序可以跨平台应用在各种建构于不同类型的中央处理器及操作系统的信息平台上;也就是程序设计师只要撰写出一个应用程序,即可让该应用程序借由虚拟机在不同类型的信息平台上执行,而不必分别针对不同类型的信息平台对同一种操作功能撰写多个程序。
图1即显示一信息平台11中的嵌入式系统10中所需的虚拟机及应用程序的架构。如图所示,假设此嵌入式系统10用于执行一组应用程序31、32、33(注此处仅以3个应用程序31、32、33为例作说明,也可为任意数目的应用程序)。此嵌入式系统10中,除了操作系统40外,还安装有一虚拟机20,例如为Java虚拟机;且此虚拟机20至少包括一对象库(object library)21、一编译器(complier)22和一执行时间支持系统(runtime environment)23;且对象库21中(以JVM为例)例如包括有一语言类别群组(lang)21a、一串行与日期类别群组(util)21b、一输出入类别群组(io)21c、一图形类别群组(awt)21d、一高阶图形类别群组(awt.image)21e、一网络类别群组(net)21f、一HTML类别群组(applet)21g、以及其它类别群组21h。
由于上述的对象库21、编译器22和执行时间支持系统23均为现有虚拟机(例如JVM)中的组件,因此以下不对其作进一步详细的说明。
在实际应用中,目前常用的一种程序加载方法是将应用程序31、32、33以源码方式,与虚拟机20中的所有的组件(即全部的对象库21、编译器22和执行时间支持系统23)连同操作系统40全部加载至嵌入式系统10中。以这种作法,当嵌入式系统10在实际执行应用程序31、32、33时,首先需利用编译器22将这些应用程序31、32、33编译成字节码(byte code);接着从对象库21取得应用程序31、32、33所需的对象类别(class);最后再借由执行时间支持系统23来执行应用程序的字节码,从而提供所需的操作功能。
然而由于嵌入式系统10一般都用于提供特定的操作功能,因此其应用程序31、32、33通常仅需利用到对象库21中的一小部分的对象类别。因此将对象库21中的所有的类别群组21a、21b、21c、21d、21e、21f、21g、21h中的所有的档案均加载到嵌入式系统10中的作法,显然会不必要地占用嵌入式系统10的内存空间,使嵌入式系统10的系统效能降低。
上述问题的一种解决方法在于增加嵌入式系统10中的内存空间。但此作法的缺点在于需增加额外的硬件成本,且不必使用到的对象类别仍将占用储存空间,形成资源的浪费及效能的降低。另外一种可节省嵌入式系统的内存的解决方法为不使用虚拟机20而直接将应用程序31、32、33编译成嵌入式系统10的中央处理器可执行的机器码。但此作法的缺点在于应用程序31、32、33将失去跨平台能力,使程序设计师需分别针对不同类型的信息平台来撰写多个程序,不符合整体的成本效益。

发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种嵌入式系统程序精简处理方法及系统,其可减少嵌入式系统中所需的虚拟机和应用程序的总数码量,节省嵌入式系统的内存空间。
本发明的另一目的在于提供一种嵌入式系统程序精简处理方法及系统,其可增加嵌入式系统的系统效能。
本发明的嵌入式系统程序精简处理方法的步骤为(1)将各个应用程序的源码编译成字节码;(2)从该对象库中取出各个应用程序执行时所需的所有对象类别的档案,并将这些对象类别的档案汇总、整理成一必用对象类别档案群组;(3)对该必用对象类别档案群组进行压缩,借此获得一必用对象类别压缩档案;(4)从该虚拟机中取得其中的执行时间支持系统;(4)将上述字节码的应用程序的数码、执行时间支持系统的数码和必用对象类别压缩档案的数码汇总、整理成一嵌入式系统程序数码总集,以备将该嵌入式系统程序数码总集加载至嵌入式系统。
本发明的嵌入式系统程序精简处理系统至少包括一编译模块,将各个应用程序的源码编译成字节码;一对象类别选取模块,可从对象库中取出各个应用程序执行时所需的所有对象类别的档案,并将这些对象类别的档案汇总、整理成一必用对象类别档案群组;一压缩模块,对必用对象类别档案群组进行压缩,借此获得一必用对象类别压缩档案;一数码汇集模块,它将上述字节码的应用程序的数码、执行时间支持系统的数码和必用对象类别压缩档案的数码汇总、整理成一嵌入式系统程序数码总集,以备将该嵌入式系统程序数码总集加载至嵌入式系统。
上述嵌入式系统程序精简处理方法及系统可应用在对嵌入式系统(embedded system)中所需搭载的虚拟机(Virtual Machine),例如Java虚拟机(Java Virtual Machine,JVM)或Microsoft虚拟机(Microsoft VirtualMachine,MVM),以及通过该虚拟机来执行的所有应用程序进行精简处理(scale down)。其中,该虚拟机至少包括一对象库、一编译器、和一执行时间支持系统。
本发明的嵌入式系统程序精简处理方法及系统的特点在于将所有的应用程序均预先编译成字节码(byte code);并从原型虚拟机中的对象库中仅选取出这些应用程序执行时所需的所有对象类别的档案,并将这些对象类别的档案压缩成一必用对象类别压缩档案;且进而将编译器去掉而不加载至嵌入式系统。此特点可减少虚拟机和应用程序加载至嵌入式系统的总数码量而节省嵌入式系统的内存空间,并借此增加嵌入式系统的系统效能。


图1(现有技术)是一架构示意图,显示一信息平台中的嵌入式系统中所需的虚拟机及应用程序的常用架构;图2是系统架构示意图,显示本发明的虚拟机精简处理系统的对象导向组件模型架构;以及图3是一示意图,显示本发明中的对象类别选取模块从对象库选取所需的必要对象类别的操作方式。
具体实施例方式
实施例图2即显示本发明的嵌入式系统程序精简处理系统(如标号100所指的虚线框所包括的部分)的对象导向组件模型(object-orientedcomponent model)的基本架构。如图所示,本发明的嵌入式系统程序精简处理系统100可用于对嵌入式系统10所需的特定的虚拟机20以及通过该虚拟机20来执行的一组应用程序31、32、33(注此处仅以3个应用程序31、32、33为例作说明,但实际实施上可为任意数目的应用程序)进行精简处理(scale down),借此减少虚拟机20和应用程序31、32、33的总数码量,节省嵌入式系统10的内存空间,而增加该嵌入式系统10的系统效能。
虚拟机20,例如为Java虚拟机(Java Virtual Machine,JVM)或Microsoft虚拟机(Microsoft Virtual Machine,MVM),至少包括一对象库(object library)21、一编译器(complier)22和一执行时间支持系统(runtimeenvironment)23。由于此对象库21、编译器22和执行时间支持系统23都是现有的虚拟机(例如为JVM)中的组件,因此以下将不对其作进一步详细的说明。
本发明的嵌入式系统程序精简处理系统100的对象导向组件模型至少包括(a)一编译模块110;(b)一对象类别选取模块120;(c)一压缩模块130;以及(d)一数码汇集模块140。
编译模块110的功能与原型虚拟机20中的编译器22完全相同,它可将应用程序31、32、33的源码(source code)编译成字节码(byte code)的应用程序111、112、113。
对象类别选取模块120可从原型虚拟机20中的对象库21中取出各个应用程序31、32、33执行时所需的对象类别(class)的档案,并将这些对象类别的档案汇总、整理成一必用对象类别档案群组121。如图3所示,以JVM为例,JVM中的对象库21中包括一语言类别群组(lang)21a、一串行与日期类别群组(util)21b、一输出入类别群组(io)21c、一图形类别群组(awt)21d、一高阶图形类别群组(awt.image)21e、一网络类别群组(net)21f、一HTML类别群组(applet)21g以及其它类别群组21h。传统作法上,此对象库21中的所有类别群组21a、21b、21c、21d、21e、21f、21g、21h中的所有档案均被加载至嵌入式系统10中。本发明的一项技术要点即在于,利用对象类别选取模块120从原型虚拟机20中的对象库21中仅选取出应用程序31、32、33执行时所必须用到的对象类别的档案,而其它不用到的对象类别的档案则不选取。例如,若有一应用程序仅利用到JVM中的对象库中的串行与日期类别群组(util)21b、输出入类别群组(io)21c、图形类别群组(awt)21d和高阶图形类别群组(awt.image)21e,而不会用到其它的对象类别,则对象类别选取模块120即可依据使用者所指定的选项将这些必须用到的对象类别的档案从JVM对象库21中选取出来,并将选取出来的所有的对象类别的档案汇总、整理成一必用对象类别档案群组121。
压缩模块130用于对上述的对象类别选取模块120汇集成的必用对象类别档案群组121进行压缩,借此获得一必用对象类别压缩档案131。
数码汇集模块140可将原型虚拟机20中的执行时间支持系统23的数码、所有字节码的应用程序111、112、113和必用对象类别压缩档案131的数码汇总、整理成一嵌入式系统程序数码总集200,以备将此嵌入式系统程序数码总集200加载至嵌入式系统10。
上述嵌入式系统程序精简处理系统100可用于本发明的嵌入式系统程序精简处理方法,该方法至少包括(1)将各个源码的应用程序31、32、33编译成字节码的应用程序111、112、113;(2)从对象库21中取出各个应用程序111、112、113执行时所需的所有对象类别的档案,并将这些对象类别的档案汇总、整理成一必用的对象类别档案群组121;(3)对该必用对象类别档案群组121进行压缩,借此而获得一必用对象类别压缩档案131;(4)从该虚拟机20中取得其中的执行时间支持系统23;(4)将上述字节码的应用程序111、112、113的数码、执行时间支持系统23的数码和必用对象类别压缩档案131的数码汇总、整理成一嵌入式系统程序数码总集200,以备将该嵌入式系统程序数码总集200加载至嵌入式系统10。
与图1所示的现有技术相比,由于本发明的嵌入式系统程序精简处理系统100所产生的嵌入式系统程序数码总集200中的应用程序111、112、113,都已经是字节码(byte code)而非源码(source code),且此嵌入式系统程序数码总集200中并没有包括编译器22,因此本发明可减少虚拟机和应用程序的总数码量,节省嵌入式系统10的内存空间,而增加该嵌入式系统10的系统效能。
总而言之,本发明提供了一种新颖的嵌入式系统程序精简处理方法及系统,其特点是将所有的应用程序都预先编译成字节码(bytecode);并从原型虚拟机中的对象库中仅选出这些应用程序执行时所需的所有对象类别的档案,并将这些对象类别的档案压缩成一必用对象类别压缩档案;且进而将编译器去掉而不加载至嵌入式系统。此特点可减少虚拟机和应用程序加载至嵌入式系统的总数码量而节省嵌入式系统的内存空间,并借此而增加嵌入式系统的系统效能。
权利要求
1.一种嵌入式系统程序精简处理方法,用于对嵌入式系统所需的特定的虚拟机以及通过该虚拟机来执行的所有应用程序进行精简处理;其特征在于,该虚拟机至少包括一对象库、一编译器和一执行时间支持系统;此嵌入式系统程序精简处理方法至少包括将各个应用程序的源码编译成字节码;从该对象库中取出各个应用程序执行时所需的所有对象类别的档案,并将这些对象类别的档案汇总、整理成一必用对象类别档案群组;对该必用对象类别档案群组进行压缩,借此获得一必用对象类别压缩档案;从该虚拟机中取得其中的执行时间支持系统;将上述字节码的应用程序的数码、执行时间支持系统的数码和必用对象类别压缩档案的数码汇总、整理成一嵌入式系统程序数码总集,以备将该嵌入式系统程序数码总集加载至嵌入式系统。
2.如权利要求1所述的嵌入式系统程序精简处理方法,其特征在于,该虚拟机为Java虚拟机。
3.如权利要求1所述的嵌入式系统程序精简处理方法,其特征在于,该虚拟机为Microsoft虚拟机。
4.一种嵌入式系统程序精简处理系统,用于对嵌入式系统所需的特定的虚拟机以及通过该虚拟机来执行的所有的应用程序进行精简处理;其特征在于,该虚拟机至少包括一对象库、一编译器和一执行时间支持系统;此嵌入式系统程序精简处理系统至少包括一编译模块,将各个应用程序的源码编译成字节码;一对象类别选取模块,可从对象库中取出各个应用程序执行时所需的所有对象类别的档案,并将这些对象类别的档案汇总、整理成一必用对象类别档案群组;一压缩模块,对必用对象类别档案群组进行压缩,借此获得一必用对象类别压缩档案;一数码汇集模块,它将上述的字节码的应用程序的数码、执行时间支持系统的数码和必用对象类别压缩档案的数码汇总、整理成一嵌入式系统程序数码总集,以备将该嵌入式系统程序数码总集加载至嵌入式系统。
5.如权利要求4所述的嵌入式系统程序精简处理系统,其特征在于,该虚拟机系统为Java虚拟机系统。
6.如权利要求4所述的嵌入式系统程序精简处理系统,其特征在于,该系统为Microsoft虚拟机系统。
全文摘要
一种嵌入式系统程序精简处理方法及系统,用于对嵌入式系统中搭载的虚拟机以及通过该虚拟机执行的所有应用程序,该方法及系统至少包括将各个应用程序的源码编译成字节码的编译模块;对象类别选取模块,从对象库中取出各个应用程序执行时所需的所有对象类别的档案,并将其汇总、整理成一必用对象类别档案群组;对必用对象类别档案群组进行压缩的压缩模块,借此获得一必用对象类别压缩档案;数码汇集模块,将上述字节码应用程序的数码、执行时间支持系统的数码和必用对象类别压缩档案的数码汇总、整理成一嵌入式系统程序数码总集,以便加载至嵌入式系统;借此减少虚拟机和应用程序的总数码量,节省嵌入式系统的内存空间,增加嵌入式系统的效能。
文档编号G06F9/45GK1591334SQ0315664
公开日2005年3月9日 申请日期2003年9月5日 优先权日2003年9月5日
发明者林文华 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1