CPU虚拟化技术介绍

十月飞翔
• 阅读 1071

虚拟化的三个条件:等价性,高效性和资源控制。这三条是针对VMM(Virtual Machine Manager)说的。

陷入和模拟模型 处理器分为两种运行模式:系统模式和用户模式。CPU指令对应分为特权指令和非特权指令。

陷入和模拟模型下,虚拟机用户程序仍然运行在用户模式下,虚拟机的内核也运行在用户模式,成为特权级压缩(Ring Compression)。这种模式下,虚拟机的非特权指令直接运行在处理器上。执行特权指令时会触发处理器异常,从而陷入VMM中,由VMM代理虚拟机完成系统资源的访问----模拟。

X86架构虚拟化的障碍 x86架构并不是所有的敏感指令都是特权指令。---- 解决办法是静态翻译和动态翻译。翻译是指对敏感指令进行翻译,静态是对可执行文件的指令进行翻译,动态翻译是以代码块为单元动态修改二进制代码。

VMX 为了从硬件层面解决x86架构的虚拟化问题,intel开发了VT技术支持虚拟化,为CPU增加了Virtual-Machine Extensions, 简称VMX。

启动VMX支持后, CPU提供两种运行模式:VM Root Mode和 VMX non-Root Mode, 每种模式都支持ring0 ~ ring3 . VMM运行在 Root Mode, VM运行在non-Root Mode。Guest无需再采用特权压缩方式,Guest kernel直接运行在VMX non-Root Mode的ring0种。

这个模式的好处:

Guest用户空间的系统调用直接陷入Guest模式的内核空间,不再陷入Host模式的内核空间。 对于外部中断,会触发CPU从Guest模式退出到Host模式,Host内核处理外部中断后再重新切入Guest模式。 不再是所有的特权指令都会导致处于Guest模式的CPU会发生VM exit,只有敏感指令才会。因为不是所有的特权指令都需要VMM来处理。

点赞
收藏
评论区
推荐文章
常用内核架构
本文分享自天翼云开发者社区《》,作者:JackW宏内核应用程序调用内存分配的API(应用程序接口)函数。处理器切换到特权模式,开始运行内核代码。内核里的内存管理代码按照特定的算法,分配一块内存。把分配的内存块的首地址,返回给内存分配的API函数。内存分配的
Stella981 Stella981
2年前
Redis3.0.6集群搭建
创建一个RedisCluster之前,我们需要有一些以cluster模式运行的Redis实例,这是因为cluster模式下Redis实例将会开启cluster的特征和命令。现在我有2台Vbox搭建的CentOS6虚拟机【CentOS1(192.168.56.101)和CentOS2(192.168.56.102)】,准备在此上搭建Redis集群。由于
Stella981 Stella981
2年前
Centos 7 忘记管理员root密码的解决办法
文章目录方法一:通过救援模式重置root密码方法二:使用单用户模式重置root密码当虚拟机多的时候经常可能会忘记root密码,这时候我们就会去虫子root密码这里介绍两种重置Centos7系统root密码的方法方法一:通过救援模式重置root密码1、在系统开机
Stella981 Stella981
2年前
PHP入门教程之手把手编写自己的PHP MVC框架
1什么是MVCMVC模式(ModelViewController)是软件工程中的一种软件架构模式。MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。PHP中MVC模式也称WebMVC,从上世纪70年代进化而来。MVC的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并
Wesley13 Wesley13
2年前
20179311《网络攻防实践》第七周作业
1.Windows操作系统的基本结构分为运行于处理器特权模式的操作系统内核,以及运行在处理器非特权模式的用户空间代码。采用宏内核模式来进行构架,这使得任意的内核模块或设备驱动程序都可能破坏其他内核模块数据,这种宏内核机制也使得Windows操作系统容易遭受以驱动方式植入内核的Rootkit的危害,为了避免这类攻击,最
Stella981 Stella981
2年前
JVM中即时编译器JIT与解释器并存
一.学习目标1.了解解释器与编译器的概念与作用。2.知道jvm中三种执行模式。3.了解热点代码。二.解释器模式与编译器模式以及混合模式  字节码文件通过类装载器装载,被分配被分配到JVM的运行时数据区,然后会被执行引擎执行。执行引擎以指令为单位读取Java字节码。它就像一个CPU一样,一条一条地执行机器指令。每个字节码指令
Stella981 Stella981
2年前
Linux chmod命令详解
chmod改变一个或多个文件的存取模式(mode)chmod\options\modefiles只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以whoopcodepermission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定
天翼云云主机上搭建FTP服务最佳实践
天翼云用户在云主机上架设FTP服务器后,在VPC安全组里配置开放了21端口却发现仍然从外网连接不上FTP服务。这是由于FTP协议有它的特殊之处,本文将介绍在天翼云云主机上配置FTP服务器的难点。FTP协议的数据连接分为主动模式和被动模式两种方式,FTP默认使用主动模式。在主动模式下客户端随机开启一个大于1024的端口N,这里我们假定是12345端口吧,向服
虚拟化技术 - CPU虚拟化
物理机器是由CPU,内存和I/O设备等一组资源构成的实体。虚拟机也一样,由虚拟CPU,虚拟内存和虚拟I/O设备等组成。VMM(VMMonitor)按照与传统OS并发执行用户进程的相似方式,仲裁对所有共享资源的访问。本文将分别讨论CPU虚拟化、内存虚拟化和I/O虚拟化技术的原理和实现。
云电脑运行原理分析
虚拟化技术是云电脑运行的核心技术之一。它可以将物理服务器虚拟化成多个虚拟机,每个虚拟机都拥有独立的操作系统和应用程序运行环境。虚拟机之间相互隔离,互不影响。虚拟化技术可以显著提高服务器的利用率,减少能源消耗,同时还可以提高系统的可靠性和安全性。