虚拟机 (VM) 是一种基于软件的计算机,存在于另一台计算机的操作系统中,通常用于测试、备份数据或运行SaaS应用程序。要完全掌握 VM 的工作原理,首先要了解操作系统通常如何集成计算机软件和硬件,这一点很重要。
什么是操作系统?
传统计算机由物理硬件构建而成,包括硬盘驱动器、处理器芯片、RAM 等。为了利用这些硬件,计算机依赖于一种称为操作系统 (OS) 的软件。操作系统的一些常见示例是 Mac OSX、Microsoft Windows、Linux 和 Android。
操作系统以对用户有用的方式管理计算机硬件。例如,如果用户要访问 Internet,则操作系统会指示网络接口卡进行连接。如果用户想要下载一个文件,操作系统会为该文件在硬盘驱动器上分区空间。操作系统还运行和管理其他软件。例如,它可以运行 Web 浏览器,并为浏览器提供足够的随机存取存储器 (RAM) 以使其顺利运行。通常,操作系统以一对一的比例存在于物理计算机中;对于每台机器,都有一个管理其物理资源的操作系统。
您可以在一台计算机上安装两个或多个操作系统吗?
一些用户希望能够在一台计算机上同时运行多个操作系统,无论是出于测试目的还是以下部分中列出的其他原因之一。这可以通过称为虚拟化的过程来实现。在虚拟化中,一个软件的行为就好像它是一台独立的计算机。这块软件称为虚拟机,也称为“访客”计算机。(运行 VM 的计算机称为“主机”。)来宾拥有操作系统和自己的虚拟硬件。
“虚拟硬件”可能听起来有点矛盾,但它的工作原理是映射到主机上的真实硬件。例如,VM 的“硬盘”实际上只是主机硬盘上的一个文件。当虚拟机想要保存一个新文件时,它实际上必须与主机操作系统通信,主机操作系统会将这个文件写入主机硬盘。由于虚拟硬件必须执行与主机协商的这一附加步骤才能访问硬件资源,因此虚拟机的运行速度无法与其主机计算机一样快。
通过虚拟化,一台计算机可以运行两个或多个操作系统。一台主机上可以运行的虚拟机数量仅受主机可用资源的限制。用户可以像任何其他程序一样在窗口中运行 VM 的操作系统,或者他们可以全屏运行它,使其看起来和感觉就像一个真正的主机操作系统。
虚拟机有什么用?
人们运行虚拟机的一些最常见的原因包括:
- 测试——通常,软件开发人员希望能够在不同的环境中测试他们的应用程序。他们可以使用虚拟机在一台计算机上的各种操作系统中运行他们的应用程序。与必须在多个不同的物理机器上进行测试相比,这更简单且更具成本效益。
- 运行为其他操作系统设计的软件——尽管某些软件应用程序仅适用于单个平台,但 VM 可以运行为不同操作系统设计的软件。例如,想要运行专为 Windows 设计的软件的 Mac 用户可以在其 Mac 主机上运行 Windows VM。
- 运行过时的软件——某些较旧的软件无法在现代操作系统中运行。想要运行这些应用程序的用户可以在虚拟机上运行旧的操作系统。
云计算如何使用虚拟机?
一些云提供商向他们的客户提供虚拟机。这些虚拟机通常运行在功能强大的服务器上,这些服务器可以充当多个 VM 的主机,并且可以出于各种原因使用本地托管的 VM。这些包括:
- 运行 SaaS 应用程序——软件即服务,或简称 SaaS,是一种基于云的向用户提供软件的方法。SaaS 用户订阅应用程序,而不是购买一次并安装它。这些应用程序通常通过 Internet 提供给用户。通常,云中的虚拟机在为 SaaS 应用程序进行计算并将它们交付给用户。如果云提供商具有地理上分布的网络边缘,那么应用程序将运行得离用户更近,从而带来更快的性能。
- 备份数据——基于云的 VM 服务在备份数据方面非常受欢迎,因为数据可以从任何地方访问。此外,云虚拟机提供更好的冗余,需要更少的维护,并且通常比物理数据中心更好地扩展。(例如,从云虚拟机供应商处购买额外 GB 的存储空间通常相当容易,但为额外 GB 的数据构建新的本地数据服务器要困难得多。)
- 托管服务,如电子邮件和访问管理——在云虚拟机上托管这些服务通常更快、更具成本效益,并有助于最大限度地减少维护和卸载安全问题。