学位论文 > 优秀研究生学位论文题录展示

实时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

相似论文

  1. 数字家庭媒体系统设计与实现,TP311.52
  2. Java安全体系结构设计与实现,TP393.08
  3. 基于JDBC接口的嵌入式数据库在PDA上的应用研究,TP311.13
  4. 移动Java平台的研究与实现,TN929.5
  5. 基于SPARC的嵌入式异构多核Java处理器关键技术研究,TP332
  6. 基于ScratchPad Memory的实时性研究,TP368.11
  7. Java卡测试平台的设计与实现,TP311.52
  8. DT-JVM:分布式Java虚拟机的树型集成调度平台研究与设计,TP311.52
  9. 面向JAVA代码的加密及动态解密机制的研究与实现,TP309.7
  10. 虚拟化服务器管理系统的设计与实现,TP311.52
  11. 基于CK-CPU的Android系统之Dalvik移植及性能研究,TP368.1
  12. 基于JAVA语言的设计模式识别的研究与应用,TP311.52
  13. 基于JC3 Classic虚拟机的程序运行时间的估计,TN409
  14. 多任务虚拟机(MVM)系统架构的研究与应用,TP302
  15. 嵌入式Java虚拟机CLDC HotSpot实现分析、移植及优化,TP311.52
  16. 基于多核环境下的高效并发性垃圾收集器,TP311.52
  17. 基于“龙芯”平台的Java运行环境研究,TP312.2
  18. Java虚拟机关键机制研究与实践,TP312.1
  19. Java虚拟机内存管理及其实时性的研究,TP312.2
  20. 一种基于JAVA技术的实时中间件的研究与开发,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 软件工程 > 软件开发
© 2012 www.xueweilunwen.com