KVM在基于构件的嵌入式操作系统上的移植和研究.pdf
-
资源ID:74650447
资源大小:191.47KB
全文页数:5页
- 资源格式: PDF
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
KVM在基于构件的嵌入式操作系统上的移植和研究.pdf
收稿日期:2004-09-02;修返日期:2004-10-16基金项目:国家“863”计划资助项目(2001AA113400)KVM 在基于构件的嵌入式操作系统上的移植和研究*叶 磊1,陈 榕2,赵岳松1(1.武汉理工大学 计算机科学与技术学院,湖北 武汉 430070;2.上海科泰世纪科技有限公司,上海 201203)摘 要:新信息家电时代的到来,嵌入式操作系统已经发挥了重要的作用,目的就是在资源有限的移动设备和家电产品上提供给用户稳定而丰富的使用功能。特别在目前手机移动开发上,Java 技术提供给用户多种应用服务,所以发展空间比较大。介绍在中国自主知识产权的基于 CAR 构件技术的智能手机操作系统 EiaME(EiastosMobiie Edition)上,嵌入式 Java 虚拟机的移植和研究,考虑如何实现 KVM 的本地接口和图形界面等。关键词:KVM;构件;CAR 技术;嵌入式操作系统;移植中图法分类号:TP314 文献标识码:A 文章编号:1001-3695(2005)09-0025-03Porting and Research of KVM on Component-based Embedded Operating SystemYE Lei1,CHEN Rong2,ZHAO Yue-song1(1.Dept.of Computer Science&Technology,Wuhan Uniuersity of Science&Technology,Wuhan Hubei 430070,China;2.Shanghai KoretideCorporation,Shanghai 201203,China)Abstract:With the advent of new information appiiance times,embedded operating systems have graduaiiy become signifi-cant.The embedded operating systems,which run on the resource-iimited mobiie devices and appiiance,provide and supportvarious appiications for the consumers.Especiaiiy in the mobiie phone deveiopment,the Java technigue offers the users manykinds of appiication services.This trend is stiii going on,which wiii make Java the genuine network ianguage running on aiithe devices.This paper introduces the CAR(Component Appiication Runtime)based mobiie phone operating system EiaME(Eiastos Mobiie Edition),and discusses the KVM porting on the EiaME.It focuses on the impiementation of KVM porting,such as native interfaces,GUI,and etc.Key words:KVM(Kiio bytes Virtuai Machine);Component;CAR Technigue;Embedded Operating System;Porting 在目前的移动信息设备市场上,特别是以发展最快的手机为代表,各个厂商都推出了具有特色功能和服务的产品。在无线通信技术由 2.5G 走向 3G 的时代,智能手机操作系统发展迅速,更进一步推动了移动通信的发展。智能手机不光再是基本的通信功能,更重要的在于强大的个性化服务和“多合一”式的应用组合,如支持 Java、BREW、MMS、WAP、GPS、电子词典、电子地图、Office、视频点播、电视等多种功能。现在 Java 技术十分流行,发展势头强劲,而且在 SUN 公司推出了 J2ME 平台后,众多移动式系统都纷纷支持 Java 应用程序。由于 Java 已经成为了业界公认的通用网络语言,具有超强的跨平台性,所以 Java 这种 Write once,run anywhere on any-thing safeiy 特性被目前几乎所有的手机系统开发商所承认并运用。无一例外,当今的智能手机操作系统都支持 KJava 技术。为了保证手机操作系统支持运行 Java 程序,需要将 Java虚拟机移植到手机操作系统上。由于手机这种移动式信息设备采用都是小容量的 Fiash 和 RAM,所以就要求虚拟机体积更小,实时效率更高,故而这种 Java 虚拟机被称为 KVM。由于 J2ME 是以消费性产品为目标而设计的 Java 运行环境,专门针对移动电话、数字机顶盒和汽车导航系统,因而影响力巨大,就连现在刚研制的 ARM10 内核 RISC 处理器都专门针对 Java 字节码的执行采用了 Jazeiie 加速技术和 SoC 片上解释Java 字节码,所以在嵌入式操作系统一级移植 KVM 就是必然的趋势。本文将根据科泰世纪公司的 EiaME 智能手机操作系统,来分析研究 KVM 的原理和移植中采取的方法,以及如何使基于构件的 EiaME 和 KVM 协调工作。1 ElaME 手机操作系统和 CAR 技术简介EiaMe 智能手机操作系统是科泰世纪公司在 2004 年 8 月完成并推出的一款具有中国自主知识产权的嵌入式操作系统。它是在 Eiastos(中文名为“和欣”)嵌入式操作系统上对文件系统、内核、图形系统和基于 ARM 开发的 BSP 部分以及功能应用方面进行了修改和强化后,得到的一个面向移动手机的智能操作系统。EiaME 是一个完全面向构件技术的操作系统,它基于灵活内核,具有多进程、多线程、抢占式、基于线程的多优先级任务调度等特性。它支持 NOR Fiash 和 NAND Fiash 作为存储器设备,采用了 ktfs 和 yaffs 文件系统,全面兼容 FAT。众所周知,在当今世界智能手机操作系统领域,主要有Symbian OS,Paim OS,Windows CE 和新兴的 Linux。那么EiaME相对这些操作系统来说,最大的优势就在于自身是完全面向CAR 构件的。CAR 构件技术就是一种面向构件编程的编程模型,其中规定了一组构件间相互调用的标准,使得二进制构件能够自描述,能够在运行时动态链接。更重要的是 CAR 完全52第 9 期叶 磊等:KVM 在基于构件的嵌入式操作系统上的移植和研究 兼容微软的 COM,但是和 COM 相比删除了 COM 中过时的约定,禁止用户定义 COM 的非自描述接口,完备了构件及接口的自描述功能,实现了对 COM 的扩展。CAR 技术支持了软件的二进制复用,可以说整个 EiaME 就是众多构件拼装在一起的功能整体。在 EiaME 中集成了 CAR 运行环境,能够对软件构件进行充分的支持,使得内核具有伸缩性和灵活性。因此,在移植KVM 时,可更加方便地利用操作系统提供的一组动态链接构件库,如图形系统构件库、网络系统构件库等,来完成 KVM 内部机制、本地接口、图形界面及多媒体应用等功能。2 KVM 的原理和工作机制KVM 是一个很适合在移动掌上设备上使用的虚拟机。最早的 KVM 实例是在 Paim OS 上实现的,当时 SUN 公司刚刚推出 JZME,Paim OS 就首先尝试了这个新技术,使得很多的 Java程序(Spotiet)在上运行。现在,很多移动设备都将 KVM 放置到了自身的产品中。其实 KVM 就是 JZME 的实例,是包括了Configuration 和 Profiie 等规定而形成的虚拟机。JZME 的结构是专门针对多样化的嵌入设备和消费电子设备而设计的,由配置(Configuration)、简档(Profiie)和可选包(Optionai Package)三要素构成。Configuration 是一个规范,定义了这类设备的共同 Java 平台,定义与设备无关的 Java 虚拟机和核心库,是平台相容性的基础。Profiie 是一组 API,在某一 Configuration 的基础上扩展了针对设备特定功能的 API。在目前的手机操作系统上,都采用由 Configuration 定义的 Java 虚拟机运行于设备的宿主操作系统之上,构成整个平台的基础。通过 Profiie 提供针对设备的特殊功能 API 和扩展类库,来支持Java 程序顺畅地运行在智能移动手机上。在向 EiaME 上移植KVM 时,Configuration 采用了 CLDC l.l(Connected Limited De-vice Configuration),Profiie 选用了 MIDP Z.0(Mobiie InformationDevice Profiie),这也是目前众多手机操作系统所采用的方案。一方面 JZME 规范发展强劲,Java 程序员只需透过 SUN 制定的MIDP 应用程序设计接口来撰写手机的程序便可以达到跨平台的目的,而这一切的功能都由底层 KVM 来处理;另一方面,KVM 的原始程序代码是免费的,从而可以降低开发成本,而且KVM 移植成功的例子很多,借鉴的经验也不少。图 l 是 KVM和 EiaME 智能手机操作系统的整体结构示意图。为了严格控制 KVM 的体积,CLDCl.l 仅仅提供了一个核心类函数库,包括 Java.iang.*,Java.io.*,Java.utii.*,以及一个 JZME 开发包 Javax.microedition.*。通常,KVM 会占用系统 RAM 中的 lS0KB 左右,其中大部分用作 Java 堆,来保存全局的类信息、字符串信息和动态执行栈信息。EiaME 操作系统是一个 3Z 位的嵌入式操作系统,而 Java 堆的最小组成单位是 Ceii,是 4 个字节,这样恰好是系统中的一个字,在移植时就不用考虑字节、半字和字的转换问题。由于在目前的手机上采用的 ARM 处理器主频都在 Z00MHZ 400MHZ 之间,而且系统中内存和 ROM 容量都极其有限,如果按照 PC 上 Java 虚拟机的执行流程显然是行不通的。所以对嵌入式 Java 虚拟机进行必要的裁剪是非常必要的,移植后所追求的目标也就是高效、稳定、资源消耗小。一方面,KVM 本身剔除了复杂而耗资源的Java 字节码审核器,取而代之的是一个简单的、轻量级审核器,而把原来的大部分工作放到 PC 端来处理,从而减轻了移动设备的负担;另一方面,通过利用大量的 KVM 本地接口 KNI 来直接调用 EiaME 操作系统的系统调用,可以提升 KVM 的运行速度。这些方面在移植过程中,都进行了非常细致的考虑。图Z 就是 KVM 运行过程的示意图。从图 Z 可以看出,KVM 的工作原理基本与传统的虚拟机相同,负责解释字节流的 ciass 文件,调用相关系统接口来执行Java 程序,但在效率上进行了比较多的改进和考虑。正如前面介绍的,EiaME 是基于 CAR 构件技术,直接支持构件(DLL 文件的形式)在操作系统上运行。而现在 KVM 移植到 EiaME上,在下层与操作系统有关的交互部分仍然可以直接使用系统构件库中提供的软构件,仅仅只需将构件(DLL 文件的形式)加入到移植代码中,这样可以利用构件和 EiaME 灵活内核的特性来优化和提升 KVM 的性能。虽然 KVM 并不是遵循 CAR模型的,这里称为“异形构件”,但仍然可以在移植代码中利用CAR 构件,使得这个异形构件也能运行在 EiaME 上,从而使操作系统自始至终控制程序运行的主动权,保证了系统稳定和安全,这也是 KVM 移植过程中需要注意的问题。3 KVM 移植的实现3.1 KVM 移植的框架设计根据 SUN 公司的报告,KVM 几乎可以运行在任何操作系统平台上。虽然获得了原始的程序代码,但结合 EiaME 的特性还是必须进行有效的修改。由于 EiaME 是基于 CAR 构件技术的,所以在很多地方都可以运用构件,从而避免了复杂的程序编写。总的来说,KVM 的移植主要有系统一级和应用一级两个层面,分别对应于 CLDC 和 MIDP 的移植。在 KVM 移植中,有一些具体的问题,如浮点数的支持、大小头的问题、线程管理、时钟管理、内存管理支持、图形用户界面、语言问题等。目前,像其他的智能手机操作系统一样,EiaME 主要运行在ARM 上,这也是今后的发展方向,所以对于浮点数的支持、大小头的问题就比较容易解决。ARM 处理器本身支持大头和小头两种数据结构,只需对 CPU 进行一些设置这就可以了,而且ARM 的协处理器可以支持浮点运算,即使没有这些功能,Ei-aME 底层也会通过软件模拟的方式用整数运算来做浮点运算,因此浮点运算的问题也迎刃而解。而且,EiaME 提供了大量的函数方法,如智能指针、Eiastos API 和 CRT(C Run-TimeLibrary)等,还有系统的构件库,这些在线程管理、时钟管理、内存管理支持、图形用户界面、语言问题等方面发挥了重要的作用。图 3 是 KVM 移植到 EiaME 上的整体框架设计图。3.2 KVM 中 CLDC 移植的实现CLDC 是整个 KVM 的基础和核心,负责调度虚拟机来正常工作,处理执行 Java 字节码。KVM 就像一个软处理器一样,6Z计算机应用研究Z00S 年控制解释 Java 字节码和它的执行状况,每一个创建的 Java 线程在 Java 堆中都会有各自的线程执行栈,并且由 KVM 运行来调度管理。但这仅仅是在 KVM 内部仿真的,是虚拟的运作环境。实际上,KVM 内部 Java 线程的互斥、同步以及对临界资源访问的控制还是要依靠 ElaME 来控制的,只不过这种控制与真正的线程控制还是有所区别。因为,KVM 本身具有仿真多线程的管理机制,只是缺乏有效的时间标准而已,无法正确地划分时间片。这里需要为 KVM 传入一个时间标准单位,可以利用 ElaME 提供 Elastos API 来获取当前系统的时间,然后通过换算得到一个时间标准作为 KVM 的内部时钟。简单的程序代码表示如下:INT64 Time=EzgetsystemTime();/获取当前系统时间,即 UTC 通用协调时间TIME mst=getTimeUnit(Time);/unit is ms图 3 KVM 移植的整体框架设计图当运行初始化时,在 KVM 内利用 EzCreateThread 创建了五个同步的 I/0 线程,为了保证 KVM 运行稳定,使用了 ElaME 的线程控制机制,使用了“和欣”构件运行平台构件库中的 Cmu-tex,对进入临界区的线程进行严格的 PV 操作。其简单的程序代码如下:CMutex*pIMtxCs=new Cmutex;/Elastos mutex objectvoid entersystemCriticalsection(void)/P 操作 MutexLock(pIMtxCs);void exitsystemCriticalsection(void)/V 操作 MutexUnlock(pIMtxCs);另外,CLDC 还有一个非常重要的作用就是要实现网络通信,即要实现 TCP/IP,支持套接字,这对于实现 MIDP 的 0TA功能至关重要,因为未来的手机用途就是体现在宽带网络上,这也是智能手机操作系统应用服务的焦点。ElaME 的网络构件库中提供了方便的 CAR 构件 elasock,它将套接字进行了构件化,而且与 UNIX-socket 和 Winsock 全面兼容,因而在移植代码中,仅仅导入这个 DLL 文件,就可以调用该构件的方法。另外,ElaME 操作系统将 TCP/IP 协议的底层操作封装为一个lib,为上层网络操作提供了方法。所以利用 CAR 构件极大地方便了移植代码的编写,提高了效率。3.3 KVM 中 MIDP 移植的实现MIDP 对手机移动设备提供了特殊功能 API 和扩展类库,增强了 CLDC 的应用特性。MIDP 是直接面向用户的程序界面,因而要求在图形界面的显示上满足用户的要求。而且所有的 Java 程序(MIDlet)运行在 MIDP 之上,如游戏、应用软件、连接网络等,所以友好的图形界面和多媒体功能支持是必不可少的。由于 KVM 图形界面必须依赖于具体的操作系统环境,那么在整个移植过程中这部分的工作是最费时的。除了图形界面以外,MIDP 还必须支持多媒体音频和事件处理,提供用户最好的交互功能,而且 ElaME 在智能手机上运行都配备了触摸屏,所以事件处理上也要考虑具体的硬件功能部分。在 MIDP 图形用户界面移植中,利用了 ElaME 系统构件库中的图形构件 graphics,该 CAR 构件也是整个 ElaME 图形系统的核心。在 MIDP 的移植代码 nativegUI.cpp 中,导入这个graphics 构件,然后利用 graphics 构件提供的四个主要的系统接口:Igraphics,Ibitmap,IImage 和 IFont。标准的 MIDP 图形主界面是由两个部分组成,即窗口和应用程序窗口。为此利用Igraphics 接口类生成了两个实例,一个用来显示操作按钮区域,而另一个则是真正 MIDlet 程序运行后显示的区域。在实现图形的动态效果时,只需要对应用程序窗口进行重画,而且Ibitmap 接口非常好地支持了 Clipping 功能。例如,在应用程序窗口中有一个很小的区域发生了变化,那么系统是如何重画这一帧的呢?简单的代码描述如下:static Igraphics*pIgfxLCD=NULL;/应用程序屏幕static Ibitmap*pIbmpLCD=NULL;pIgfxLCD-setDestination(imageData)?(mybitmapstruct*)imageData)-bitmap:pIbmpLCD);/设置绘制的目标位图setupClip(pIgfxLCD,imageData,clip);/剪辑refreshPaintWindow(xl,yl,x2,y2);/重画部分区域,其他区域不变由于在 KVM 内无法处理中文,所以得借助 ElaME 的graphics 构件的 IFont 接口。IFont 是一个字体对象的接口,可以提供对多种文字的显示。其实,在 ElaME 内部构件化了一个字库解析构件,这个字库解析构件非常灵活,是以 DLL 文件的形式存在的,可以动态地挂接字符的点阵字模信息库,所以中文化问题也方便地解决了。在多媒体音频方面,ElaME 拥有多媒体构件库,提供了一个强大的 Isound 接口,它对音频处理和底层声卡的操作进行了封装。只需要在 waveout.c 移植代码中导入 sound.dll,调用声音处理函数就能使 KVM 支持多媒体音频,满足了 MIDlet 程序的需要。接下来,就需要来实现 MIDP 的事件处理。事件处理是与图形控件密不可分的,在图形界面上采用了一些 CAR构件和内部的图形控件,因而按照 CAR 图形构件的编程规范,只需要将控件和事件的触发消息联系起来,把事件处理函数和派发的事件处理消息相关联。由于 ElaME 内部拥有一套完善的面向构件的消息处理机制,在内核空间内维护着一个消息队列,在 MIDP 图形界面中的按钮只需 sendMessage(MEssAgE*pmsg),然后在内部的事件中心构件的控制下,将消息派发到具体的处理函数。3.4 KVM 性能的优化为了考虑 KVM 的运行效率,在移植过程也需要考虑利用各种手段来优化 KVM 的性能。在 KVM 内部提供了一些优化的机制,如开启 garbage collector 中的 compacting 功能,使在 Ja-va 堆内部移动或重新配置内存空间,减少碎片;使用一个单独的解释函数来解释那些不常被执行的字节码,即 slowInterpret。这些功能,在移植时都开启了,同时还考虑了实现大量的本地接口,使用这些本地接口,Java 程序就可以不经过解释器的解释而直接送给 ElaME 来执行,这在效率上大大改善了 KVM 的运行。如,将 Java.lang 中的 string 类和 stringbuffer 类的方法全部用 C 语言来实现;将 Javax.microedition.lcdui 中与 ElaME图形系统有关的类的方法用 C 语言来编写等。(下转第 30 页)72第 9 期叶 磊等:KVM 在基于构件的嵌入式操作系统上的移植和研究 if Overlap(CoutourRect,pNode-branch i.rect)returnpNode-branch i.child;(3)待判断等高线与保存在数组 pIndeX 中的等高线分别相交判断。(4)重复上述过程,直至所有等高线检查完毕。判断线段相交传统的方法是通过直接解二元一次方程组求得,Frankling 提出了利用栅格化方法缩小搜索范围,减少盲目判断,提高运算速度的方法8。这两种方法各有弊端,前者运算量大,速度慢;后者算法复杂。有的作者提出了采用混合积求交的方法判断线段相交9。本文采用包络矩形法,先判断等高线的包络矩形是否相交。该方法简单且减少判断范围。!实验分析本文提出的基于格网索引的重复点算法和基于 R 树索引的等高线相交检查算法,在VC+编程中实现,并与逐点(线)比较的扫描算法进行时间效率的比较,见图 3 和图 4。网格索引试验的时间包括建立索引的时间和扫描检查重复点的时间,R 树索引试验的时间包括建立索引和等高线相交判断的时间。实验环境的微机为 P!550HZ、128MB 内存配置,操作系统为Windows2000(SP3)。从图3 中可以看出,基于网格索引的重复点的算法的时间效率是非常明显的。当离散点的数量达到 16 万个点时,基于网格算法的时间在秒级,约 0.78s;而逐点扫描算法的时间上升到接近分钟级,约 89s。从图 4 中可看出,基于 R 树索引的线段等高线相交检查的时间效率是非常明显的。当等高线的数量达到 4 万条时,逐线扫描算法的时间已经很难容忍,时间为 1500.5s 约合 25min;而基于 R 树索引的算法的时间维持在秒级,约 21.5s。!结束语本文讨论了基于格网分块索引对离散点重复点检查和基于 R 树索引的等高线相交检查,并对效率进行试验分析。结果表明,格网分块索引和 R 树索引的引入,大大提高了重复点检查和等高线相交检查的时间效率,尤其在大数据量的条件下,效果尤为显著。文中提出的两种方法在 Visual C+6.0编译环境下调试通过,并作为海量 DEM 生成系统的数据质量检查模块得到了成功的应用。参考文献:1 刘建军,王东华,商瑶玲.数字化等高线质量的软件自动检查方法J.测绘科学,2001,26(4):36-39.2 华慧,刘大杰.地图数字化空间数据的质量控制 J.城市勘测,1997,(4):9-13.3 顾军,吴长彬.常用空间索引技术的分析 J.微型电脑应用,2001,17(12):40-43.4 Les A Piegl,Wayne Tiller.Algorithm for Finding All k NearestNeighbors J.Compuer-Aided Design,2002,34(2):167-172.5 Robert J,Renka.Multivariate Interpolation of Large Sets of ScatteredData J.ACM Transactions on Mathematical Software,1988,14(2):139-148.6 A Guttman.R-tree:Dynamic IndeX Stucture for Spatial SearchingC.Proc.ACM-SIGMOD.International Conference on Managementof Data,Boston,1984,47-57.7 Norbert Beckmann,Hans-Peter Kriegel,Ralf Schneider,!#$.TheR*-tree:An Efficient and Robust Access Method for Points and Rec-tangles C.Proc.ACM SIGMOD Conf.on Management of Data,1990.322-331.8 郭仁忠.空间分析 M.武汉:武汉测绘科技大学出版社,2000.207-209.9 李永红,华一新.一种快速判断线段相交的方法 J.测绘通报,2003,(7):30-31.作者简介:陈小红(1976-),男,硕士生,研究方向为 GIS 和数据库应用开发;潘懋(1954-),男,教授,博士生导师,研究方向为 GIS 和信息地质;吴焕萍(1977-),男,博士,研究方向为 GIS;杨峻辉(1980-),男,学士,研究方向为信息管理;朱雷(1973-),男,博士,研究方向为 GIS.(上接第 27 页)#总结本文阐述了 KVM 在基于构件的智能手机操作系统 ElaME上的移植过程,分析了工作原理和移植中的实现方式。随着Java 技术的发展,将会有更多 Java 应用程序运行在智能手机上,这一切都依赖于虚拟机 KVM。由于 KVM 是利用 CAR 构件和 ElaME 交互的,因而性能上得到了很大的保证。相信今后通过完善系统构件的功能,能够更好地支持 KVM 的运行。参考文献:1 Chen Rong.The Application of Middleware Technology in EmbeddedOS R.HangZhou:Workshop on Embedded System,In Conjunctionwith the ICYCS(6th),2001.1-3.2 CLDC Reference Implementation version 1.1EB/OL.http:/Ja- MIDP Reference Implementation version 2.0 FCS EB/OL.http:/J 潘爱民.COM 原理与应用 M.北京:清华大学出版社,1999.9-19.5 探矽工作室.深入嵌入式 Java 虚拟机 M.北京:中国铁道出版社,2003.283-329.作者简介:叶磊(1980-),男,湖北武汉人,硕士,主要研究方向为操作系统、计算机网络;陈榕(1957-),男,北京人,上海科泰世纪技术有限公司首席科学家,博士,主要研究方向为因特网操作系统、中间件技术、CAR 技术;赵岳松(1946-),男,上海人,副教授,主要研究方向为分布式操作系统、计算机网络。03计算机应用研究2005 年KVM在基于构件的嵌入式操作系统上的移植和研究KVM在基于构件的嵌入式操作系统上的移植和研究作者:叶磊,陈榕,赵岳松,YE Lei,CHEN Rong,ZHAO Yue-song作者单位:叶磊,赵岳松,YE Lei,ZHAO Yue-song(武汉理工大学,计算机科学与技术学院,湖北,武汉,430070),陈榕,CHEN Rong(上海科泰世纪科技有限公司,上海,201203)刊名:计算机应用研究英文刊名:APPLICATION RESEARCH OF COMPUTERS年,卷(期):2005,22(9)被引用次数:1次 参考文献(5条)参考文献(5条)1.探矽工作室 深入嵌入式Java虚拟机 20032.潘爱民 COM原理与应用 19993.MIDP Reference Implementation version 2.0 FCS 20044.CLDC Reference Implementation version 1.1 20045.Chen Rong The Application of Middleware Technology in Embedded OS 2001 引证文献(1条)引证文献(1条)1.施楚.丁喜波.刘辉.王佳.张菊 基于SPCA556G 卫星导航系统的JAVA软件平台移植期刊论文-佳木斯大学学报(自然科学版)2009(1)本文链接:http:/