「深度小课堂」虚拟化技术入门科普

本文深入探讨虚拟化技术,包括虚拟机(全虚拟化、半虚拟化和硬件辅助虚拟化)和容器,阐述它们的工作原理、优缺点及最新进展。虚拟机通过虚拟机管理程序提供安全隔离,但性能开销大,而容器技术启动快速,管理便捷,但安全隔离性相对较弱。硬件辅助的虚拟化已成为主流,同时针对虚拟机管理程序和容器宿主机操作系统的研究不断优化性能。此外,新兴技术如gVisor提供安全增强,Kata Containers结合虚拟机与容器的优势,为云计算带来新机遇。
摘要由CSDN通过智能技术生成

云计算已经成为了服务器端的潮流,通过它,我们可以有效支持弹性计算、隔离兼容等一系列的需求,计算力可以像水电一样为人们所使用,而虚拟化技术正是云计算中最重要的技术。

虚拟化技术一般可以被分为两类,分别是虚拟机(VM,Virtual Machine)技术以及容器(Container)技术。

虚拟机

虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

物理机与虚拟机之间通过虚拟机管理程序(VMM,Virtual Machine Monitor,又称Hypervisor)与虚拟机操作系统进行分割,虚拟机管理程序对底层硬件环境与指令提供了模拟或调度,使得虚拟机中的操作系统以为自身运行在物理机上,从而可以在一个物理机(宿主机)上安装多个虚拟机系统,而且每个虚拟机可以运行与原物理机完全不同的操作系统,进而提供了良好的安全隔离与异构支持。主流的虚拟化支撑软件包括Xen、Linux内核的KVM、微软的Hyper-V与私有的VMWare等。

虚拟机技术栈一般是这样的:

「深度小课堂」虚拟化技术入门科普

 

虚拟机技术一般可以分为全虚拟化(Full Virtualization)、半虚拟化(Para Virtualization)以及硬件辅助的虚拟机。我们知道,在Intel处理器中划分了四个特权级别ring 0 ~ ring 3,其中ring 0是最高级别,ring 3是最低级别,一般操作系统内核运行在ring 0上,这样就能运行处理器的所有指令,但是应用程序则运行在ring 3上,有部分指令(特权指令)是运行不了的。要解决虚拟机运行的问题,关键就是要让虚拟机操作系统以为自己仍然运行在物理机上,其内核仍然能运行在ring 0上。

全虚拟化

全虚拟化的典型代表是早期的VMWare,虚拟化管理程序在运行的时候对捕获虚拟机操作系统的特权指令,并进行二进制翻译,使得虚拟机操作系统以为自己运行在物理机上。这种方法的好处是不用修改虚拟机操作系统,但坏处就是性能比较差。

半虚拟化

半虚拟化的典型代表是早期的Xen,它在虚拟化管理程序中添加了一些接口函数,然后修改虚拟机操作系统,在特权指令等需要修改的地方修改虚拟机操作系统的代码(打补丁)以便支持虚拟化。这种方法的好处是性能明显更好,但是坏处就是需要给虚拟机操作系统打补丁。

硬件辅助的虚拟化

硬件辅助的虚拟化指的是在处理器中直接加入虚拟化指令支持(比如Intel的VT-x或者AMD的SVM),处理器引入了新的虚拟化模式,例如在Intel处理器上是VMX root模式与VMX non-root模式,两种模式都支持ring 0 ~ ring 3,虚拟机管理程序运行在VMX root模式下,而虚拟机操作系统则运行在VMX non-root模式下。

运行在VMX root模式下的虚拟机管理程序通过显式调用VMLAUNCH或VMRESUME指令切换到VMX non-root模式,硬件自动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值