电能受限的手持设备中KVM的移植与性能调优

电能受限的手持设备中KVM的移植与性能调优

论文摘要

作为J2ME的核心组件,KVM被广泛地应用于各种手持设备中,如智能手机、PDA等。这些设备有着共同的特点:使用电池作为主要能源。如何设计这些手持设备的硬件和软件,使其能够在有限的电能下运行时间更长、性能更好,是一个值得深入研究的课题。KVM在智能手机等手持设备上的移植和优化工作从未间断,专家和学者们纷纷从各个角度提出自己的观点和解决方案:垃圾回收、多线程、计时器等等。本文首先讨论了针对特定平台的KVM的移植过程;然后从如何节省KVM的电能消耗入手,以内存管理机制作为切入点,实现了KVM在内存管理机制上的优化,从而达到了节省电能的目的。本文研究了J2ME架构及其相关的技术、KVM技术、对象缓存技术以及垃圾回收技术;参考了KVM移植文档,实现了KVM向智能手机平台的移植,并在移植的过程中进行性能调优,同时给出实验数据作为依据。在实现KVM移植的基础之上,本文重点研究了KVM的内存管理和垃圾回收机制,结合Linux系统内核中Slab Layer的概念,在KVM中加入了对象缓存支持。实验证明,在加入了对象缓存的概念后,KVM整体性能有了一定的提高。本文完成的工作和创新点主要包括:实现了KVM向特定平台的移植,移植的过程中进行了性能调优;研究并分析了KVM的内存管理和垃圾回收机制,讨论了KVM的内存组织结构和垃圾回收算法的具体实现;研究并分析了Linux内核中Slab Layer的原理和实现机制;在KVM中加入对象缓存支持,并在实验的基础上验证了优化方案的可行性和正确性。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 引言
  • 1.2 研究重点、研究方法及章节安排
  • 1.2.1 研究重点
  • 1.2.2 研究方法
  • 1.2.3 章节安排
  • 1.3 本章小节
  • 第二章 相关研究
  • 2.1 嵌入式Java 技术
  • 2.1.1 CLDC 概述
  • 2.1.1.1 CLDC 的目标
  • 2.1.1.2 CLDC 的整体需求
  • 2.1.1.3 CLDC 的硬件需求
  • 2.1.1.4 CLDC 的软件需求
  • 2.1.1.5 CLDC 的功能范围
  • 2.1.2 MIDP 概述
  • 2.2 KVM 技术
  • 2.2.1 KVM 概述
  • 2.2.2 KVM 执行流程
  • 2.3 对象缓存技术
  • 2.4 垃圾回收技术
  • 2.4.1 垃圾回收算法概述
  • 2.4.1.1 经典算法
  • 2.4.1.2 现代算法
  • 2.4.2 KVM 的垃圾回收算法
  • 2.5 本章小节
  • 第三章 KVM 的移植
  • 3.1 移植的目标平台
  • 3.2 KVM 参考实现的代码结构
  • 3.2.1 VmCommon
  • 3.2.2 VmExtra
  • 3.2.3 其他目录
  • 3.3 KVM 移植的具体实现
  • 3.3.1 编译器选项及宏定义
  • 3.3.1.1 编译器常规选项
  • 3.3.1.2 系统配置常规选项
  • 3.3.1.3 内存分配选项
  • 3.3.1.4 垃圾回收选项
  • 3.3.1.5 解释器执行选项
  • 3.3.2 相关文件及函数
  • md.h'>3.3.2.1 machinemd.h
  • md.c'>3.3.2.2 runtimemd.c
  • 3.3.2.3 main.c
  • 3.3.2.4 基本C 函数库支持
  • 3.4 本章小节
  • 第四章 KVM 的内存管理和垃圾回收机制
  • 4.1 Java 类和对象的内部表示
  • 4.1.1 Java 类的内部表示
  • 4.1.1.1 Java 类的类型
  • 4.1.1.2 Java 类加载的状态迁移
  • 4.1.1.3 Java 类的内部表示结构
  • 4.1.2 Java 对象的内部表示
  • 4.1.2.1 Java 对象的类型
  • 4.1.2.2 Java 对象的内部表示结构
  • 4.1.2.3 Java 对象的内部存储
  • 4.2 KVM 的内存管理机制
  • 4.2.1 Heap Space 的结构
  • 4.2.2 KVM 启动过程和内存分配
  • 4.2.3 栈空间结构
  • 4.3 KVM 的垃圾回收机制
  • 4.3.1 垃圾回收算法
  • 4.3.2 存在的问题与可能的解决方案
  • 4.4 本章小节
  • 第五章 KVM 的内存管理优化
  • 5.1 Slab Layer 技术
  • 5.1.1 Slab Layer 技术概论
  • 5.1.2 Linux 内核中Slab Layer 实现的分析
  • 5.2 内存管理优化的实现
  • 5.2.1 Slab Layer 模块的实现
  • 5.2.2 缓存模块的实现
  • 5.2.3 slab 模块的实现
  • 5.3 测试与分析
  • 5.3.1 Fibonacci 数列计算
  • 5.3.2 线程创建
  • 5.3.3 多类创建
  • 5.3.4 测试总结
  • 5.4 本章小节
  • 第六章 总结与展望
  • 6.1 关键性问题
  • 6.2 主要结论
  • 6.3 研究展望
  • 参考文献
  • 附录A 核心实现代码
  • 致谢
  • 参与课题及已发表论文
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    电能受限的手持设备中KVM的移植与性能调优
    下载Doc文档

    猜你喜欢