什么是CPU虚拟化_服务器虚拟化技术作用如何?

 

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

CPU虚拟化有什么作用?

 

https://upload.kcloudidc.com/idcnews/imgs/2018-11-15/20160806225312_52042.jpg

CPU虚拟化技术十分有用,例如在Win10系统中运行基于Win XP或Win7开发的应用,程序能够正常运行,不会出现不兼容的情况(部分程序本身兼容

性问题除外)。一般有软件虚拟和硬件虚拟两种,软件虚拟效率低,资源消耗大,硬件虚拟则可以大幅度提高效率,加快程序运行速度。

此外,虚拟机也是相同的道理,但是虚拟主机对系统资源的消耗十分恐怖,但是有了硬件级VT技术,也便于虚拟主机的部署。

虚拟化技术的分类主要有服务器虚拟化、存储虚拟化、网络虚拟化、应用虚拟化。

服务器虚拟化技术按照虚拟对象来分,可分为:CPU虚拟化、内存虚拟化、I/O虚拟化;按照虚拟化程度可分为:全虚拟化、半虚拟化、硬件辅助虚拟化。

将不同的虚拟化对象和程度组合,可得出9种不同的服务器虚拟化技术。

然后详细介绍下服务器虚拟化CPU虚拟化,后续讲解中再详细介绍内存虚拟化及I/O虚拟化。

https://upload.kcloudidc.com/idcnews/imgs/2018-11-15/75437210-531768062.png

基于软件的 CPU 虚拟化,故名思议,就是通过软件的形式来模拟每一条指令。通过前面的文章我们知道常用的软件虚拟化技术有两种:优先级压缩和二进制代码翻译。这两种是通用技术,可以用在所有虚拟化类型中。我们就结合 intercept 和 virtualize 来看看 CPU 软件虚拟化是怎么做的。

首先,一些必须的硬件知识要知道,X86 体系架构为了让上层的软件(操作系统、应用程序)能够访问硬件,提供了四个 CPU 特权级别,Ring 0 是最

高级别,Ring 1 次之,Ring 2 更次之,Ring 3 是最低级别。

一般,操作系统由于要直接访问硬件和内存,因此它的代码需要运行在最高级别 Ring 0 上,而应用程序的代码运行在最低级别 Ring 3 上,如果要访问硬件和内存,比如设备访问,写文件等,就要执行相关的系统调用,CPU 的运行级别发生从 Ring 3 到 Ring 0 的切换,当完成之后,再切换回去,我们熟悉的用户态和内核态切换的本质就来自这里。

虚拟化的实现也是基于这个思想,VMM 本质上是个 Host OS,运行在 Ring 0 上,Guest OS 运行在 Ring 1 上,再往上是相应层次的应用程序运行在 Ring 2 和 Ring 3 上。

  • CPU半虚拟化技术

https://upload.kcloudidc.com/idcnews/imgs/2018-11-15/0Z9321506-3.png

主要采用Hypercall技术。Guest OS的部分代码被改变,从而使Guest OS会将和特权指令相关的操作都转换为发给VMM的Hypercall(超级调用),由VMM继续进行处理。而Hypercall支持的批处理和异步这两种优化方式,使得通过Hypercall能得到近似于物理机的速度

 

好啦,暂时就给大家讲一部分虚拟化的知识,希望大家喜欢,后续还会给大家补充的。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/110.html

(0)
上一篇 2018年11月13日 17:09
下一篇 2018年11月18日 15:26

相关推荐

  • PostgreSQL新建数据库是否比旧版更好?原因是什么?

    PostgreSQL作为一款功能强大、开源的关系型数据库管理系统,以其高度的可扩展性、丰富的数据类型、强大的事务处理能力及良好的社区支持而闻名,新建数据库时,PostgreSQL提供了灵活的配置选项和完善的工具链,能帮助用户快速搭建符合业务需求的数据库环境,相比其他数据库,其ACID兼容性、并发处理能力以及丰富……

    2025年12月27日
    01150
  • ping主机ip命令究竟有何神奇之处?30字揭秘其强大功能!

    Ping命令深度解析:从基础到高级网络诊断场景一:凌晨3点,某电商平台数据库集群突发访问延迟,值班工程师张工迅速登录服务器,指尖飞舞间输入ping 10.0.8.12 -t——这是酷番云内网的核心数据库节点,屏幕上跳动的响应时间揭示了真相:跨可用区传输存在异常丢包,一条看似简单的命令,瞬间锁定了价值千万的故障根……

    2026年2月6日
    0400
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • PyQt4如何实现一个完整的俄罗斯方块游戏?详细步骤与代码揭秘?

    在Python编程中,使用PyQt4库实现俄罗斯方块游戏是一个有趣且富有挑战性的项目,以下是一篇关于如何使用PyQt4实现俄罗斯方块游戏的详细指南,环境准备在开始之前,确保你的Python环境中已经安装了PyQt4库,如果没有安装,可以通过以下命令进行安装:pip install PyQt4游戏设计游戏逻辑俄罗……

    2025年12月23日
    01060
  • PL/SQL Dev连接Oracle时弹出空白提示框,解决方法是什么?

    PL/SQL Developer作为Oracle数据库开发的常用工具,其连接Oracle数据库的稳定性直接关系到开发效率,部分用户在使用过程中会遇到“连接时弹出空白提示框”的异常情况,导致无法正常建立连接,本文将系统分析该问题的常见原因,并分享针对性的解决方法,结合实际案例深入讲解,帮助用户快速定位并解决问题……

    2026年1月27日
    0470

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注