CPU虚拟化技术

简介: 一、Binary Translation 二、Para-Virtualization三、硬件辅助虚拟化四、对比

CPU虚拟化技术

 

目录:

一、Binary Translation

二、Para-Virtualization

三、硬件辅助虚拟化

四、对比

 

 

内容介绍:

cpu虚拟化技术。要介绍一个背景知识,知道在当今世界里边,X86架构是非常非常主流的,从手机到PC再到服务器都在使用X86架构,X86架构,但是X86架构有个天生的缺点,就是设计的时间比较早,比如在上世纪70年代,当时只是为PC设计,没有考虑虚拟化的需求,也就是说很多的指令,都不支持虚拟化,这就会造成在虚拟化的情况下,客户机的操作系统,很多指令没办法运行的。

 

一、Binary Translation

实现复杂 性能损失

最开始由VMware和微软使用

由于X86架构不支持虚拟化,为了能够更好的支持虚拟化,需要用该技术把这些操作不支持虚拟化技术的指令找出来,然后将动态的补丁替换掉。

其特点是需要扫描。所有操作系统的指令,然后进行替换,也会引起很多的问题,如性能损失等。

 

 

二、Para-Virtualization

通过静态的修改,使得之前不支持CPU的指令不想需进行动态化的扫描替换。而不需要再进行动态的扫描过程。

 

该技术大大提高了CPU虚拟化的效率,能够实现98%的虚拟化。

是准虚拟化或者半虚拟化,这个技术是由剑桥大学计算机实验室发明的。

 

通过静态的去修改该死的操作系统的源码,使这些不支持cpu虚拟化的指令,然后能够提前替换掉。而不需要再做动态扫描跟扫描替换,在一定程度上大大提高了cpu虚拟化的效率。


这个技术一出现之后,当时,比如cpu虚拟化的效率是可以做到98%,是要远远高于向banner translation这样这种50%-60%cpu


三、硬件辅助虚拟化

从芯片设计的角度就可以支持虚拟化技术。


2004年因特尔公司和AMD公司先后发布了新的cpu规范,在新的cpu规范里加入了硬件辅助的虚拟化技术,也就是说可以从芯片设计的角度就能够支持虚拟化技术。


设计之初,其实没有考虑对虚拟化技术的支持,那么是否可以通过修改X86架构来实现虚拟化技术?答案当然是肯定的。


2004年的时候,AMD、英特尔公司和AMD公司。然后先后发布了新的cpu规范,在新的cpu规范里边就加入了硬件辅助的虚拟化技术,也就是说。从芯片设计的角度就可以去支持虚拟化技术,这就是后来的VTX技术和SDM技术。

 

四、对比

image.png

 

Final translation技术,它是通过软件的方式去扫描,Cpu里边不支持虚拟化技术的指令,然后动态的替换掉,它的效率相对来说是比较低的,但是它是可以运行未经修改的操作系统。

 

Para Liz Asian是通过修改该死的操作系统的源码的形式,然后静态编译之后可以。提供更加高效的这种cpu虚拟化的方式,但是它有个致命的缺点,就是要必须有操作系统的源码,那对于Windows这种必然的操作系统来说,其实是没办法做到的。

 

ervX技术是真正的从今天的角度去解决cpu。对于虚拟化技术的支持,既可以提高虚拟化的效率,又同时可以支持。

 

未经修改的这种操作系统,也就是不需要修改操作系统,所以说VTX技术,实现了这种cpu虚拟化是一个比较完美的解决方案。

相关文章
|
1月前
|
存储 安全 虚拟化
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
131 3
|
2月前
|
缓存 运维 监控
CPU被打满/CPU 100%:高效应对策略与技术干货分享
【10月更文挑战第3天】在信息技术高速发展的今天,无论是开发人员、运维人员还是数据分析师,都可能遇到CPU被打满(即CPU使用率达到100%)的情况。这不仅会影响系统的响应速度,严重时甚至会导致服务中断。本文将从诊断、分析与解决三个方面,详细介绍处理CPU 100%问题的技术干货。
143 3
|
1天前
|
安全 Linux KVM
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
21 8
|
4月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
265 0
|
2月前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
168 64
|
1月前
|
存储 持续交付 虚拟化
|
2月前
|
安全 编译器 异构计算
在CPU设计中,为了提高能效比并减少能源消耗,采用了多种节能技术
【10月更文挑战第2天】在CPU设计中,为了提高能效比并减少能源消耗,采用了多种节能技术
72 4
|
2月前
|
安全 编译器 异构计算
现代CPU的节能技术
【10月更文挑战第2天】现代CPU的节能技术
48 3
|
3月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
95 11
虚拟化技术概述及KVM环境安装
|
3月前
|
KVM 虚拟化
KVM的热添加技术之CPU
这篇文章介绍了如何在KVM虚拟机中热添加CPU资源,包括查看当前CPU配置、修改CPU核心数、永久性修改CPU配置以及注意事项等操作步骤。
104 1
KVM的热添加技术之CPU