论文部分内容阅读
由于Java作为当前一种主流的面向对象编程语言,具有其它语言不可比拟的优点。它的可移植性、安全性、开发效率高等特点能够保证应用项目得到快速的开发和部署。在嵌入式系统开发中,也需要Java这种面向对象编程语言来满足各种需求。其中,Java虚拟机所提供的垃圾收集机制不但可以帮助程序员从繁重的内存管理方面的编程负担中解脱出来,而且可以使系统资源得以更有效地利用。这个机制对于资源受限的嵌入式实时系统来说是一个特殊的用途,可是垃圾收集器执行时间的不可预测性对于Java语言在嵌入式实时系统中的应用有着很多障碍。为了消除这个缺点,我们必须使垃圾收集器的执行时间可以预测。如果它的执行时间是可以预测的,我们就可以通过调度垃圾收集器的方式来保证整个实时系统的可调度性,并且减小内存使用空间。
根据对嵌入式实时系统和自动内存管理系统的分析,我们从实时调度算法的功能角度提出了为自动内存管理系统选择算法需要遵循的主要原则,并在此原则指导下,选择了增量式垃圾收集算法作为本系统的算法并陈述了选择的理由。
为了使垃圾收集器的行为表现为执行时间受限,我们做了一些有关影响垃圾收集器执行时间的因素和使用垃圾收集器对整个任务集合运行影响的分析。基于以上这种分析,我们又研究了实时任务集和自动内存管理系统的可调度性。
本文中,我们研究了自动内存管理系统的几种主要算法,Java语言在实时系统中的扩展——实时Java和增量式垃圾收集器,具有垃圾收集线程和其它实时线程的混合线程集,做出了任务集的可调度性判定。