基于Java语言的操作系统设计与实现技术研究

基于Java语言的操作系统设计与实现技术研究

论文摘要

随着网络技术的迅速发展,人们对普适计算的需求越来越高。传统的操作系统加中间件的方式已经不能满足普适计算的需求。普适计算需要既具有平台无关性又具有高安全性的新型操作系统。利用Java语言来开发操作系统不仅可以实现平台无关性,而且可以解决缓冲区溢出等安全问题。但是Java操作系统为我们带来优势的同时,也带来了许多挑战。本文分别针对Java操作系统的体系结构设计、Java对象行为规律、全系统垃圾收集算法以及Java操作系统的实现技术展开深入研究。体系结构的设计是操作系统技术的基础。本文结合Java语言的特点,研究了Java操作系统的体系结构设计技术。在新的体系结构下,研究了以JTOC(Java Table of Contents)为基础的进程软隔离技术,通过确定进程的“内存边界”和“接口边界”来实现进程间的隔离。提出Java操作系统需要将垃圾收集技术和系统的存储管理相结合实现全系统的垃圾收集技术,从而实现安全高效自动的内存管理。Java对象生命行为规律可以为垃圾收集算法的设计提供重要依据,但目前对Java运行时程序行为的分析还是基于10多年前的统计数据,由于当时的软硬件环境和现在差别较大,所以前人的分析数据已经不能满足需求。本文设计实现了Java对象生命行为的追踪统计框架和E-Merlin程序精确追踪算法,实现了对象生命行为的追踪。应用此框架对SPECjvm98中的测试程序进行追踪后,通过对追踪结果进行解析和统计发现:1)Java对象几乎平均分布在5个范围之内,每类对象中,边界对象占绝大多数;2)Java对象在内存中的组织类似一个深度很浅的大胖树,在根下,挂了很多小的Java对象簇,而且对象聚集成簇的现象非常普遍。目前的垃圾收集算法都是针对应用进程设计的,如果直接作为系统的垃圾收集算法,由于不能和系统的内存管理相配合,所以性能低下。本文在深入研究了经典垃圾收集算法(引用计数、标记清扫、半区复制和分代算法)和新型垃圾收集算法(火车算法,Mark-Copy算法)原理的基础上,基于Mark-Copy算法,利用系统内存管理机制和Java对象的内存行为规律,设计实现了全系统垃圾收集算法——FSMC(Full System Mark-Copy)。经过测试,FSMC算法相对于Mark-Copy算法节省了20%以上的时间,取得了较好的效果。本文基于X86平台设计实现了Junicorn原型系统。Junicorn系统的硬件抽象层采用C和汇编语言实现,完成系统的引导和硬件设备的初始化并对上层提供基本的硬件控制与中断处理服务。微内核层基于JikesRVM实现了动态编译引擎,基于分代式垃圾收集算法实现了系统垃圾收集器,并设计了中断异常服务框架,目前可以处理X86中的大多数异常(如缺页异常,除法异常等),提供了时钟中断和键盘中断处理服务。目前Junicron支持键盘和显示器两种设备,可以在华硕EPC上运行SPECjvm98中的测试程序。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 背景
  • 1.1.1 选题背景
  • 1.1.2 相关研究
  • 1.2 本文工作
  • 1.3 论文结构
  • 第二章 Java 操作系统的体系结构设计
  • 2.1 Java 语言的特点
  • 2.1.1 类型安全
  • 2.1.2 平台无关
  • 2.1.3 垃圾收集
  • 2.2 现代操作系统的体系结构
  • 2.2.1 单一内核结构
  • 2.2.2 微内核结构
  • 2.3 Java 操作系统体系结构的特点
  • 2.3.1 单地址微内核
  • 2.3.2 进程软隔离技术
  • 2.3.3 全系统垃圾收集技术
  • 2.4 Java 操作系统总体结构
  • 2.5 本章小结
  • 第三章 Java 对象生命行为规律研究
  • 3.1 Java 对象行为追踪统计框架的设计
  • 3.2 E-Merlin 追踪算法
  • 3.2.1 Merlin 追踪算法的不足
  • 3.2.2 E-Merlin 追踪算法的设计
  • 3.3 统计结果分析
  • 3.3.1 Java 对象大小分布规律
  • 3.3.2 Java 对象引用拓扑
  • 3.4 本章小结
  • 第四章 Java 操作系统自动存储管理技术研究
  • 4.1 经典垃圾收集算法研究
  • 4.1.1 引用计数
  • 4.1.2 标记清扫
  • 4.1.3 半区复制
  • 4.1.4 分代式收集
  • 4.2 新型垃圾收集算法研究
  • 4.2.1 火车算法
  • 4.2.2 Mark-Copy 算法
  • 4.3 FSMC 全系统垃圾收集算法的设计
  • 4.3.1 FSMC 堆的布局和管理
  • 4.3.2 FSMC 算法原理
  • 4.3.3 性能测试与分析
  • 4.4 本章小结
  • 第五章 Java 操作系统动态编译引擎技术
  • 5.1 JikesRVM 动态编译技术研究
  • 5.1.1 JikesRVM 动态编译技术分析
  • 5.1.2 JikesRVM 性能分析
  • 5.2 内嵌式动态编译引擎的设计和实现
  • 5.2.1 动态编译器
  • 5.2.2 运行时环境
  • 5.3 本章小结
  • 第六章 Junicorn 原型系统
  • 6.1 X86 体系结构概述
  • 6.1.1 系统寄存器
  • 6.1.2 内存管理
  • 6.1.3 中断和异常
  • 6.2 Junicorn 系统总体结构
  • 6.3 Junicorn 系统硬件抽象层的设计和实现
  • 6.3.1 系统引导
  • 6.3.2 系统初始化
  • 6.3.3 中断异常处理
  • 6.4 Junicorn 微内核层的设计和实现
  • 6.4.1 自动内存管理
  • 6.4.2 中断服务
  • 6.4.3 设备管理
  • 6.5 系统构建和调试
  • 6.5.1 Junicorn 操作系统的镜像构建
  • 6.5.2 基于Simics 的Java 系统调试技术
  • 6.6 本章小结
  • 第七章 总结与未来工作
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    • [1].国产嵌入式操作系统发展思考[J]. 单片机与嵌入式系统应用 2019(12)
    • [2].基于操作系统思想的智慧校园架构设计[J]. 中国教育信息化 2020(05)
    • [3].全球第二大操作系统死亡倒计时[J]. 办公自动化 2020(06)
    • [4].国产操作系统的机遇与挑战[J]. 电脑知识与技术 2020(14)
    • [5].计算机嵌入式操作系统初探[J]. 计算机产品与流通 2020(11)
    • [6].国产操作系统生态体系建设现状分析[J]. 信息安全研究 2020(10)
    • [7].自主开发操作系统并建设生态[J]. 办公自动化 2019(11)
    • [8].国产操作系统期待“通吃”任重道远[J]. 上海企业 2019(10)
    • [9].Linux操作系统环境下常见故障的探讨[J]. 信息与电脑(理论版) 2018(11)
    • [10].一种便携式操作系统的多媒体应用模式探索[J]. 中国教育技术装备 2016(24)
    • [11].一种云操作系统的虚拟化层连接方法研究[J]. 电脑知识与技术 2017(17)
    • [12].嵌入式操作系统这么多,哪一个适合你?[J]. 单片机与嵌入式系统应用 2017(09)
    • [13].掌握网络空间安全的主动权[J]. 汕头大学学报(人文社会科学版) 2017(05)
    • [14].嵌入式操作系统的发展过程及发展趋势[J]. 信息与电脑(理论版) 2014(22)
    • [15].高职《操作系统》课程教学改革的策略研究[J]. 云南社会主义学院学报 2014(04)
    • [16].国产操作系统的技术特点及应用范围研究[J]. 电脑知识与技术 2015(04)
    • [17].《操作系统》课程教改的探讨[J]. 山西科技 2015(03)
    • [18].基于透明计算的云操作系统[J]. 电子制作 2015(12)
    • [19].云操作系统的安全性思考[J]. 企业技术开发 2015(24)
    • [20].编新闻、瞎评论HOT or COLD?[J]. 电脑爱好者 2009(20)
    • [21].浅谈计算机嵌入式操作系统[J]. 电脑迷 2017(03)
    • [22].浅析嵌入式操作系统的应用与发展[J]. 无线互联科技 2013(11)
    • [23].操作系统究竟可以做到多小[J]. 软件和信息服务 2010(09)
    • [24].操作系统[J]. 小学生时空 2009(03)
    • [25].“3+4”分段培养模式中操作系统课程资源的建设[J]. 计算机时代 2020(11)
    • [26].安装操作系统常见问题解决[J]. 网络安全和信息化 2020(05)
    • [27].鸿蒙操作系统打造生态的路径思考[J]. 单片机与嵌入式系统应用 2019(10)
    • [28].国产嵌入式操作系统迎来百花齐放的新时代——“国产嵌入式操作系统技术与产业发展论坛”圆满结束[J]. 单片机与嵌入式系统应用 2019(10)
    • [29].国产操作系统研发对系统能力培养的需求与实践[J]. 计算机工程与科学 2018(S1)
    • [30].安卓系统的应用及发展趋势[J]. 技术与市场 2016(12)

    标签:;  ;  ;  ;  ;  ;  ;  

    基于Java语言的操作系统设计与实现技术研究
    下载Doc文档

    猜你喜欢