0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虚拟机如何工作 有什么优缺点分析

架构师技术联盟 来源:架构师技术联盟 作者:架构师技术联盟 2022-11-21 11:20 次阅读

今天的许多前沿技术,如云计算、边缘计算和微服务,都源于虚拟机的概念——将操作系统和软件实例从底层物理计算机中分离出来。

什么是虚拟机?

虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在虚拟机中,一台或多台客户机可以运行在一台主机上。 虚拟机的起源可以追溯到20世纪60年代早期。每个虚拟机都有自己的操作系统,独立于其他虚拟机,即使它们位于同一物理主机上。虚拟机通常运行在服务器上,但也可以运行在桌面系统上,甚至是嵌入式平台上。多个虚拟机可以共享一个物理主机的资源,包括 CPU 周期、网络带宽和内存。 虚拟机在过去的20年里获得了很大的发展,企业通过服务器虚拟化可以更有效地利用其物理服务器的计算能力,减少物理服务器的数量并节省数据中心的空间。

虚拟机如何工作?

一般来说,有两种类型的虚拟机:程序虚拟机(将单个程序分开)和系统虚拟机(将操作系统和应用程序与物理计算机完全分离)。程序虚拟机的例子包括 Java 虚拟机、.NET Framework 和 Parrot 虚拟机。 系统虚拟机依赖管理程序(hypervisor)作为中间人,提供软件对硬件资源的访问。hypervisor模拟计算机的 CPU、内存、硬盘、网络和其他硬件资源,创建一个资源池,可以根据各个虚拟机的特定需求将资源分配给它们。Hypervisor 可以支持多个相互隔离的虚拟硬件平台,使虚拟机能够在同一物理主机上运行 Linux 和 Windows Server 操作系统。 该领域的知名企业包括 VMware (ESX/ESXi)、Intel/Linux Foundation (Xen)、Oracle(适用于 SPARC 的 MV 服务器和适用于 x86 的 Oracle VM 服务器)和微软(Hyper-V)。 台式计算机系统也可以使用虚拟机。例如Mac 用户在自己的Mac上运行虚拟Windows系统。

管理程序有哪两种类型?

管理程序负责管理资源,并将资源分配给虚拟机使用。它还可以根据管理程序和虚拟机的配置方式来调度和调整资源的分配方式,并且可以根据需求波动重新分配资源。大多数虚拟机管理程序可分为以下两类:

Type1:裸机管理程序直接在物理主机上运行,并且可以直接访问硬件。这类管理程序通常在服务器上运行,通常比 2 类管理程序更高效、性能更好,非常适合服务器、桌面和应用程序虚拟化。这类管理程序包括 Microsoft Hyper-V 和 VMware ESXi。

Type2:有时称为托管管理程序,这类管理程序安装在主机操作系统上,负责管理对硬件资源的调用,通常部署在最终用户系统上。这类管理程序包括 VMware Workstation 和 Oracle VirtualBox。

虚拟机有什么优势?

由于软件与物理主机分离,用户可以在单个硬件上运行多个操作系统,从而节省企业的时间、管理成本和物理空间。虚拟机还可以支持旧版应用程序,从而减少或消除将旧应用迁移到更新或不同操作系统的需求和成本。 此外,开发人员可以使用虚拟机在安全的沙盒环境中测试应用程序。开发人员想知道他们的应用程序是否能在新的操作系统上运行,可以利用虚拟机来测试他们的软件,而不必提前购买新的硬件和操作系统。这也有助于隔离恶意软件,由于虚拟机内的软件无法篡改主机,恶意软件无法传播。

虚拟机的缺点是什么?

虚拟机同样也存在一些缺点。在一台物理主机上运行多个虚拟机可能会导致性能不稳定,尤其是在不满足特定应用程序的基础架构要求的情况下。这也使它们在很多情况下比物理计算机效率低。 此外,如果物理服务器崩溃,在其上运行的所有应用程序都会崩溃。

还有哪些其他形式的虚拟化?

虚拟机在服务器虚拟化方面的成功促使虚拟化应用到了很多其他领域,包括存储、网络和桌面。 在网络虚拟化方面的探索包括NaaS(网络即服务)和NFV(网络功能虚拟化),通过商用服务器代替专用网络设备,以实现更灵活和可扩展的服务。这与SDN(软件定义网络)略有不同,SDN是将网络控制平面与转发平面分开,以实现更自动化的网络资源分配和基于策略的网络资源管理。VNF(虚拟网络功能)是可以在 NFV 环境中运行的基于软件的服务,包括路由、防火墙、负载平衡、广域网加速和加密等。

虚拟机和容器

虚拟机的增长促进了容器等技术的进一步发展,使这一概念又向前迈进了一步。容器可以对单个应用程序及其依赖项进行虚拟化。与虚拟机相比,容器的开销要少得多,只包含二进制文件、库和应用程序。 虽然有些人认为容器的开发可能会扼杀虚拟机,但虚拟机有足够的能力和优势来推动技术向前发展。例如,在同时运行多个应用程序或在旧操作系统上运行传统应用程序时,虚拟机仍然发挥很大作用。 此外,还有人认为容器不如虚拟机管理程序安全,因为容器只有一个应用程序共享的操作系统,而虚拟机可以隔离应用程序和操作系统。 IDC 软件定义计算部门的研究经理 Gary Chen 在IDC的《2019-2022年全球虚拟机软件预测》中写道:“虚拟机软件市场非常有弹性,并将在未来五年继续积极增长,尽管该市场已经非常成熟并接近饱和。”

虚拟机、5G 和边缘计算

虚拟机被视为 5G 和边缘计算等新技术的一部分。例如,微软、VMware 和 Citrix 等虚拟桌面基础架构 (VDI) 供应商正在寻找将其 VDI 系统扩展到居家办公的方式,作为疫情后混合办公方式的补充。 卡内基梅隆大学的计算机科学教授Mahadev Satyanarayanan说:“使用VDI,你需要极低的延迟,因为你基本上是把你的键盘敲击和鼠标移动发送到远程桌面。”2009年,Satyanarayanan写了一篇文章,介绍了如何利用基于虚拟机的云为互联网边缘的移动设备提供更好的处理能力,这促进了边缘计算的发展。 在 5G 无线领域,网络切片过程使用SDN和 NFV 技术来帮助将网络功能安装到虚拟服务器上的虚拟机上,以提供曾经只能在专有硬件上运行的服务。 就像今天使用的许多其他技术一样,如果没有几十年前引入的原始虚拟机的概念,这些新兴的创新就不会得到发展。 *本文系SDNLAB编译自NetworkWorld

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    39

    文章

    7636

    浏览量

    136803
  • 操作系统
    +关注

    关注

    37

    文章

    6557

    浏览量

    122811
  • 虚拟机
    +关注

    关注

    1

    文章

    889

    浏览量

    27839

原文标题:一文掌握虚拟机

文章出处:【微信号:架构师技术联盟,微信公众号:架构师技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    虚拟化数据恢复—EXSI虚拟机误还原快照如何恢复数据?

    虚拟化技术原理是将硬件虚拟化供不同的虚拟机使用,一台物理机上可以多台虚拟机。人为误操作或者物理
    的头像 发表于 09-09 11:56 184次阅读
    <b class='flag-5'>虚拟</b>化数据恢复—EXSI<b class='flag-5'>虚拟机</b>误还原快照如何恢复数据?

    什么是虚拟机?什么是虚拟化?

    在日新月异的科技世界中,虚拟化技术如同一座桥梁,连接着现实与数字的鸿沟,为我们打开了全新的计算维度。虚拟机,这一概念,自其诞生以来,就以其独特的魅力和强大的功能,深深地影响了软件开发、系统测试和云计算等多个领域。即使目前你还不了解它的应用,你应该也听过
    的头像 发表于 09-04 14:55 325次阅读

    虚拟机数据恢复—KVM虚拟机被误删除的数据恢复案例

    虚拟机数据恢复环境: Linux操作系统服务器,EXT4文件系统。服务器中有数台KVM虚拟机虚拟机1:主数据库服务器 虚拟磁盘:系统盘(qcow2)+数据盘(raw)
    的头像 发表于 08-07 13:33 228次阅读
    <b class='flag-5'>虚拟机</b>数据恢复—KVM<b class='flag-5'>虚拟机</b>被误删除的数据恢复案例

    什么是虚拟机虚拟机真的那么好用吗?

    在日新月异的科技世界中,虚拟化技术如同一座桥梁,连接着现实与数字的鸿沟,为我们打开了全新的计算维度。虚拟机,这一概念,自其诞生以来,就以其独特的魅力和强大的功能,深深地影响了软件开发、系统测试和云
    的头像 发表于 07-06 08:05 463次阅读
    什么是<b class='flag-5'>虚拟机</b>?<b class='flag-5'>虚拟机</b>真的那么好用吗?

    虚拟化数据恢复—虚拟机误还原快照的数据恢复案例

    一台虚拟机是由物理迁移到ESXI上面的,迁移完成后为该虚拟机做了一个快照。虚拟机上运行了一个SQL Server数据库,记录了5年左右的
    的头像 发表于 05-11 11:07 392次阅读

    虚拟机ubuntu怎么联网

    虚拟机ubuntu怎么联网  虚拟机(Virtual Machine)是运行在物理(Host Machine)上的虚拟操作系统环境。在虚拟机
    的头像 发表于 12-27 16:51 810次阅读

    虚拟机和模拟器哪些异同点和区别

    虚拟机和模拟器哪些异同点和区别  虚拟机和模拟器是计算机领域中常用的技术,它们可以在一台计算机上同时运行多个操作系统或环境。虚拟机和模拟器虽然功能相似,但是在定义、实现、性能、资源利
    的头像 发表于 12-27 16:26 2255次阅读

    虚拟机怎么进入root用户

    进入虚拟机的root用户,需要通过以下步骤完成。首先,我们需要明确一点,root用户是Linux系统下的超级管理员,具有最高权限。 第一步:打开虚拟机 首先,要确保已经安装了虚拟机软件,并启动
    的头像 发表于 11-23 10:51 1.4w次阅读

    怎么安装linux虚拟机

    在计算机领域,虚拟机是一种软件程序,它允许在主操作系统上运行多个虚拟操作系统。Linux虚拟机在开发、测试和学习等环境中得到广泛应用。本文将详细介绍如何安装Linux虚拟机,并提供一个
    的头像 发表于 11-23 10:50 954次阅读

    Docker与虚拟机的区别

    Docker和虚拟机是两种不同的虚拟化技术,它们在实现方式、资源消耗、运行性能等方面存在许多差异。本文将会详细介绍它们的区别。 一、实现方式 1.1 虚拟机 虚拟机是通过在物理主机上模
    的头像 发表于 11-23 09:37 7337次阅读

    虚拟机如何运行c程序

    虚拟机(Virtual Machine,VM)是一种模拟了物理计算机的软件,可以在计算机上创建虚拟的硬件平台,使得用户可以在其中运行操作系统和应用程序。在虚拟机中运行C程序需要进行多个步骤,下面将给
    的头像 发表于 11-17 10:14 4138次阅读

    linux虚拟机怎么运行代码

    虚拟机中,你就可以开始运行代码了。在Linux中,多种方式可以运行代码,下面将介绍几种常见的方法。 使用终端(Terminal)运行代码: 终端是Linux系统中最基本的工具之一,可以用来执行各种命令,包括运行代码。在终端中,你可以直接键入代码,
    的头像 发表于 11-17 10:12 4091次阅读

    vm虚拟机linux系统怎么编程

    不同的操作系统之间切换,并在Linux系统中进行编程和开发。 以下是使用虚拟机在Linux系统中进行编程的详细步骤: 1.安装虚拟机软件: 首先,我们需要选择一个虚拟机软件来创建虚拟机
    的头像 发表于 11-17 10:10 1532次阅读

    虚拟机linux怎么编写程序

    虚拟机Linux上编写程序是一项非常常见且有用的任务。无论是开发一个简单的脚本、一个Web应用程序还是一个复杂的软件项目,Linux提供了强大的工具和环境来帮助你进行编程。本文将详细介绍如何在
    的头像 发表于 11-17 10:08 1285次阅读

    linux虚拟机使用教程

    引言:Linux虚拟机是一种方便且常用的技术,它允许用户在现有操作系统的基础上创建和运行另一个独立的操作系统。在本篇文章中,我们将提供一份详尽的教程,帮助你了解如何安装、配置和使用Linux虚拟机
    的头像 发表于 11-17 10:06 1128次阅读