全虚拟化与半虚拟化的实现方式

本文介绍了全虚拟化技术,包括软件辅助的全虚拟化和硬件辅助的全虚拟化,强调了软件辅助虚拟化的特权解除和陷入模拟机制,以及硬件辅助全虚拟化如何利用CPU的虚拟化功能实现更高效的隔离。同时,文章还提到了半虚拟化技术,需要对GuestOS内核进行修改以提高效率,但牺牲了镜像文件的通用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

全虚拟化

不需要对GuestOS操作系统软件的源代码做任何的修改,就可以运行在这样的VMM中

在全虚拟化的虚拟平台中,GuestOS并不知道自己是一台虚拟机,它会认为自己就是运行在计算机物理硬件设备上的HostOS。因为全虚拟化的VMM会将一个OS所能够操作的CPU、内存、外设等物理设备逻辑抽象成为虚拟CPU、虚拟内存、虚拟外设等虚拟设备后,再交由GuestOS来操作使用。这样的GuestOS会将底层硬件平台视为自己所有的,但是实际上,这些都是VMM为GuestOS制造了这种假象。

全虚拟化又分为:软件辅助的全虚拟化 & 硬件辅助的全虚拟化

软件辅助的全虚拟化

软件辅助全虚拟化架构图
这里写图片描述

在Intel等CPU厂商还没有发布x86 CPU虚拟化技术之前,完全虚拟化都是通过软件辅助的方式来实现的。而软件辅助的全虚拟化主要是应用了两种机制:
1. 特权解除(优先级压缩):从上述的软件辅助全虚拟化架构图中可以看出,VMM、GuestOS、GuestApplications都是运行在Ring 1-3用户态中的应用程序代码。当在GuestOS中执行系统内核的特权指令时,一般都会触发异常。这是因为用户态代码不能直接运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范桂飓

文章对您有帮助就请一键三连:)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值