搜索新闻

Java虚拟机用于数字电视机顶盒研究与实现

J2ME中的CDC移植的解决方案
来源:中国有线电视 更新日期:2007-10-15 作者:佚名
内容导航:  分页浏览 | 全文浏览

   执行引擎处于Java虚拟机的核心位置,它的行为由指令集所决定,其主要作用就是解释字节码(即运行经过编译后的Java程序的class文件),不同的执行引擎实现可能非常不同。由软件实现的虚拟机的执行引擎分为一次性解释字节码、即时编译器和自适应优化器,由硬件芯片构成的虚拟机用本地方法执行Java字节码,它的执行引擎是内嵌在芯片里。

    Java虚拟机相当于一个堆栈计算机,它在指令间传送信息时不使用任何物理寄存器,而使用堆栈的帧来表示方法的状态、字节码的操作对象、方法的参数空间及局部变量的空间,它的“程序计数器”为一个伪寄存器,是当前所执行指令的字节码数组的一个指针。

    Java实现方法

    Java有两种实现方法:Java方法和本地方法。Java方法是由Java语言编写,编译成字节码,存储在class文件中。本地方法是由其他语言(比如C,C++,或者汇编语言)编写的,编译成和处理器相关的机器代码,保存在动态连接库中,格式是各个平台专有的,它是联系Java程序和底层主机操作系统的连接方法。Java方法与平台无关,但是本地方法却不是,运行中的Java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法。通过本地方法,Java程序可以直接访问底层操作系统的资源,使程序和特定的平台相关,一个本地方法接口——Java本地接口(JNI)使得本地方法可以在特定的主机系统的任何一个Java平台上运行。

    J2ME中的CDC移植的解决方案

    我们选用的要移植的Java虚拟机是Sun公司提供的J2ME对于数字电视领域CDC配置,该虚拟机是针对Linux的软件实现(用C语言编写的虚拟机,该虚拟机也称为CVirtualMachine,简称CVM)。Java虚拟机规范并没有强求Java虚拟机必须支持任何特定的本地方法接口,但是Sun公司提供了本地方法接口(JavaNativeInterface),是为移植所用。Java程序通过调用本地方法和主机交互。

    Java虚拟机

图2Java虚拟机的位置

图2Java虚拟机的位置

    虚拟机处于嵌入式操作系统OS20上,因此Sun公司提供的Java虚拟机中与底层操作系统相关的操作都应该替换为OS20的内核函数。因此将Sun公司提供的CDC移植到OS20需要完成一些工作,比如:C语言中关于基本数据类型的数据位的修改,关于线程的创建机制(OS20为任务),关于线程之间的同步、互斥,关于动态连接的实现,关于本地方法的实现等,本节主要介绍关于本地方法的实现过程。

 标签:
本文导航
推荐液晶电视品牌
广告联系:010-82755684 | 010-82755685 手机版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影时代网 版权所有 关于投影时代 | 联系我们 | 欢迎来稿 | 网站地图
返回首页 网友评论 返回顶部 建议反馈
快速评论
验证码: 看不清?点一下
发表评论