学位论文 > 优秀研究生学位论文题录展示
实时Java平台的配套软件工具包设计及实现
作 者: 苏超云
导 师: 涂时亮
学 校: 复旦大学
专 业: 计算机系统结构
关键词: 实时Java平台 Java虚拟机 Java处理器 实时Java规范 类预处理器 最坏情况执行时间 垃圾收集器
分类号: TP311.52
类 型: 硕士论文
年 份: 2010年
下 载: 78次
引 用: 1次
阅 读: 论文下载
内容摘要
随着普适计算和移动计算的发展,嵌入式系统的开发与应用日渐备受关注。各种嵌入式设备不断涌现,对系统开发的效率提出了更高的要求。与传统的嵌入式开发语言C/C++和汇编语言相比,Java语言由于其纯粹的面向对象、语法结构简单易学、平台独立性、语言级支持并发、安全等特性,在嵌入式领域中的应用越来越广泛。同时Sun公司陆续推出一系列的Java嵌入技术,为Java在各种有联网要求的消费式电子系统中应用提供了支持。但是传统的Java技术应用于具有实时特性的嵌入式系统上,存在一些不足:Java语言规范要求延迟解析和初始化类,这会对实时程序的运行造成不可预测的延迟;垃圾收集器虽然减轻了程序员对内存管理的负担,但是它的调度不受开发人员控制,对实时系统特别是硬实时系统来说带来了不确定性;目前绝大多数Java虚拟机还支持即时编译(JIT),即动态地将使用频率较高的方法编译为本地机器码,这个过程也是不可预测的;Java规范没有严格的线程优先级声明,使得Java虚拟机并不能保证优先级高的线程永远运行。这些都造成了Java在实时系统中应用的困境,为了使Java能在实时嵌入式设备上发挥其优势,Sun公司联合IBM、Microware等公司制定了实时Java规范(RTSJ),定义了Java在实时环境中的行为,为实时Java平台的实现提供了参考。随着RTSJ的推出,对实时Java平台的研究和实现成为了关注的热点。根据国家自然科学基金项目---高可靠实时系统的计算平台(SoPC)研究(基金号:60703106)[1],本研究小组提出了一种对RTSJ支持的实时Java平台。本文主要针对Java应用于实时嵌入式系统中存在的问题以及相关技术进行分析,并为该实时平台提供了一个软件工具包。实时Java平台主要由执行引擎和支持实时性的软件环境组成。执行引擎有多种实现方式,包括基于软件的解释执行;提前编译;即时编译;Java硬件加速器以及Java处理器等。本研究小组设计并实现了基于Java处理器的执行引擎——Jpor32(Java Processor Optimized for RTSJ),将程序执行分为2个阶段:预处理和执行。类预处理器作为软件工具包中重要的组成部分,提前把标准Class文件中CISC的Java字节码转换成RISC指令码,并且消除了影响实时性能的操作,比如动态装载和解析类的过程,并最终生成一个结构清晰的可供Jpor32直接执行的内存映像文件,从而大大简化了实时Java处理器的设计复杂性。Jpor32由5级流水线组成,目前可以提供对大部分Java字节码的支持,采用预处理和微程序相结合的方式来保证Java字节码的流水线执行。支持实时性的软件环境也是实时Java平台必不可少的组成部分。主要由实时类库和实时操作系统组成。本文主要针对类库进行了分析和实现,首先通过对CLDC规范进行裁剪实现了核心类库,而后根据RTSJ从实时线程、内存管理、同步、调度、异步事件、异步控制转移和实时时钟等方面对类库进行了实时扩展。另外为了以后扩展的需要,对实时操作系统中的实时垃圾回收机制进行了分析。最后为了保证Jpor32的实时性,结合处理器的特性,利用静态的方法对其最坏情况执行时间(WCET)进行了分析,并得出结论。
|
全文目录
摘要 5-7 Abstract 7-9 第1章 绪论 9-14 1.1 研究背景与意义 9-11 1.2 研究目标 11-12 1.3 本文结构安排 12-14 第2章 Java虚拟机规范 14-24 2.1 Java Class文件 14-18 2.1.1 Java Class文件格式 14-15 2.1.2 常量池 15-16 2.1.3 Class文件中的字段 16 2.1.4 Class文件中的方法 16-17 2.1.5 属性 17-18 2.2 Java虚拟机 18-20 2.2.1 Java虚拟机体系结构 18-19 2.2.2 类装载器子系统 19-20 2.3 垃圾回收 20-22 2.3.1 垃圾回收算法 20-21 2.3.2 Sun J2SE 6 HotSpot的垃圾回收 21-22 2.4 Java虚拟机指令集 22-24 第3章 嵌入式Java和实时Java 24-39 3.1 Personal Java和Embedded Java 24-25 3.2 J2ME规范 25-26 3.2.1 CLDC 25-26 3.2.2 CDC 26 3.3 Java Card Platform 26-27 3.4 实时Java规范 27-35 3.4.1 实时系统 27-28 3.4.2 实时Java规范 28-35 3.4.2.1 实时线程 29-30 3.4.2.2 调度 30-31 3.4.2.3 同步机制 31 3.4.2.4 内存管理 31-33 3.4.2.5 异步事件处理 33-34 3.4.2.6 异步控制转移 34-35 3.4.2.7 时钟和定时器 35 3.4 实时垃圾回收算法 35-38 3.4.1 基于工作的垃圾回收 35 3.4.2 基于时间的垃圾回收 35-36 3.4.3 Henriksson的垃圾回收 36-38 3.5 本章小结 38-39 第4章 实时Java处理器Jpor32 39-45 4.1 Jpor32体系结构 39-42 4.1.1 五级流水线 39-40 4.1.2 操作数栈和局部变量 40-41 4.1.3 Jpor32寄存器 41-42 4.2 内存映像格式和内存分布 42-44 4.3 Jpor指令集 44 4.4 本章小结 44-45 第5章 类预处理器 45-58 5.1 预处理流程 45-46 5.2 类的组织 46 5.3 预处理指令 46-53 5.3.1 new指令 47-48 5.3.2 anewarray指令 48 5.3.3 getstatic指令 48-49 5.3.4 putstatic指令 49 5.3.5 getfield指令 49-50 5.3.6 putfield指令 50 5.3.7 Idc/ldc_w指令 50-51 5.3.8 iinc指令 51 5.3.9 跳转指令 51 5.3.10 invokevirtual指令 51-52 5.3.11 invokespeical指令 52-53 5.3.12 invokestatic指令 53 5.4 预处理结果及分析 53-57 5.5 本章小结 57-58 第6章 实时Java平台类库 58-83 6.1 标准Java类库 58-68 6.1.1 包java.1ang 58-62 6.1.2 包java.util 62-65 6.1.3 包java.io 65-68 6.2 实时Java类库 68-82 6.2.1 调度API 69-73 6.2.2 实时线程API 73-74 6.2.3 内存模型API 74-76 6.2.4 同步控制API 76-77 6.2.5 实时时钟API 77-79 6.2.6 异常事件API 79-80 6.2.7 异步控制转移API 80-82 6.3 本章小结 82-83 第7章 WCET分析 83-95 7.1 WCET分析中的问题 83-85 7.1.1 数据依赖控制流(Data-Dependent Control Flow) 83-84 7.1.2 上下文相关的执行时间 84 7.1.3 时间异常 84-85 7.2 WCET技术 85-88 7.2.1 时间分析常见的方法 85-86 7.2.2 静态方法 86-88 7.2.3 基于测量的方法 88 7.3 Jpor32的WCET分析及结果 88-94 7.4 本章小结 94-95 第8章 结论与展望 95-98 附录:Jpor32的指令集 98-103 参考文献 103-105 致谢 105-106
|
相似论文
- 数字家庭媒体系统设计与实现,TP311.52
- Java安全体系结构设计与实现,TP393.08
- 基于JDBC接口的嵌入式数据库在PDA上的应用研究,TP311.13
- 移动Java平台的研究与实现,TN929.5
- 基于SPARC的嵌入式异构多核Java处理器关键技术研究,TP332
- 基于ScratchPad Memory的实时性研究,TP368.11
- Java卡测试平台的设计与实现,TP311.52
- DT-JVM:分布式Java虚拟机的树型集成调度平台研究与设计,TP311.52
- 面向JAVA代码的加密及动态解密机制的研究与实现,TP309.7
- 虚拟化服务器管理系统的设计与实现,TP311.52
- 基于CK-CPU的Android系统之Dalvik移植及性能研究,TP368.1
- 基于JAVA语言的设计模式识别的研究与应用,TP311.52
- 基于JC3 Classic虚拟机的程序运行时间的估计,TN409
- 多任务虚拟机(MVM)系统架构的研究与应用,TP302
- 嵌入式Java虚拟机CLDC HotSpot实现分析、移植及优化,TP311.52
- 基于多核环境下的高效并发性垃圾收集器,TP311.52
- 基于“龙芯”平台的Java运行环境研究,TP312.2
- Java虚拟机关键机制研究与实践,TP312.1
- Java虚拟机内存管理及其实时性的研究,TP312.2
- 一种基于JAVA技术的实时中间件的研究与开发,TP311.52
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com
|