设备虚拟化关键技术研究
发布时间:2020-11-06 11:23
随着系统虚拟化技术的不断发展,处理器虚拟化和内存虚拟化在功能上逐步完善,性能也日益提高。但设备虚拟化仍然是制约虚拟化整体性能的瓶颈所在,因此为VMM提供高效的设备虚拟化模型是目前系统虚拟化中亟待解决的问题之一。 设备虚拟化的目标是为客户机提供可复用的虚拟设备,需要在满足客户机对设备透明访问的同时,保证设备访问的可靠性、高效性和安全性。现有的设备虚拟化模型面临的主要问题在于驱动程序给VMM本身带来的安全风险,设备更新和系统升级的不便性,IO处理延迟等。 针对上述问题,本文采用了另一种形式的分离驱动模型,借助多核平台将特权域从虚拟机中转移到了一个IO处理机中。该IO处理机以对等的形式与VMM同时运行在一台机器上,能够消除由于调度引发的IO处理延迟,同时避免频繁的特权级切换。在此基础上, 本文设计了通用的设备虚拟化模型,主要内容包括以下四个方面: 1、虚拟设备构造。利用客户机启动对其BIOS的依赖,按照真实系统配置以及用户的要求完成客户机BIOS数据配置为客户机提供一套虚拟的设备映像,使得客户机可以通过虚拟BIOS完成对设备的检测。 2、IO操作截获与解析。利用处理器或内存虚拟化技术截获客户机向虚拟设备发起的IO请求,并进一步对IO请求信息进行解析,以获得具体的IO请求内容,向设备模型提供IO信息来源。 3、数据地址空间转换。IO请求处理过程中,涉及到数据在客户机地址空间、VMM地址空间、IO共享数据区之间的传递,完成了三者之间的地址转换。 4、关键设备模拟。采用软件模拟方式完成了设备模拟的一般实现方法并实现了DMA控制器和网卡的基本功能。通过对DMA和网卡的模拟,VMM可以响应客户机的DMA请求并完成部分网络传输功能,具有较好的性能。 测试表明,本文实现的DMA虚拟化操作相较于非虚拟化环境下DMA操作性能有将近15%的损耗,实现的网卡虚拟化性能比非虚拟化环境降低了22%左右,略高于目前的DMA和网卡实现,但与非虚拟化环境相比也有一定的差距。这表明本文设计的设备虚拟化模型一定程度上能够提高IO性能,具备通用、稳定特性,可以为下一步的系统虚拟化设计与改进提供指导意义。
【学位单位】:解放军信息工程大学
【学位级别】:硕士
【学位年份】:2011
【中图分类】:TP332
【文章目录】:
表目录
图目录
摘要
ABSTRACT
第一章 绪论
1.1 课题背景
1.1.1 虚拟化定义
1.1.2 虚拟机和虚拟机监控器
1.1.3 虚拟化技术应用
1.2 系统虚拟化研究历程
1.2.1 系统虚拟化的历史
1.2.2 系统虚拟化研究现状
1.2.3 系统虚拟化中的问题与解决方案
1.3 课题来源和研究内容
1.4 论文组织结构
第二章 设备虚拟化技术研究
2.1 设备虚拟化概述
2.2 设备虚拟化的关键问题
2.3 设备虚拟化解决方案
2.3.1 VMM 直接驱动方式
2.3.2 VMM 分离驱动方式
2.3.3 硬件辅助设备虚拟化
2.4 Intel VT-x 技术
2.5 Intel VT-d 技术
2.5.1 直接设备访问机制
2.5.2 DMA 重映射机制
2.5.3 中断重映射机制
2.6 多核平台中的设备虚拟化问题
2.7 本章小结
第三章 设备虚拟化模型设计
3.1 设备虚拟化的研究基础
3.2 设备虚拟化需求分析
3.3 基于协作型VMM 的设备虚拟化模型
3.4 设备虚拟化模型子系统设计方案
3.4.1 虚拟设备构造子系统
3.4.2 IO 操作截获与解析子系统
3.4.3 数据地址空间转换子系统
3.4.4 设备模拟子系统
3.5 模型设计中的关键问题分析
3.6 本章小结
第四章 设备虚拟化模型实现
4.1 基于虚拟BIOS 的设备构造
4.1.1 设备构造内容
4.1.2 外围设备构造
4.1.3 用户配置信息
4.1.4 处理器配置表构造
4.1.5 物理内存布局构造
4.2 IO 操作的截获与解析
4.2.1 IO 操作信息描述
4.2.2 IO 操作截获
4.2.3 IO 指令解析
4.2.4 MMIO 解析
4.3 数据地址空间转换
4.3.1 读操作中的地址转换
4.3.2 写操作中的地址转换
4.4 本章小结
第五章 关键设备模拟实现
5.1 设备模拟实现思路
5.1.1 设备模拟的基本方法
5.1.2 设备模拟的必要内容
5.2 模拟DMA 实现
5.2.1 8237A 工作原理分析
5.2.2 8237A 寄存器构造
5.2.3 8237A 端口属性与分配
5.2.4 8237A 数据处理流程
5.3 模拟网卡实现
5.3.1 8390 工作原理分析
5.3.2 8390 端口属性与分配
5.3.3 8390 数据处理流程
5.4 本章小结
第六章 测试与分析
6.1 测试环境和目的
6.2 指令截获和转换测试
6.3 DMA 测试与分析
6.4 网卡测试与分析
6.5 本章小结
结束语
一、论文工作总结
二、工作展望
参考文献
作者简历 攻读硕士学位期间完成的主要工作
一、 个人简历
二、 攻读硕士学位期间发表的学术论文
三、 攻读硕士学位期间的科研情况
致谢
【参考文献】
本文编号:2873076
【学位单位】:解放军信息工程大学
【学位级别】:硕士
【学位年份】:2011
【中图分类】:TP332
【文章目录】:
表目录
图目录
摘要
ABSTRACT
第一章 绪论
1.1 课题背景
1.1.1 虚拟化定义
1.1.2 虚拟机和虚拟机监控器
1.1.3 虚拟化技术应用
1.2 系统虚拟化研究历程
1.2.1 系统虚拟化的历史
1.2.2 系统虚拟化研究现状
1.2.3 系统虚拟化中的问题与解决方案
1.3 课题来源和研究内容
1.4 论文组织结构
第二章 设备虚拟化技术研究
2.1 设备虚拟化概述
2.2 设备虚拟化的关键问题
2.3 设备虚拟化解决方案
2.3.1 VMM 直接驱动方式
2.3.2 VMM 分离驱动方式
2.3.3 硬件辅助设备虚拟化
2.4 Intel VT-x 技术
2.5 Intel VT-d 技术
2.5.1 直接设备访问机制
2.5.2 DMA 重映射机制
2.5.3 中断重映射机制
2.6 多核平台中的设备虚拟化问题
2.7 本章小结
第三章 设备虚拟化模型设计
3.1 设备虚拟化的研究基础
3.2 设备虚拟化需求分析
3.3 基于协作型VMM 的设备虚拟化模型
3.4 设备虚拟化模型子系统设计方案
3.4.1 虚拟设备构造子系统
3.4.2 IO 操作截获与解析子系统
3.4.3 数据地址空间转换子系统
3.4.4 设备模拟子系统
3.5 模型设计中的关键问题分析
3.6 本章小结
第四章 设备虚拟化模型实现
4.1 基于虚拟BIOS 的设备构造
4.1.1 设备构造内容
4.1.2 外围设备构造
4.1.3 用户配置信息
4.1.4 处理器配置表构造
4.1.5 物理内存布局构造
4.2 IO 操作的截获与解析
4.2.1 IO 操作信息描述
4.2.2 IO 操作截获
4.2.3 IO 指令解析
4.2.4 MMIO 解析
4.3 数据地址空间转换
4.3.1 读操作中的地址转换
4.3.2 写操作中的地址转换
4.4 本章小结
第五章 关键设备模拟实现
5.1 设备模拟实现思路
5.1.1 设备模拟的基本方法
5.1.2 设备模拟的必要内容
5.2 模拟DMA 实现
5.2.1 8237A 工作原理分析
5.2.2 8237A 寄存器构造
5.2.3 8237A 端口属性与分配
5.2.4 8237A 数据处理流程
5.3 模拟网卡实现
5.3.1 8390 工作原理分析
5.3.2 8390 端口属性与分配
5.3.3 8390 数据处理流程
5.4 本章小结
第六章 测试与分析
6.1 测试环境和目的
6.2 指令截获和转换测试
6.3 DMA 测试与分析
6.4 网卡测试与分析
6.5 本章小结
结束语
一、论文工作总结
二、工作展望
参考文献
作者简历 攻读硕士学位期间完成的主要工作
一、 个人简历
二、 攻读硕士学位期间发表的学术论文
三、 攻读硕士学位期间的科研情况
致谢
【参考文献】
相关期刊论文 前2条
1 董耀祖;周正伟;;基于X86架构的系统虚拟机技术与应用[J];计算机工程;2006年13期
2 周斌;张莹;;虚拟化技术性能分析与比较[J];现代计算机(专业版);2009年05期
相关硕士学位论文 前3条
1 时光;基于VT-x的处理器虚拟化技术研究[D];解放军信息工程大学;2010年
2 王晓睿;虚拟机监控器体系结构研究[D];解放军信息工程大学;2010年
3 孙昱;虚拟机Xen及其实时迁移技术研究[D];上海交通大学;2008年
本文编号:2873076
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2873076.html