全虚拟化是什么

Fanly 2020-10-17 02:08:33
QA

在计算机科学中,全虚拟化(Full virtualization)是硬件虚拟化的一种,允许未经修改的客户操作系统隔离运行。

在计算机科学中,全虚拟化(Full virtualization)是硬件虚拟化的一种,允许未经修改的客户操作系统隔离运行。

全虚拟化是什么

简介

硬件虚拟化对客户操作系统隐藏了真实的硬件,虚拟机运行在一个架设在硬件或主机操作系统(英语:Host OS)之上的虚拟机监视器(VMM)中。对于全虚拟化,硬件特征会被映射到虚拟机上,这些特征包括完整的指令集、I/O 操作、中断和内存管理等。在全虚拟化环境中,任何可以运行在裸机上的软件(通常是操作系统)都可以未经修改地运行在虚拟机中。相对地,半虚拟化(英语:Paravirtualization)则要求对客户操作系统做出必要的更改,以适应 VMM 提供的半虚拟化 API。

全虚拟化基础

实现一个比主机操作系统优先级更高的 VMM 或超级操作系统(英语:Super OS)是全虚拟化与 1 型虚拟化(英语:Type-1 virtualization)的基础。监视器或超级操作系统需要两个关键特性来提供并保护虚拟化环境:
操作系统无关的储存管理,可以为不同的虚拟环境(如 Linux、Windows 和嵌入式环境)提供资源,并保护这些环境不会被未经授权地访问;
虚拟化环境的切换,以向虚拟机分配物理计算资源。Intel VT-x 与 AMD-V 的 x86 虚拟化和 IBM 在 20 世纪 60 年代末到 70 年代初的早期虚拟机有着不同的实现。
全虚拟化仅仅在波佩克与戈德堡虚拟化需求得以满足时才是可行的。

历史

在大多数 IBMSystem/360(IBM System/360-67 是一个例外)和早期的 IBM System/370 是无法实现全虚拟化的。IBM 于 1972 年在 System/370 上添加了实现虚拟化内存的硬件,从而实现了全虚拟化。
全虚拟化在早期的 x86 平台上也无法实现。直到 2006 年前后,AMD 和 Intel 分别加入了 AMD-V 和 Intel VT-x 扩展(参见 x86 虚拟化)。Intel VT-x 采用了保护环的实现方式,以恰当地控制虚拟机的内核模式特权。然而在此之前许多 x86 上的平台 VMM 已经非常接近于实现全虚拟化,甚至宣称支持全虚拟化。比如 Adeos、Mac-on-Linux、Parallels Desktop for Mac、Parallels Workstation、VMware Workstation、VMware Server、VirtualBox、Win4BSD 和 Win4Lin Pro。以 VMware 为例,它使用二进制翻译的技术,可以在运行时将 x86 软件中的一些可以“穿过虚拟机”的指令自动地翻译成对主机安全的指令。

关键技术

全虚拟化技术应对的关键挑战是对有高特权操作的侦听和模拟,比如 I/O 操作。虚拟机中所有操作的副作用一定要限制在虚拟机之内——虚拟操作不可以修改其他虚拟机的状态、控制程序或是硬件。对于涉及对象完全受 VMM 管理的机器指令,可以直接在硬件上执行,例如内存地址和算数寄存器。其他一些指令可能会“穿过虚拟机”,即可以访问或影响状态信息或对虚拟机外产生影响,这些指令就不可以直接执行,它们必须被软中断之后由 VMM 模拟执行。
全虚拟化已被证实的成功之处有:
多用户之间共享系统
隔离用户(和控制程序)
模拟新硬件,提升可靠性、安全性和生产力

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • WildCard 虚拟借记卡

    WildCard借记卡是什么

    WildCard借记卡是一种虚拟信用卡,可用于安全在线支付。用户注册账户,申请借记卡,绑定银行账户,充值后即可使用。具有灵活的服务期限选择、全球支付支持等特点。 使用邀请码“LEIXUE”享受开卡立减2美元优惠.
  • KVM 虚拟化 KVM virtualization

    什么是KVM虚拟化

    KVM是一种基于Linux内核的虚拟化技术,它将Linux转变为类型1(裸机)虚拟机监控器,用硬件辅助虚拟化技术,在一台物理服务器上高效运行多个隔离的虚拟环境,每个环境都有自己的虚拟化硬件资源;支持多种操作系统,广泛用于云计算及开发测试环境。
  • 群晖 Synology NAS

    群晖NAS VMM和Docker有什么区别

    VMM和Docker是群晖NAS上常见的虚拟化技术,它们在虚拟化级别、资源消耗、部署速度、管理功能等方面有所区别。VMM适用于完全虚拟化的场景,提供了更全面的虚拟机管理和监控功能;而Docker适用于容器化应用程序的部署和管理,具有轻量级和快速部署的特点。
  • VMware ESXI 虚拟化操作系统

    Docker容器和ESXi虚拟机哪个适合软路由

    ESXi虚拟机是更适合做为软路由的选择。ESXi虚拟机提供了更强的隔离性、安全性,同时具备更好的硬件支持和性能,并且拥有出色的可靠性和稳定性。因此,如果软路由应用对隔离性、安全性、硬件支持、性能和高可用性有较高的要求。
  • PVE 虚拟机 vs ESXi 虚拟机

    PVE虚拟机和ESXi虚拟机有什么区别

    PVE虚拟机和ESXi虚拟机在虚拟化技术、管理方式、支持的操作系统、可靠性和稳定性、资源利用效率、网络性能、数据保护和灾备、社区支持等方面都有所不同。因此,在选择虚拟化平台时,需要根据实际需求进行评估和选择。
  • Proxmox VE 虚拟机

    Proxmox是什么

    Proxmox是一个支持小规模和企业级虚拟化的开源平台。 它基于Debian Linux,在一个平台下结合了两种虚拟化技术:使用 KVM 的完全虚拟化和轻量级Linux容器。 Proxmox VE具有内置的Web界面,可轻松管理多个节点和集群上的虚拟机和容器以及相关资源。