虚拟化原理浅析

本文深入探讨虚拟化技术,解释了虚拟化如何通过Hypervisor或VMM实现多个操作系统在同一硬件上并发运行。介绍了完全虚拟化和准虚拟化的区别,包括软件模拟和硬件支持的实现方式,并讨论了内存虚拟化、I/O虚拟化以及虚拟化模型,如宿主模型、Hypervisor模型和混合模型。此外,还提到了Intel的VT技术和AMD的AMD-V在硬件虚拟化中的作用。

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

一、引言
在生产环境中大多需要服务器来提供服务,但每一个服务可能需要的系统资源很少,独占一台服务器会浪费资源增大耗费,但是想象一下如果一台服务器上同时提供20个服务又会很混乱,因此期望提供服务的OS是独立运行的同时又想减少服务器数量,以降低TOC(Total Cost of Ownership),于是可以利用虚拟化技术隐藏底层物理硬件,从而让多个各自独立运行的OS可以透明地使用和共享这些硬件资源。简单来说,平台虚拟化就是让一台物理计算机能并发运行多个OS。就拿熟悉的VMware Workstation在物理机上的架构来说,物理机的OS之上运行了多个进程,VMware只是其中一个,但是在VMware之上又可以运行多个虚拟机,虚拟机的OS各自独立可以是Red Hat,CentOs,Ubuntu等等。VMware可以理解为是一款模拟了一堆硬件的应用软件,在这些硬件上可以运行额外的OS。下面的叙述中也将虚拟机称为Guest OS或者客户机,宿主机也称为Host OS。
这里写图片描述
二、虚拟化概述
Virtual Machine Monitor&&Hypervisor
http://www.ibm.com/developerworks/cn/linux/l-hypervisor/
在典型的分层架构中,提供平台虚拟化的层称为hypervisor,它是一种运行在物理服务器和OS之间的中间软件层,允许多个OS和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,Hypervisor是所有虚拟化技术的核心,具有规划、部署、管理和优化虚拟基础结构等端到端功能。非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的Guest OS。有时Hypervisor也称为VMM,即虚拟机监控器,VMM既可以与虚拟机在同一台主机上,也可以单独运行在一台主机上,VMM与虚拟机互不影响。1974年,Popek和Goldberg在一篇论文中定义了“经典虚拟化(Classical virtualization)”的基本需求,他们认为,一款真正意义上的VMM至少要符合三个方面的标准:

  • 等价执行(Equivalient execution):除了资源的可用性及时间上的不同之外,程序在虚拟化环境中及真实环境中的执行是完全相同的;
  • 性能(Performance):指令集中的大部分指令要能够直接运行于CPU上;
  • 安全(Safety):VMM要能够完全控制系统资源;

这里写图片描述
三、虚拟化分类
根据不同标准虚拟化的分类方式有很多,如:完全虚拟化,准/半虚拟化,硬件虚拟化,跨平台虚拟化,应用程序虚拟化等。
1、Full virtualization
在完全虚拟化中,Guest OS不需要做任何修改,对于Guest OS来说,并不知道自己

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值