虚拟计算机 不同抽象层次,虚拟机 v.s. 沙盒(区别)

虚拟机和和沙盒具有很多相同的特点,因而容易混淆。在讨论虚拟机和沙盒区别之前,我们先来看下一般计算机的大致结构(在一个很高的抽象层次上)。

一般的计算机结构:

6acdfd60b014

图1-1.  一般计算机的结构

从图1-1可以看出,操作系统operation system(简称os)windows作为应用程序application和硬件hardware的驱动程序driver的桥梁。application运行在windows之上并通过windows与用户user和机器硬件进行“互动”(在操作系统出现之前只有专业人员会操作计算机,正是因为有了操作系统的出现,普通人也能够操作计算机)。此外,操作系统负责访问硬盘上的文件资源,并通过驱动程序来控制机器硬件。驱动程序有很多,针对不同的硬件需要配置不同的驱动程序。

沙盒sandbox:

沙盒的特点在于很好的系统隔离性。在某种程度上,沙盒sandbox可以视为一个容器container,application运行在沙盒中,沙盒运行在windows操作系统上。运行在沙盒中的application和沙盒外的application一样可以访问硬盘中的文件等资源。运行在沙盒中的application和沙盒外的application的主要区别在于:

1. 对于沙盒外的application而言,沙盒内的application是透明的(即不可见的);

2. 当沙盒内的application退出后,所做的更改将不会被保存。

一个很好的例子是:当沙盒内的application退出后,沙盒内的application已下载或“安装”的恶意软件都将被丢弃。

虚拟机virtual machine:

虚拟机简称VM,其本质上是一个运行在操作系统之上的application,其特殊之处在于,虚拟机通过软件的方法模拟出一个完整独立的计算机的环境(但是并不是真是的计算机环境),这也是虚拟机名字的由来。因此,虚拟机就像是真实计算机的一个copy副本,虚拟机可以视为“机器内部的机器”。比如我们经常在windows操作系统上安装一个linux虚拟机,在这种情况下windows被称为host,linux被称为guest,一个host上可以安装多个guest虚拟机,就像是一个windows上可以安装多个application。

带有sandbox的计算机结构:

6acdfd60b014

图1-2.  带有沙盒的计算机结构

运行在沙盒中的application和沙盒外的application共享机器的存储内存和计算资源。

带有虚拟机的计算机结构:

6acdfd60b014

图1-3.  带有虚拟机的计算机结构

在一个虚拟机内部,可以安装很多个application,这些application可以使用虚拟机内部的资源,包括虚拟硬盘和计算资源。此外虚拟机内部可以享有属于自身的驱动程序,因此虚拟机是作为一个application,利用真是的硬件资源来模拟了属于自己的硬件资源和软件环境。因此当虚拟机退出后,发生在虚拟机内部的更改(包括下载、设置、更新、安装等操作)会被保存下来。

带有多个虚拟机的计算机结构:

6acdfd60b014

图1-4.  带有多个虚拟机的计算机结构

经过上面的讨论,我们可以看出虚拟机和沙盒的主要区别在于:

1. 当沙盒中的应用程序退出后,其所做的更改会被丢弃;而当虚拟机退出后,其所做的更改会被保存下来;

2. 沙盒中的application和其他application共享机器的硬件资源;而虚拟机在安装时需要为其指定内存memory和cpu核且虚拟机不和其他application共享硬件资源。因此虚拟机实际上是很耗系统资源的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值