虚拟机

来自智得网
跳转至: 导航、​ 搜索

简介

虚拟化使用软件在计算机硬件上创建抽象层,能够将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机,通常称为虚拟机 (VM)。 每个 VM 都运行自己的操作系统 (OS) ,其行为类似于独立的计算机,即使它仅在实际底层计算机硬件的一部分上运行。

因此,虚拟化能够更有效地利用物理计算机硬件,使组织的硬件投资获得更大的回报。

目前,虚拟化已成为企业 IT 架构中的标准实践。 它也是推动云计算经济的技术。 虚拟化使云提供商能够为用户提供现有的物理计算机硬件;它使云用户能够仅在需要时购买所需的计算资源,并随着工作负载的增长而经济有效地扩展这些资源。

虚拟机是物理计算机的虚拟表示形式或仿真环境。 虚拟机通常被称为访客机,而它们运行所在的物理计算机被称为主机。

虚拟机可以分为桌面虚拟机和非桌面虚拟机。

桌面虚拟机可以按照虚拟机的操作系统分为Linux虚拟机,windows虚拟机等。

虚拟化使人能够在一台物理计算机上创建多个虚拟机,每个虚拟机具有各自的操作系统 (OS) 和应用。虚拟机无法与物理计算机直接交互。 而是需要借助一个叫做虚拟机管理器的轻量级软件层,在它与底层物理硬件之间进行协调。虚拟机管理器将物理计算资源(例如处理器、内存和存储)分配给每个虚拟机。 它使虚拟机之间相互分离,从而互不干扰。

虽然这项技术可以用很多名称来表示,包括虚拟服务器、虚拟服务器实例 (VSI) 和虚拟专用服务器 (VPS),但本文仅将其称为虚拟机。

原理

虚拟机的原理就是通过软件模拟独立的操作系统,所以虚拟机需要实现所有操作需要的功能,例如对CPU,内存,硬盘等资源的管理,对进程的管理,以及各种系统调用的能力。

虚拟机的关键技术有CPU虚拟化,内存虚拟化,IO虚拟化,VMM。

VMM

VMM是虚拟机监视器(Virtual Machine Monitor)的简称。

CPU虚拟

CPU虚拟化指的是将硬件的物理CPU虚拟化成多个虚拟CPU供虚拟机使用。虚拟CPU分时复用物理CPU,由VMM对虚拟CPU分配时间片,并同时对虚拟CPU的状态进行管理。

CPU虚拟化可以分为全虚拟,半虚拟,硬件辅助三种实现。

类型 实现方案 优点 缺点
全虚拟 VMM拦截虚拟机所有的CPU指令,然后转译为硬件的CPU指令进行执行 安全性高 效率低
半虚拟 虚拟化层提供和操作系统类似的指令模块,供虚拟机使用 效率较高 移植性差
硬件辅助 硬件厂商提供了特殊指令,可以减少软件实现的复杂度 效率最高 移植性差

内存虚拟

内存虚拟在虚拟地址和物理地址两级转换之外,增加了一层转换。

IO虚拟