安装虚拟机对现在电脑系统的影响(安装虚拟机对现在电脑系统的影响吗)

安装虚拟机对现在电脑系统的影响(安装虚拟机对现在电脑系统的影响吗)div id module unit notification container hidden div p 虚拟机是云计算的骨干部分 在 AWS 中创建 EC2 实例或在 Azure 中创建虚拟机时 云服务提供商不会将物理服务器专用于该实例或虚拟机 而是在物理服务器上创建虚拟机 p

大家好,我是讯享网,很高兴认识大家。



 <div id="module-unit-notification-container" hidden=""></div> <p>虚拟机是云计算的骨干部分。 在 AWS 中创建 EC2 实例或在 Azure 中创建虚拟机时,云服务提供商不会将物理服务器专用于该实例或虚拟机, 而是在物理服务器上创建虚拟机。 该虚拟机可能是服务器上承载的众多虚拟机之一。 但由于虚拟化,虚拟机看起来像是专用服务器。 它在逻辑上与其他虚拟机是隔离的,如果一个错误程序导致一个虚拟机崩溃或以其他方式损害了该虚拟机,则在其他虚拟机中运行的程序不会受影响,即使它们共享一个物理主机也是如此。 此外,承载两个 VM 的服务器可以在一个 VM 中运行一个操作系统(例如 Linux),在另一个 VM 中运行其他操作系统(例如 Windows)。</p> 

讯享网

虚拟机也可以在云计算之外使用。 例如,一种常用产品 Parallels 可让 Mac 用户通过将 Windows 托管在 VM 中来同时运行 Windows 和 macOS。 软件开发人员经常使用 VM 来测试程序,因为虚拟机可提供一致且独立的环境,可以轻松地在计算机之间进行复制。

所有这些虚拟机都是系统 VM 的实例,可虚拟化整个系统(物理计算机)。 但是也存在进程 VM,它们为常用的编程语言(例如 Java 和 C#)提供了基础。 我们来看看这两种类型,讨论它们的工作原理,了解为什么是这两种类型,为什么它们是提供云计算基础的系统 VM。

进程 VM(图 1)是能够支持单个进程的 VM(只要进程处于活动状态)。 进程 VM 在其承载的进程结束时终止。 从进程 VM 的角度来看,计算机由虚拟内存地址空间、用户级寄存器和用于执行程序的指令组成。 根据这个定义,通用操作系统中的进程也可以称为“机器”。然而,普通进程只能支持为主机的处理器体系结构或指令集体系结构 (ISA) 编译的程序二进制文件。 常规进程不支持执行针对 ISA 编译的与主机的二进制文件不同的二进制文件,例如,在装有 Intel CPU 的计算机上运行为 ARM 处理器编译的程序。 但是,进程 VM 允许发生这种情况。

Figure 1: Process VM.
讯享网

图 1:进程 VM。

进程 VM 通过仿真来支持与主机 ISA 不同的 ISA,从而允许在具有不同接口和功能(目标)的系统上实现一个系统(源)的接口和功能。 一个仿真示例是在 x86 处理器上执行为早期 Apple 计算机使用的老式 6502/6510 系列处理器编译的程序。 进程 VM 的抽象由称为“运行时”的虚拟化软件提供。 运行时位于主机操作系统和基础硬件之上。 当来宾和主机 ISA 不同时,正是此运行时来仿真指令和/或系统调用。

进程 VM 出现于 20 世纪 60 年代中期,最初用于将编译器生成的中间语言转换为主机处理器的机器码,部分原因是为了简化将编译器移植到新处理器体系结构的过程。 它们如今也有类似的用途。 例如,Java 虚拟机 (JVM) 是一种进程虚拟机,它将 Java 字节码(由 Java 编译器发出的指令)编译为本机代码,并在主机上执行。 如果程序采用 C# 和 Microsoft 公共语言运行时 (CLR) 支持的其他语言进行编写,则还会使用进程 VM 来编译成机器码(由编译器发出的公共中间语言 (CIL) 指令)。 进程 VM 有时称为“高级语言 VM”,或简称为“HLL VM”,其目的在于执行语言编译器生成的中间语言。

总之,进程 VM 与在 OS 上运行的常规进程类似。 但是,进程 VM 允许通过仿真来执行为 ISA(不同于主机)编译的应用程序。 此外,HLL 进程 VM 还为常用的托管语言(例如 Java 和 C#)提供了基础。 在此上下文中,“托管”一词是指 Java 和 C# 代表其应用程序管理内存,并针对常见编程错误(例如,滥用指针和超越内存数组边界)提供了防范措施。

与进程 VM 不同,系统 VM 通过虚拟化包括处理器、内存和 I/O 设备在内的整套硬件资源来虚拟化整个计算机。 虚拟化软件或虚拟机监控程序(也称为“虚拟机监视器 (VMM)”)位于硬件和操作系统之间,并创造一种假象,认为操作系统及其所承载的应用程序在独立计算机上运行(图 2)。

Figure 2: System VM.

图 2:系统 VM。

虚拟机监控程序管理基础硬件资源的分配和访问。 它允许同时运行多个 VM,并创造一种假象,让每个 VM 以为拥有所有这些资源。 物理计算机称为“主机”,在主机上的 VM 中运行的操作系统称为“来宾操作系统”或“来宾 OS”(图 3)。 每个 VM 都可以像常规主机一样启动、关闭和重新启动。 VM 一次只能在一个主机上运行,但是可以将其关闭,然后移动到其他主机并在该主机上启动。 因此,虽然 VM 在给定的时间点只能在一个主机上运行,但是在一段时间内可以将其迁移到其他主机上。

Figure 3: Single system hosting multiple VMs.

图 3:承载多个 VM 的单个系统。

20 世纪 60 年代,虚拟机监控程序首次在 IBM 大型机上运行。 早期的虚拟机监控程序要么完全在软件中实现,要么依赖于硬件来提高性能。 实际上,某些大型机附带了特殊的硬件,只为支持虚拟化。 如今,Intel 和 AMD 中的常用微处理器都已内置虚拟化支持,可以通过固件设置在大多数计算机上启用或禁用此功能。 CPU 中的本机虚拟化支持是 VM 在 21 世纪 00 年代中后期迅速普及的主要原因。 它催生了一代廉价但功能完备的虚拟机监控程序(例如 VMware、Hyper-V 和 VirtualBox)以及开放源代码虚拟机监控程序(例如 Xen1)。 甚至在云计算开始流行之前,组织就开始使用这些虚拟机监控程序来虚拟化其自己的数据中心中的工作负载。 因此,已使用虚拟服务器的组织可以上传现有虚拟机映像并从中创建虚拟机,将工作负载“直接迁移”到云中,以此加快向云计算的过渡。

虚拟机监控程序还可以在台式计算机的 Parallels 和 Docker Desktop for Windows 等产品中使用。 后者使用主机虚拟机监控程序(Hyper-V 或 VirtualBox)在 Windows 上承载的 Linux VM 中运行 Docker 容器。 安全研究人员发现虚拟机监控程序非常有价值,因为一个 VM 遭恶意软件破坏时,其他 VM、主机操作系统或基础硬件不会受影响。 可以快速关闭遭破坏的 VM,并视需要在其未遭破坏的状态下重新创建它,且不会给系统的其余部分带来任何风险。

与进程 VM 一样,系统 VM 可以支持与主机系统不同的 ISA。 此类 VM 广泛用于仿真器中,这些仿真器允许在台式计算机上运行针对 Xbox、PlayStation 和其他硬件平台编写的游戏。 相较于完全通过软件来虚拟化指令集的进程 VM 中的仿真器,通过利用 CPU 中虚拟化支持的虚拟机监控程序实现的仿真器通常性能更佳。

与进程 VM 不同,系统 VM 可以向操作系统和应用程序提供其承载的资源,并且资源的数量和类型与物理主机提供的不同。 例如,系统 VM 可以提供比主机系统更多的处理器(有时称为“虚拟 CPU 或 vCPU”)。

将云计算作为服务提供给客户的数据中心使用系统 VM 来虚拟化工作负载和合并服务器。 除非另有说明,否则从现在开始,当我们使用术语“虚拟机”或“VM”时,我们是指系统 VM。 在下一课中,我们将讨论系统 VM 如何从云计算中受益,以及为什么说如果没有虚拟化,云计算甚至就可能不存在(当然也不可能具有成本效益)。

  1. Barham et al. (2003). (2003). Xen and The Art of Virtualization In Proceedings of the nineteenth ACM symposium on operating systems principles (SOSP ‘03). ACM, New York, NY, USA.


小讯
上一篇 2025-06-16 20:51
下一篇 2025-06-11 09:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/199048.html