学位论文 > 优秀研究生学位论文题录展示

基于Linux的虚拟化技术研究和应用

作 者: 李绍
导 师: 罗省贤
学 校: 成都理工大学
专 业: 计算机软件与理论
关键词: 虚拟机 EPT 内存虚拟化 进程绑定 Intel VT-x
分类号: TP316.81
类 型: 硕士论文
年 份: 2011年
下 载: 179次
引 用: 4次
阅 读: 论文下载
 

内容摘要


虚拟化技术从20世纪60年代诞生到现在,经历了几十年的低潮后,在90年代随着计算机技术的发展再一次发展起来。操作系统领域一直以来面临的一个挑战来自于应用程序间存在的相互独立性和资源互操作性之间的矛盾,即每个应用程序都希望能够运行在一个相对独立的系统环境下,不受其他应用程序的干扰,同时又能够以方便有效的方式和其他应用程序共享和交换系统资源。传统的计算机操作系统缺乏对程序间独立性的有效支持,因此发展了虚拟化技术来解决这些问题,达到同一个计算机平台上运行多个相互独立的操作系统的目标。虚拟技术在最近几年得到了飞速发展,能够有效地提高处理器的利用率,并且处理器厂商相继推出了硬件支持虚拟化的处理器、芯片组等。现在虚拟化技术正逐步在系统软件中得到广泛应用。本文首先研究了计算机虚拟化技术的基本理论和机制,从虚拟化技术分类出发,研究完全虚拟化实现原理,以及全虚拟化中处理器虚拟化、内存虚拟化的实现技术;然后以基于硬件辅助虚拟化技术为目标,研究虚拟机VMX操作模式,并对基于Linux的KVM虚拟化方案进行深入探讨。在研究和总结基于Linux的KVM虚拟机实现原理与关键技术基础之上,本文着重研究了内存虚拟化技术以及基于Intel VT-x虚拟化技术的EPT机制,结合EPT页表地址转换方法,在特定需求下,提出并实现了一种内存虚拟化中EPT机制的优化方案,并将该优化方案应用到实际项目中。本文在研究过程中,分别对Linux分页地址转换方法和虚拟机EPT页表地址转换方法进行了分析测试。实验和分析表明,通过对EPT实现机制优化,进行页表的预分配可以达到为客户机分配固定内存大小的效果。基于处理器虚拟化的技术,本文还进行了Intel VT-x的VMCS技术的研究,并以此为出发点研究了虚拟处理器的创建、初始化与运行的具体实现,并依赖于VMCS技术和Linux进程绑定技术研究了虚拟机与处理器核心绑定的技术,设计并实现了一种虚拟机与处理器核心绑定的方案。本文在研究中对提出的优化方案和实现方案分别进行了大量的测试,其中包括对内存虚拟化中EPT页表的优化、虚拟机绑定实现和客户机内存申请的测试并对测试数据进行统计分析。测试结果的分析表明,本文提出的EPT页表优化方案和虚拟机绑定取得效果,通过长时间运行以及Benchmark、自写测试程序的验证,系统稳定,具有实际应用意义。

全文目录


摘要  4-6
ABSTRACT  6-11
第1章 前言  11-15
  1.1 研究背景及意义  11-12
  1.2 研究现状  12-13
    1.2.1 虚拟机软件研究现状  12-13
    1.2.2 基于Linux 内核的虚拟机KVM 研究现状  13
  1.3 研究内容  13-14
  1.4 论文结构  14-15
第2章 计算机虚拟化技术的机制与原理  15-25
  2.1 计算机虚拟化基本概念  15-17
    2.1.1 计算机虚拟化结构层次  15-16
    2.1.2 虚拟化技术的分类  16-17
  2.2 基于软件的完全虚拟化  17-19
    2.2.1 完全虚拟化的基本原理  18
    2.2.2 全虚拟化具体实现技术  18-19
  2.3 硬件辅助虚拟化  19-22
    2.3.1 Intel VT 虚拟化技术  20
    2.3.2 虚拟机操作模式简介  20-22
  2.4 基于Linux 的KVM 虚拟机实现原理  22-25
    2.4.1 KVM 虚拟化方案简介  22-23
    2.4.2 KVM 执行流程分析  23-25
第3章 内存虚拟化EPT 机制优化方法研究  25-36
  3.1 功能需求  25
  3.2 内存虚拟化的解决方案  25-27
    3.2.1 Linux 地址转换  25
    3.2.2 Linux 分页机制  25-26
    3.2.3 页表虚拟化思想  26-27
    3.2.4 内存隔离的实现方法  27
  3.3 基于EPT 页表的地址转换方法  27-30
    3.3.1 EPT 机制工作原理及实现  27-28
    3.3.2 基于EPT 技术的地址转换过程  28-30
    3.3.3 EPT 页表地址转换机制的优化方法  30
  3.4 详细设计  30-36
    3.4.1 主要的数据结构  30-33
    3.4.2 实现步骤  33-36
第4章 基于KVM 的处理器虚拟化及虚拟机绑定研究  36-47
  4.1 虚拟机与客户机间的模式切换分析  36-38
    4.1.1 VMCS 数据结构  36-37
    4.1.2 VM_Exit 流程  37-38
    4.1.3 VM_Entry 流程  38
  4.2 虚拟CPU 的结构及运行机制  38-41
    4.2.1 VCPU 结构体分析  38-39
    4.2.2 VCPU 的创建过程  39-40
    4.2.3 VCPU 的运行  40-41
  4.3 虚拟机绑定的设计方案  41-43
    4.3.1 研究目标  41
    4.3.2 设计思路  41-43
    4.3.3 虚拟机绑方法设计  43
  4.4 实现方法和步骤  43-46
    4.4.1 主要数据结构  43-44
    4.4.2 进程绑定的实现  44-46
  4.5 实现效果  46-47
第5章 测试及实验结果分析  47-59
  5.1 内存虚拟化中EPT 页表优化测试  47-51
    5.1.1 测试目标  47
    5.1.2 测试方法和步骤  47-48
    5.1.3 效果分析及结论  48-51
  5.2 虚拟机绑定测试  51-56
    5.2.1 测试目标  51
    5.2.2 测试方法和步骤  51-52
    5.2.3 效果分析与结论  52-56
  5.3 虚拟机内存申请测试  56-59
    5.3.1 测试项目目标  56
    5.3.2 测试方法描述  56-57
    5.3.3 效果分析与结论  57-59
结论  59-61
致谢  61-63
参考文献  63-65
攻读学位期间取得学术成果  65

相似论文

  1. 基于数字虚拟机的雷达装备网络化训考系统研究,TN957
  2. 基于启发式算法的恶意代码检测系统研究与实现,TP393.08
  3. Java卡性能优化技术研究,TN409
  4. 基于硬件计数器虚拟化的多虚拟机性能评测研究,TP302
  5. 基于硬件虚拟化的文件保护系统的研究,TP309
  6. 虚拟机监控器内存管理机制研究与实现,TP391.9
  7. 恶意软件行为分析及变种检测技术研究,TP309.5
  8. Siemens802D数控教学系统数控程序解释器的开发,TG659
  9. DT-JVM:分布式Java虚拟机的树型集成调度平台研究与设计,TP311.52
  10. 基于Intel VT硬件虚拟机内核研究与实现,TP302
  11. 基于Intel VT-d技术的虚拟机安全隔离研究,TP391.9
  12. SMART-VMM:基于VT-x的虚拟机监控器设计与实现,TP302
  13. 基于虚拟化技术的多桌面系统,TP302.1
  14. 虚拟机管理平台中的虚拟机代理服务机制研究,TP302.1
  15. 基于多核的虚拟机内协作Cache相关问题研究,TP332
  16. 轻型脚本引擎的研究与开发,TP311.11
  17. 虚拟机平台的设计与关键模块的实现,TP302
  18. 分布式系统性能测试与分析方法研究,TP311.52
  19. 基于虚拟机内存模板的云计算服务系统,TP393.09
  20. 基于JAVA语言的设计模式识别的研究与应用,TP311.52

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 操作系统 > 网络操作系统 > UNIX操作系统
© 2012 www.xueweilunwen.com