Last Modified: 2003.05.12 TimeSys Refimp(RTSJ JVM)安装说明(by huihoo.org Cocia Lin) 概述实时java虚拟机是专门用来执行符合RTSJ规范的java程序的虚拟机。RTSJ1.0规范刚刚发布。所以支持他的虚拟机还不太多。比较著名的有JRate和TimeSys Refimp。Jrate是在GCJ的基础上进行的扩展。GCJ的一个特点是,能够将java源代码编译成的本地代码运行,这些编译过得本地代码需要历来CGJ运行库来运行。 Refimp是按照传统得虚拟机运行方式实现的,通过翻译java指令到操作系统指令运行。 因为这两种虚拟机都遵循rtsj1.0规范,所以绝大多数rtsj程序能够兼容着两种虚拟机。不同的只是配置和系统方面。这里只介绍Refimp的配置方法。Jrate的配置方法,请参考相关资源。 操作系统要求如果要使用refimp全部功能,需要使用TimeSys公司的Realtime Linux:TimeSys Linux.但他也能在通用的Linux上运行,但需要损失一些特性。例如优先级抢占继承机制。笔者已经在Redhat8.0和Mandrake9.0上测试过,可以正常运行。对于学习要求,建议使用通用的Linux,安装配置都很简单,可以直奔主题。这问使用的是Mandrake9.0 JDK要求Refimp仅仅是一个rtsj的虚拟机,不包括编译环境。所以它不能处理java源程序。需要JDK将java源程序编译成class,然后Refimp才能执行。Refimp要求JDK1.2以上版本。本文使用JDK1.4.1。 Linux下JDK的配置,请参考相关资源。本文要求,JDK安装完成之后,设置好系统PATH,将JDK的 bin目录包含其中。设置好JAVA_HOME,CLASSPATH,包含JDK本身需要的信息,并且将realtime包加入到CLASSPATH中,这样才可以编译包含javax.realtime的程序。Realtime包是/home/tjvm/lib/foundation.jar;这是为了便于工作,在任何目录下都可以很容易的编译和执行java程序。 下载解压按照本文后边的参考,下载得到rtsj_ri-1.0.tar.gz。将文件拷贝到/home中,准备解压。 解压命令: cd /home tar -xzvf rtsj_ri-1.0.tar.gz 新的文件夹名称是refimp-1.0,其中包含所有jvm文件。 为了以后工作的方便,给这个目录做一个链接 ln -s refimp-1.0 tjvm 进入此目录 cd tjvm 基本配置rtjvm用到很多实时线程特性,而这些特性,普通的linux是不考虑的,所以需要稍微扩展一下linux的功能。这一步很简单, cd pthreadrt make 提示复制文件成功,线程部分完成。 再就是需要配置Heap内存和Immortal(不朽)内存的尺寸。在不做任何调整的情况下,默认的Heap内存为4MB,不修内存为2MB。这里我们不作调整。有兴趣修改此参数,请参阅产品文档。 至此,配置完成。 运行例子程序Refimp的jvm启动命令在bin目录下。./tjvm -Djava.class.path= 现在tjvm中新建一个目录mytest,便于存放我们将要写的例子程序。现在的目录结构下面这个样子。 假如我的HelloWorld.class现在就放在mytest中,我们就可以这样来运行 cd mytest ../bin/tjvm -Djava.class.path=. HelloWorld 其中 下面我们来写这个HelloWorld.java,放在mytest目录下。 编译和执行程序 结束至此,Refimp基本安装成功。还有一些细节的参数调整,请参考相关资源。参考Huihoo Power!企业计算研究中心 http://www.huihoo.com 开放企业基金会 http://www.huihoo.org Real-Time Java Expert Group http://www.rtj.org jRate Web: http://tao.doc.wustl.edu/~corsaro/jRate TimeSys Refimp1.0 http://www.timesys.com/index.cfm?hdr=java_header.cfm&bdy=java_bdy_ri.cfm 在Linux上安装JDK http://www.cn-java.com/target/news.php?news_id=566 Vi 使用说明 http://www.fanqiang.com/a1/b5/20010623/190500648.html |