网管程序员论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1303|回复: 0

虚拟机的2种解释

[复制链接]
发表于 2012-10-23 08:38:39 | 显示全部楼层 |阅读模式
说起虚拟机我们很容易想起VMWARE,但之前还有个概念叫JAVA虚拟机,然而这2种虚拟机本质上是大不相同的。那么什么叫虚拟机呢?“虚拟机”这个概念在实际应用中有两种语境。第一种是“虚拟主机”的概念,第二种是“运行环境”的概念。这两种概念是不同的。

1、虚拟主机:,指的是操作系统内安装另一个操作系统。你如在Windows里,你可以装一个VMWare,然后在VMWare里安装一个Ubuntu Linux。这就是虚拟主机。Windows是一个操作系统,是装在硬件上的。VMWare是个软件,它模拟了一个和硬件相似的环境,让另一个操作系统可以安装运行在这个环境上。我们看Windows和Ubuntu Linux的关系,它们都是操作系统,是一个级别的。这种关系就像妈妈肚子里怀的宝宝,宝宝生活在妈妈的肚子里,妈妈和宝宝都是人,是一种寄生关系。

2、运行环境:“虚拟机”在做“运行环境”讲的时候,指的是操作系统被安装一个支持其他软件包运行的软件。最明显的例子就是“Java虚拟机”。所谓“Java虚拟机”是一个安装在操作系统上的软件,用于支持用Java编程语言编写的软件包的运行。它负责给java程序分配资源,帮助java程序做一些底层的工作,让java程序在它搭建的环境里运行。这时Java虚拟机也是操作系统上的一个软件,其他java如阿健要依赖它才能运行。它是一个底层的支持环境。微软有个仿照java架构的开发环境,即.NET Framework。这里就没有使用“Virtual Machine(虚拟机)”这个术语,而是用了“Framework(框架)”。这两个词实际的意义是一样的,都是Runtime Environment(RE,运行时环境),但是可能Framework更容易理解。它就是一个框架,其他程序可以在这个框架的支持下运行。现在除了技术界,Java官方对公众也尽量使用JRE(Java Runtime Environment),而不是JVM(Java Virtual Machine)的概念了。

Android的架构是第二种“虚拟机”。Android最底层是Linux操作系统,在这个操作系统上安装了一个叫Davilk的Java虚拟机。用Java编写的各种应用在Davilk的支持下运行。

云OS的架构也是第二种“虚拟机”。云OS最底层是Linux操作系统,在这个操作系统上安装了一个阿里的Java虚拟机。用Java编写的各种应用在该虚拟机的支持下运行。

可见,Android和云OS下运行的都是JAVA程序,可以互相兼容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|最新更新|网管程序员社区 鄂ICP备11008024号-3

GMT+8, 2019-11-19 00:02 , Processed in 0.124800 second(s), 26 queries .

Powered by 网管论坛

© 2001-2018 www.027safe.com Inc.

快速回复 返回顶部 返回列表