南阳理工学院.docx
- 文档编号:27474764
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:13
- 大小:646.71KB
南阳理工学院.docx
《南阳理工学院.docx》由会员分享,可在线阅读,更多相关《南阳理工学院.docx(13页珍藏版)》请在冰豆网上搜索。
南阳理工学院
南阳理工学院
本科生毕业设计(论文)
学院(系):
软件学院
专业:
软件工程
学生:
指导教师:
完成日期2016年04月
南阳理工学院本科生毕业设计(论文)
CPU的虚拟化技术
TheCPUvirtualizationtechnology
总计:
毕业设计(论文)9页
表格:
0个
插图:
3幅
南阳理工学院本科毕业设计(论文)
CPU的虚拟化技术
TheCPUvirtualizationtechnology
学院(系):
软件学院
专业:
软件工程
学生姓名:
学号:
指导教师(职称):
评阅教师:
完成日期:
南阳理工学院
NanyangInstituteofTechnology
CPU的虚拟化技术
软件工程高笛
1[摘要]CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
CPU:
中央处理器(CPU,英语:
CentralProcessingUnit),是电子计算机的主要设备之一,电脑中的核心配件。
其功能主要是解释计算机指令以及处理计算机软件中的数据。
电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。
VT技术:
英特尔的硬件辅助虚拟化技术(VirtualizationTechnology,简称VT技术)是一种设计更简单、实施更高效和可靠的方法,是世界上首个X86平台的硬件辅助虚拟化解决方案。
它对如何在不同的情形下分配给GuestOS(虚拟机上的操作系统)想要的Ring特权级别做了很好的改进。
CPU的虚拟化技术就是一台电脑能够去控制好几台电脑,在很大程度上提升了电脑的速度。
[关键词]CPU虚拟化;CPU;VT技术
TheCPUvirtualizationtechnology
SoftwareEngineeringMajorGaoDi
1Abstract:
CPUvirtualizationtechnologyisasingleCPUsimulationofmulti-cpuparallel,allowaplatformtorunmultipleoperatingsystemsatthesametime,andtheapplicationcanberuninseparatespaceandmutualinfluence,soastoimprovetheworkingefficiencyofthecomputer.CPU:
theCentralProcessingUnit(CPU,English:
CentralProcessingUnit),isoneofthemainequipmentoftheelectroniccomputer,thecorecomponentsinacomputer.Itsfunctionismainlytoexplaindatainacomputerinstructionanddealingwithcomputersoftware.AlloperationsinthecomputerbytheCPUisresponsibleforreadinginstruction,thecorepartsofinstructiondecodeandexecutesinstructions.IntelVTTechnology:
auxiliaryhardwareVirtualizationTechnology(VirtualizationTechnology,VTTechnologyforshort)isakindofdesignissimplerandmoreefficientandreliablemethod,istheworld'sfirstX86hardwareassistedVirtualizationsolutions.HowaboutitindifferentcasesareassignedtotheGuestOS(operatingsystemvirtualmachine)wanttheRingofprivilegelevelsmadegreatimprovements.TheCPUvirtualizationtechnologyisacomputertobeabletocontrolseveralcomputers,toagreatextent,improvedthespeedofthecomputer.
CPU;VTtechnology;CPUvirtualization
目录
1绪论1
1.1论文的意义1
2CPU虚拟化的作用和描述2
2.1CPU虚拟化技术的描述2
2.2CPU虚拟化的作用2
3CPU虚拟化技术的核心3
3.1CPU的虚拟化技术3
3.2CPU的虚拟化技术怎样开启4
3.3CPU虚拟化技术的核心6
4CPU虚拟化给我们带来的改变…………………………………………………………….7
结束语9
参考文献10
致谢11
1绪论
所谓虚拟化,是指将单台电脑软件环境分割为多个独立分区,每个分区均可以按照需要模拟电脑的一项技术。
它的技术实质是通过中间层次实现计算资源的管理和再分配,使资源利用实现最大化。
虚拟化分区带来的最大好处是使同一个物理平台能够同时运行多个同类或不同类的操作系统,以分别作为不同业务和应用的支撑平台。
虚拟化有两种实施方式:
传统的纯软件虚拟化方式(无需CPU支持VT技术)和硬件辅助虚拟化方式(需CPU支持VT技术)。
纯软件虚拟化运行时的开销会造成系统运行速度较慢,有数据表明其引起的系统性能下降可能达5%-20%。
所以支持VT技术的CPU在基于虚拟化技术的应用中,效率将会明显比不支持硬件VT技术的CPU的效率高出许多。
现在CPU的VT技术就是:
为了提升Windows7的兼容性(因为目前多数软件都是基于XP或下开发的),Windows7为用户提供了一种称为XP模式的功能,这个XP模式可以让用户在Windows7中运行基于XP系统开发的软件。
个人觉我们也不必太过于去在意自己的计算机是否支持VT技术,因为并不是每个人都能用得到的,比如说对于普通游戏玩家和家庭用户,这个XP模式可以说几乎是用不到的,毕竟现在XP系统已老化,需要新的系统取代。
而vstart系统因为损耗资源很大,没多少人接受。
而Windows7结合了XP和vstart得优点,功能强大且消耗低。
现在通过先出的几个版本来看,效果不错,受到了很多用户欢迎。
并且现在都有相当多的常用软件和相当多的游戏都能很好的兼容Windows7系统了,可以这样说,虽然现在XP系统仍是主流,但是将来Windows7必定会是XP的完美替代者,现阶段,游戏开发商和软件开发商将不得不考虑他们所开发的游戏和软件能否在Windows7系统环境下完美的运行,所以我们大可不必过多的担心由于无法在Windows7中开启XP模式而会影响到我们的正常使用,但是如果你是计算机发烧友、软件开发者或计算机专业技术人士,或者是企业用户,那么是否需要VT技术是非常值得考虑的。
1.1论文的意义
CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
传统的软件虚拟化严重占系统资源,无法提高工作效率。
纯软件虚拟化解决方案存在很多限制。
“客户”操作系统很多情况下是通过VMM(VirtualMachineMonitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。
(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。
)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位茫。
如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。
这种转换必然会增加系统的复杂性。
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。
虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。
由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。
另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。
而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。
完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。
即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
2CPU虚拟化的作用和描述
2.1CPU虚拟化技术的描述
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。
虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。
由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。
CPU:
中央处理器(CPU,英语:
CentralProcessingUnit),是电子计算机的主要设备之一,电脑中的核心配件。
其功能主要是解释计算机指令以及处理计算机软件中的数据。
电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的核心部件。
VT技术:
英特尔的硬件辅助虚拟化技术(VirtualizationTechnology,简称VT技术)是一种设计更简单、实施更高效和可靠的方法,是世界上首个X86平台的硬件辅助虚拟化解决方案。
它对如何在不同的情形下分配给GuestOS(虚拟机上的操作系统)想要的Ring特权级别做了很好的改进。
2.2CPU虚拟化的作用
CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
3CPU虚拟化技术的核心
3.1CPU的虚拟化技术
通常我们选购CPU的时候·,对于这项CPU虚拟化技术的支持,通常并不在意,因为这是我们日常应用的所接触不到的环节,对于一些资深人员提到虚拟化并不陌生。
这项技术在传统的大型机和Unix系统上早已是很普及了,但因为桌面处理器大都使用X86架构,这决定了在其之上使用硬件级虚拟化技术的难度,拥有虚拟化技术可以令一台主机同时于运行多种操作系统,两大CPU巨头英特尔和AMD都想方设法在虚拟化领域占得先机,但是AMD的虚拟化技术在时间上要比英特尔落后几个月。
英特尔自2005年末开始便在处理器产品线中推广Virtualiza-tionTechnology(IntelVT)虚拟化技术,在一些主流的处理器中开始支持这一技术。
相比Intel来讲,AMD也已经发布支持AMDVirtualizationTechnology(AMDVT)虚拟化技术的一系列处理器产品,并且绝大多数的AMD主流处理器都支持,这点比Intel要厚道一些,因为Intel即使一些入门级四核产品也有不支持的型号。
现在我们来说说CPU虚拟化的的概念:
简单说来,CPU的虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。
多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
传统的软件虚拟化严重占系统资源,无法提高工作效率,纯软件虚拟化解决方案存在很多限制。
“客户”操作系统很多情况下是通过VMM(VirtualMachineMonitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。
(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。
)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位茫。
如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。
这种转换必然会增加系统的复杂性。
硬件虚拟化可以支持64位系统,使用大容量内存,提高效率。
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。
虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。
由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。
另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。
而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。
完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。
即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
3.2CPU的虚拟化技术怎样开启
目前主流的CPU都支持虚拟化技术,但是有些电脑的bios出厂时是默认cpu虚拟化是关闭的,那么,我们如何开启CPU虚拟化功能呢?
下面就让我们一起看一下详细步骤。
如图3-1所示。
图3-1CPU虚拟化检测
一、首先要看看自己的电脑CPU是否支持虚拟化技术,这里推荐大家使用一款名为“securable工具”查看。
下载后打开securable工具,之后会开始检测电脑CPU是否支持虚拟化。
如果“HardVirtualization”下面是YES那么就支持。
如图3-2所示。
图3-2检测是否支持CPU虚拟化
二、如果CPU支持,我们就可以进入bios开启了。
具体步骤是重启电脑,然后按Del键进bios,以我自己的电脑bios为例。
首先切到“Configuration”选项,然后找到“InterVirtualTechnology”项,将选项值改为“Enabled”即可。
如图3-3所示。
图3-3进入bios开启
以上就是CPU虚拟化的检测和开启方法。
找到BIOS的ADVANCEDCPUCOREFEATURES(以技嘉主板为例),并修改你需要的选项。
如果没有这个选项的话,就需要升级BIOS。
(其他品牌主板对应的英文不一样,但都大同小异,理解一下英文即可)很多主板默认支持虚拟化,当然有些低端主板本身就不支持虚拟化,需要看主板说明书。
不支持虚拟化的主板升级BIOS也没用。
虚拟化是CPU支持的,跟主板关系不大,高端一般都支持。
另外AMD的大部分都支持,有极个别特殊的主板不支持的。
AMDCPU都支持虚拟化。
下面是INTEL支持虚拟化的CPU列表.
Intel支持虚拟化(VT)CPU列表
Intel®Core™i7Processor
SLBCK2.93GHzI7-94044.8GT/s45nmC08MBLGA13668
SLBCH2.66GHzI7-92044.8GT/s45nmC08MBLGA13668
Intel®Core™i7ProcessorExtremeEdition
SLBCJ3.20GHzI7-96546.4GT/s45nmC08MBLGA13668
Intel®Core™2DuoDesktopProcessor
SLB9L3.33GHzE860021333MHz45nmE06MBLGA7756
SLAPK3.16GHzE850021333MHz45nmC06MBLGA7756
SLB9K3.16GHzE850021333MHz45nmE06MBLGA7756
3.3CPU虚拟化技术的核心
分枝预测(branchprediction)和推测执行(speculatlonexecution)是CPU动态执行技术中的主要内容,动态执行是目前CPU主要采用的先进技术之一。
采用分枝预测和动态执行的主要目的是为了提高CPU的运算速度。
推测执行是依托于分枝预测基础上的,在分枝预测程序是否分枝后所进行的处理也就是推测执行。
由于程序中的条件分枝是根据程序指令在流水线处理后结果再执行的,所以当CPU等待指令结果时,流水线的前级电路也处于空闲状态等待分枝指令,这样必然出现时钟周期的浪费。
如果CPU能在前条指令结果出来之前就能预测到分枝是否转移、那么就可以提前执行相应的指令,这样就避免了流水线的空闲等待、相应也就提高了CPU的运算速度。
但另一方面一旦前指令结果出来后证明分技预测错误,那么就必须将已经装人流水线执行的指令和结果全部清除,然后再装人正确指令重新处理,这样就比不进行分枝预测等待结果后再执行新指令还慢了(所以IDT公的WINC6就没有采用分枝预测技术)。
这就好象在外科手术中,一个熟练的护士可以根据手术进展情况来判断医生的需要(象分枝预测)提前将手术器械拿在手上(象推测执行)然后按医生要求递给他,这样可以避免等医生说出要什么,再由护士拿起递给他(医生)的等待时间。
当然如果护士判断错误,也必须要放下预先拿的器械再重新拿医生需要的递过去。
尽管如此,只要护士经验丰富,判断准确率高,那么当然就可以提高手术进行速度。
因此我们可以看出,在以上推测执行时的分枝预测准确性至关重要!
所以通过InteI公司技术人员的努力,现在的Pentium和pentiumII系列CPU的分枝预测正确率分别达到了80%和90%,这样虽然可能会有2O%和10%分枝预测错误但平均以后的结果仍然可以提高CPU的运算速度。
纯软件虚拟化解决方案存在很多限制。
“客户”操作系统很多情况下是通过VMM(VirtualMachineMonitor,虚拟机监视器)来与硬件进行通信,由VMM来决定其对系统上所有虚拟机的访问。
(注意,大多数处理器和内存访问独立于VMM,只在发生特定事件时才会涉及VMM,如页面错误。
)在纯软件虚拟化解决方案中,VMM在软件套件中的位置是传统意义上操作系统所处的位茫。
如处理器、内存、存储、显卡和网卡等)的接口,模拟硬件环境。
这种转换必然会增加系统的复杂性。
4CPU虚拟化给我们带来的改变
CPU的虚拟化技术是一种硬件方案,支持虚拟技术的CPU带有特别优化过的指令集来控制虚拟过程,通过这些指令集,VMM会很容易提高性能,相比软件的虚拟实现方式会很大程度上提高性能。
虚拟化技术可提供基于芯片的功能,借助兼容VMM软件能够改进纯软件解决方案。
由于虚拟化硬件可提供全新的架构,支持操作系统直接在上面运行,从而无需进行二进制转换,减少了相关的性能开销,极大简化了VMM设计,进而使VMM能够按通用标准进行编写,性能更加强大。
另外,在纯软件VMM中,目前缺少对64位客户操作系统的支持,而随着64位处理器的不断普及,这一严重缺点也日益突出。
而CPU的虚拟化技术除支持广泛的传统操作系统之外,还支持64位客户操作系统。
虚拟化技术是一套解决方案。
完整的情况需要CPU、主板芯片组、BIOS和软件的支持,例如VMM软件或者某些操作系统本身。
即使只是CPU支持虚拟化技术,在配合VMM的软件情况下,也会比完全不支持虚拟化技术的系统有更好的性能。
想象一下,一个操作系统几乎不需花任何时间就可被启动,即使它崩溃了,你只需简单地将它剔除出去,同时立即装载一个新的。
如果你正在同时运行几个操作系统,当你准备给其中一个载入新的映像时,你可马上将它关闭,并把该系统正在处理的工作分流给其他系统运行。
如果你有5个RedHat的副本正在运行Apache服务器软件,而其中一个因满负荷而停止响应,没问题,你只需简单地将响应请求转交给其他4个系统处理,同时重启那个停止工作的系统就行了。
如果你已为你正在运行的操作系统存储了一份“快照”,那么每当有一些不愉快的事情发生时你都可重新启动它,例如被黑客攻击、感染病毒。
从一个安全的分区载入映像并修复好它就行了。
虚拟化还可让用户毫不费时地重新安装操作系统而不需像以往使用Ghost那样去安装设备驱动。
你可简单地就像使用普通程序那样去载入、卸载和存储操作系统。
虚拟化技术给人们带来了惊喜,它让我们可在硬件级别上完成计算机的虚拟化工作。
目前时机成熟了,CPU中引入该技术,这让更多的用户都能涉足到新技术的应用,大大提高了用户使用处理器的效率,编写VMM不再那么困难了。
不过我们也要清醒地认识到,现有的虚拟技术不会马上消失,相反它们会变得更为普遍,随着电脑硬件的价格走低,且系统开销问题得到改善,而大型服务器提供商们也不会在现有的技术上发生巨大的变化,毕竟目前还用得过去。
因此VT想要取代现有的计算机虚拟技术或得到人们的认同还需一段时间。
可我们相信硬件级别的虚拟化技术毋庸置疑的是未来计算机发展的方向,有着灿烂的前途。
结束语
本设计方案基本达到了任务书的要求,对CPU虚拟化的分析虽然很浅显易懂,但也很容易让人理解。
由于我是第一次接触云计算虚拟化,对云计算的认识不算深入,时间、水平和经验有限,虽然系统的核心模块基本完成,但是设计仍有不足之处,界面的设计仍有待改善。
此次的毕业设计,让我第一次亲身体验完成一个大的项目所要经历的过程,认识到了软件开发与一般软件开发的不同之处,同时也让我意识到了自学的重要性,实践的重要性,极大的锻炼了我的动手能力。
毕业设计中遇到的问题,也使我积累了解决问题的经验和知识,认识到优秀的编程习惯十分重要,这些收获都将成为我今后学习与生活的宝贵经验。
参考文献
[1]吴朱华,云计算核心技术剖析北京:
人民邮电出版社
[2]雷万云,云计算技术,平台以及应用案例北京:
清华大学出版社
[3]刘鹏,云计算[M]北京:
电子工业出版社
[4]程菊生,云存储虚拟化技术[j]华为技术
[5]许豪,云计算导论西安:
电子科技大学出版社
[6]王庆波,虚拟化与云计算[M].北京:
电子工业出版社
致谢
首先,感谢我的指导老师陈可。
感谢您平时的教导以及做毕业设计以来耐心
的技术支持。
历时将近两个月的时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南 阳 理 工 学 院.docx