关于Java技术在嵌入式系统中的应用研究

2022-12-31

我们生活在这个飞速发展的信息时代, 随着C P U处理功能的日益强大、存储设备体积越来越小、价格的普遍下降以及安全技术的日趋完善, 具有内嵌处理器的设备 (移动电话、P D A (个人数字助理) 、机顶盒等) 变得很普遍。嵌入式设备需要安装有限的软件以处理特定的应用即可。然而, 现在用于嵌入式设备的各种软件还中主要是用C来编写的, 虽然使用C语言具有执行效率高的优点, 但是它具有两个很严重的缺点。

(1) C语言的灵活性可能导致不规范的程序编码和不稳定的执行过程。

(2) C语言缺乏关于多线程、共享数据的保护以及线程间通信和协作的统一标准, 不具有可移植性。

而J a v a语言使用少量的字节码即可完成任务、及其在网络上高度的可移植性、严格的规范和完善的安全机制都使得它非常适合于作为嵌入式设备的编程语言。我们将从体系结构、主要特点、关键问题、技术基础、相关标准、最新发展等方面做进一步的叙述。

1 体系结构

一般来说, 用于嵌入式设备的Jav a平台的体系结构由以下五层构成。

1.1 代码层

用户使用J a v a开发的各种应用程序。

1.2 Java类库

在代码层中所引用的各种JavaAPI。当编写Java程序时, 必将用到Java类库中所提供的各种A P I调用。

1.3 本地类库

J a v a代码中所引用的任何本地代码.该层将与Java虚拟机和RTOS共存于嵌入式设备。

1.4 平台层

由Java虚拟机和RTOS (real time operatingsystem:实时操作系统) 构成。其中Java虚拟机负责从内存中装载和执行Java类文件, 而R T O S则作为运行J a v a虚拟机的平台。

1.5 硬件层

由R T O S所管理的完整的硬件基础结构。其中, RTOS将解决Java虚拟机的所有运行需求问题并处理所有底层的任务 (如设备的引导和初始化等) , 提供线程调度、内存管理、网络连接以及外设管理等实际服务。

2 主要特点

用于嵌入式设备的J a v a程序和普通的J a v a程序不同处主要在以下几个方面:

(1) Java程序源代码将被编译为目标设备上的某种特殊的指令格式.

(2) 能够在缺少硬盘以及网络连接的情况下运行.

(3) 由被高度定制的、体积相对小的Java运行包所支持.

(4) 如果需要的话, 可以在多个处理器上执行。

3 关键问题

由于嵌入式设备数量巨大, 应用专一 (具体到某一种特定设备) , 这就决定了其硬件资源是非常有限的, 同时, 嵌入式设备对安全性、执行效率、事务处理等方面都有很高的要求。而标准J a v a类库占用了大量的硬件资源, 且在内存管理和执行程序低效, 阻碍了它在嵌入式设备中广泛应用。因此, 如何在保证Java基本优点不变 (如跨平台、安全、面向对象等) 的前提下, 开发出满足嵌入式设备需求的简单、高效的J a v a基础结构是一个必须面对的关键问题。

4 技术基础

经过业界的不懈努力, 用于嵌入式系统的J a v a技术取得了惊人进步

4.1 Java字节码执行技术

J V M的软件实现可以通过J a v a解释器、“及时”翻译器以及静态编译器将Java字节码解释或翻译为本地代码。

4.2 picoJava技术

picoJava是由Sun近来推出的, 使用该技术可以在硬件上直接执行J a v a字节码.picoJava的核心是使用Verilog注册传输语言 (R T L) 开发的。它支持硬件浮点运算、一个六级指令流水线、指令/数据缓存和一个堆栈管理单元。picoJava的出现是对传统的用软件实现的J V M的一场革命

4.3 ROMIzers技术

传统的Java虚拟机在当Java程序运行时, Java虚拟机需要将字节码从ROM (或其它存储设备) 拷贝到R A M中, 这是因为在Java程序执行之前, Java虚拟机首先需要检验每个相关的类文件以防止恶意代码对系统的攻击, 但这样做在保证安全的同时, 消耗了大量的R A M资源, 嵌入式设备中的主要存储资源是R O M。于是, R O M i z e r s技术出现了, 该技术可以对J a v a类文件进行预先“编译”, 允许Java虚拟机直接从ROM中执行这些编译后的类文件。这一技术改变了传统Java的“拷贝—检验—执行”模式, 节省了大量的R A M资源。

4.4 并行垃圾回收器

先进的并行垃圾回收器将持续操作, 并只在很短的时间内挂起用户进程, 而不必在垃圾回收阶段将悬挂起用户进程这非常适合嵌入式实时系统。

4.5 硬件设备的访问

JavaSoft在Java操作系统中, 定义了一个包含本地方法的类, 这些本地方法可以高效地进行内存访问和数据处理。

4.6 精简的Java类库

精减传统的类库, 使之适合嵌入式设备有限的硬件资源。

5 相关标准

S u n及其合作伙伴已经针对各种类型的嵌入式设备对标准Java作出了相应的修改, 产生了精简的Java类库和各种相关的标准:例如Personal Java (也称为Java Applet环境) , 主要针对需要G U I (图形用户接口) 和执行applet能力的网络连接设备, 如智能电话、手持式P D A (个人数字助理) 等。目前Personal Java的最新版本为PersonalJava1.1。

6 最新发展

目前, IBM开发出了运行在小型Internet设备上的嵌入式Java浏览器软件NetDriver;N S I发布了主要用于连接嵌入式操作系统和嵌入式设备的J S C P软件协作处理器;NewMonics开发出了用于嵌入式实时系统和消费类电子产品的FERC, ISOL和Pervasive公司则将它们的微型S Q L数据库安装到基于Java的智能卡中;WebPhone (一种可以访问Internet的电话) 中使用Personal Java软件;另外, W e b T V正逐步推广J a v a操作系统到机顶盒产品中我们相信:随着Java技术的不断成熟和进步, 它必将在嵌入式系统这个领域中开拓出一片自己广阔的天地。

摘要:随着技术的进步, 嵌入式设备正变得流行起来;另一方面, Java的安全性、跨平台性以及其它众多优点使得它非常适合于嵌入式系统。本文探讨了基于Java的嵌入式系统的一些方面的问题, 从中可以认识到Java在嵌入式设备中的巨大应用潜力.

关键词:嵌入式系统,Java

参考文献

[1] (美) danield.gajski.嵌入式系统的描述与设计[M].机械工业出版社, 2005~7.

[2] 吴国伟.嵌入式操作系统原理及应用开发[M].北京航空航天大学出版社, 2007~1.

[3] (美) Tom.Myers, Alexander NakhimovskyJava XML编程指南[M].电子工业出版社.

上一篇:英语教学课前准备策略探究下一篇:大数据时代下企业管理模式创新措施