基于虚拟机技术的安全驱动模型设计与实现

基于虚拟机技术的安全驱动模型设计与实现

论文摘要

设备驱动程序等内核扩展模块被认为是造成操作系统内核不稳定的主要原因,但是目前的主流操作系统采用的单内核设计对这些易出错的模块缺乏必要的隔离机制,造成这些模块中产生的错误影响到整个内核。本文结合现有的研究成果,提出了利用虚拟机技术将驱动程序与内核分离的架构,这样的做法实际上是由虚拟机来接管驱动程序的运行域,将驱动程序的行为限制在虚拟机中,而在驱动程序中发生的错误也将由虚拟机捕获,由虚拟机进行恰当的处理,使其不至于影响到内核的其他部分。使用虚拟机隔离的架构同时带来了通用性,通过跨平台的虚拟机平台支持,相同的驱动程序可以运行在多个不同的平台,这大大提高了程序的复用性。整个系统的实现使用用户态的Java虚拟机(JVM)将驱动程序与内核分离,在Linux系统中构建了新的驱动架构,并将原Linux内核中的USB驱动协议栈以及部分USB设备驱动移植到新的驱动架构中。在实现的过程中充分考虑了系统安全性及性能的平衡,采取了一些优化的措施。作为系统主体部分的JVM驱动程序,采用了面向对象的设计方式,提高了驱动程序的可扩展性和可维护性。对系统的测试主要集中在架构安全性以及系统的性能,测试结果表明,与原内核驱动程序相比,新的驱动架构表现出更高的稳定性,而在性能方面,对于时间和数据量要求不高的设备,其性能与原驱动程序相当接近;而对于需要进行大量数据处理的设备,其性能有一定程度的下降。综上,本课题提出的基于虚拟机技术的安全驱动模型能够提高整个系统的安全性,而对系统性能的影响在可接受的范围。课题中提出的使用虚拟机技术同时提供错误隔离环境和跨平台的通用驱动架构,具有创新意义。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 操作系统的不稳定性
  • 1.2 提高操作系统稳定性的研究
  • 1.2.1 对主流操作系统的改进
  • 1.2.2 新的操作系统模型
  • 1.3 虚拟化思想
  • 1.3.1 虚拟机技术的分类及应用
  • 1.3.2 虚拟机技术隔离驱动程序
  • 1.4 后续章节提要
  • 第2章 Linux操作系统及Java虚拟机介绍
  • 2.1 Linux操作系统架构及稳定性分析
  • 2.1.1 Linux内核结构
  • 2.1.2 Linux系统稳定性分析
  • 2.2 Java虚拟机及其安全性
  • 2.2.1 Java语言的特点
  • 2.2.2 Java虚拟机结构
  • 2.2.3 Java虚拟机的安全策略
  • 2.3 本章小结
  • 第3章 系统设计及安全性分析
  • 3.1 系统架构设计
  • 3.1.1 虚拟化设计
  • 3.1.2 虚拟机形态
  • 3.1.3 性能考虑
  • 3.1.4 系统设计
  • 3.2 系统分析
  • 3.2.1 与现有系统的兼容性
  • 3.2.2 系统运行的安全性
  • 3.2.3 通用驱动平台
  • 3.2.4 系统原型实现
  • 3.3 与已有研究成果的比较
  • 3.3.1 Nooks
  • 3.3.2 全新的下一代操作系统
  • 3.4 系统设计小结
  • 第4章 内核态驱动模块
  • 4.1 硬件抽象层
  • 4.1.1 主流硬件平台上的外设架构
  • 4.1.2 可靠通用的操作函数
  • 4.1.3 简洁灵活的接口
  • 4.2 内核管理模块
  • 4.2.1 通信中介
  • 4.2.2 资源管理
  • 4.2.3 系统实现
  • 4.3 安全机制分析
  • 4.3.1 自身代码的安全性
  • 4.3.2 安全监控作用
  • 4.4 系统性能考虑
  • 4.4.1 中断处理程序
  • 4.4.2 高效数据传输
  • 4.5 本章小结
  • 第5章 模块之间的通信机制
  • 5.1 进程间通信与Java本地接口
  • 5.1.1 Java本地接口
  • 5.1.2 进程间通信
  • 5.2 进程间通信的功能实现
  • 5.2.1 驱动程序间的通信
  • 5.2.2 驱动程序对应用程序的服务接口
  • 5.3 与内核模块的接口
  • 5.3.1 设备初始化
  • 5.3.2 数据访问与传输
  • 5.4 不同驱动之间的隔离
  • 5.4.1 USB设备的热插拔
  • 5.4.2 设备驱动的加载和卸除
  • 5.4.3 普遍意义下的驱动程序隔离
  • 5.5 模块间通信小结
  • 第6章 Java驱动程序设计
  • 6.1 面向对象的驱动程序架构
  • 6.1.1 驱动程序与对象描述
  • 6.1.2 USB驱动协议栈
  • 6.1.3 基于此架构的驱动程序开发
  • 6.2 多线程编程
  • 6.2.1 不同处理,不同速度
  • 6.2.2 多线程设计
  • 6.2.3 线程的有效同步
  • 6.2.4 线程池的使用
  • 6.3 异常与错误的捕获
  • 6.3.1 非严重异常
  • 6.3.2 严重异常
  • 6.4 与C语言实现驱动的比较
  • 6.4.1 宏的转换
  • 6.4.2 全局变量的处理
  • 6.4.3 内存指针的操作
  • 6.5 本章小结
  • 第7章 系统性能及安全性测试
  • 7.1 测试环境、设备及方法
  • 7.2 性能测试
  • 7.2.1 中断响应测试
  • 7.2.2 数据处理能力测试
  • 7.2.3 性能测试结果分析
  • 7.3 安全性测试
  • 7.3.1 程序错误的捕获能力
  • 7.3.2 程序不良行为的处理能力
  • 7.4 测试结果小结
  • 第8章 总结与展望
  • 8.1 操作系统稳定性的提高
  • 8.2 跨平台的通用驱动架构
  • 8.3 有待解决的问题
  • 8.4 未来的发展方向
  • 参考文献
  • 致谢
  • 攻读学位期间发表的学术论文
  • 相关论文文献

    • [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)

    标签:;  ;  ;  ;  ;  ;  

    基于虚拟机技术的安全驱动模型设计与实现
    下载Doc文档

    猜你喜欢