虚拟机概论(三)——引言

引言

虚拟机的概念对于计算机世界来讲并不算新,但是许多人并不知道或理解这个概念。如果你是一个典型的计算机用户,并且通过Internet来浏览Web网页,那么你很可能在和一个虚拟机交互,这个虚拟机就是JAVA虚拟机。现在,既然这个虚拟机对大多数计算机用户来说是透明的,你可能疑惑:为什么要关心虚拟机,对不对?

其实,在计算机世界,虚拟机的概念经常被用来解决一些非常重要的问题。但是通常这

所有虚拟机的这些用途,对于我们今天的计算来说都是非常重要的。

些对用户来说是透明的,因为虚拟机一般在用户每天使用的程序和操作系统内部才会用到。虚拟机所要解决的问题包括:通过分割硬件使许多程序共享同一个硬件,使软件在多个操作系统之间是“可移植”的,以及在新的计算机上运行旧的软件。所有虚拟机的这些用途,对于我们今天的计算来说都是非常重要的。

随着阅读的深入,我们将向你展示虚拟机是怎样帮助解决这些重要问题的,从而使你能够理解为什么虚拟机会成为现代计算机的重要组成部分。

当我们尝试着去解释虚拟机的概念时,首先必须要理解“虚拟”的概念。“虚拟”这个词最早来源于光学,用于理解镜子里的物体。镜子里的物体是一个实际物理存在的影像,但它不是真正的物体。这意味着这个影像看起来和实际物体一模一样,并且在同一个位置。现在,“虚拟”这个词已经经过演化,用来描述任何真实物体的模拟了,例如:虚拟内存,虚拟磁盘,和虚拟现实。我们在讨论虚拟机的时候,使用“虚拟”这个词,是因为我们希望虚拟机看起来和工作起来,都和真正的机器一模一样。这意味着,虚拟机并不是真正的机器,但是他能像真正的机器一模一样地工作。

现在,在定义虚拟这个词的时候,我们已经使用了“模拟”这个词。模拟就

模拟就是那些用来模仿其他事物的事物。

是那些用来模仿其他事物的事物。模拟在现代应用中的一个非常好的例子,就是空军和海军飞行员的训练。飞行员在飞行模拟器上接受训练:基于计算机的机器,看起来就像是一个喷气式飞机的驾驶舱。这种机器,使得驾驶员不用离开地面,就能感受到和驾驶一架真正的喷气式飞机一样的感觉,并看到同样的东西。这个模拟器模仿了一切,从飞机的实际操作性能,到风和天气条件对正在飞行的飞机的影响。基本上,模拟器使得飞行员在安全的地面,就能够得到所有驾驶一架真正喷气式飞机所能得到的熟练和感觉。

模拟或者模仿另外一个事物的概念被引入到计算机系统的设计当中。尽管虚拟机有许多化身,但是,从他最本质的层面讲,一个虚拟机是一个并不实际存在的机器的的表象。这当然最笼统,也是非常不清楚的定义。但是先和我们一起忍受一下。

现在,让我们考虑一下一个机器最一般的概念。所有的机器,不管是电冰箱,录像机,还是计算机,都有一个共同点:它们被设计用来完成一组特定的指令。这些指令组成一个指令集。任何一个机器的指令集,都可以被想象成一个装有Lego(垒高拼装玩具)的盒子。这些Lego被放在一起,组成一个整体。对于机器来讲,这些Lego就是指令,他们被用来告诉机器做什么,以及完成什么任务。

对于虚拟机来讲,“虚拟”实际上就是指的这些指令集。虚拟机有许多不同的类型,但是它们有一个共同的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户可以访问的指令集。虚拟机把这些虚拟指令“映射”到计算机的实际指令集。这种映射关系,如图1.1所示:

 

在虚拟机领域,主要有四种不同的思想流派。第一种以IBM虚拟机模型为代表,它几乎是一种一一映射。第二种流派由机器中每条指令和一个虚拟指令间的映射组成,它以Java虚拟机为代表。UNIX虚拟机模型和OSI虚拟机模型代表着最后两种模型。我们在后面会讲到这些模型。这两种模型直接映射一部分指令,而其它的指令则是对操作系统函数的直接调用。

时间: 2024-10-04 23:33:45

虚拟机概论(三)——引言的相关文章

虚拟机概论(一)——封面

虚拟机概论 作者:Eric Kohlbrenner Dana Morris Brett Morris 翻译:Win Herry         来源:Core of Information Technology 日期:2005年4月 编辑:Win Herry 校对:Win Herry

虚拟机概论(四)——虚拟机的历史

虚拟机的历史 在今天的计算机世界中,虚拟机的概念已经被用来解决许多问题.从机器的分割(IBM模型),到"半平台无关"的程序设计语言(Java模型),到开发操作系统(UNIX模型和OSI模型),虚拟机的概念在构成现代计算机的过程中已经被证明是一个强大的工具.然而,这个概念对每个人来说并非总是清晰,并且直到20世纪60年代中期,它才被用于实践. 1965年前后,IBM的研究人员试图去测量一些计算机科学领域新概念的实际效果.为了能够测量到这些新特性开启和关闭后机器的两种性能,研究人员需要一种

虚拟机概论(五)——IBM虚拟机模型

IBM虚拟机模型 在IBM模型中,每个虚拟机都是真正机器的完整拷贝,只是内存少了点. IBM(International Business Machines)版的虚拟机是现在仍然在使用的主流虚拟机之一.在IBM模型中,每一个虚拟机都是一台真正机器的完整拷贝,只是内存少了点.根据这一概念,一个功能强大的大型主机可以被分割成许多虚拟机.这些虚拟机仅比原来的主机少一点资源而已. IBM的虚拟机版本和其他虚拟机流派类似,因为它也是提供功能映射的服务.这意味着虚拟机负责解释虚拟指令,并把它们映射为实际的机

虚拟机概论(八)——UNIX虚拟机模型

unix UNIX虚拟机模型 使用和设计虚拟机的概念,成为建立可交互的.健壮的虚拟设备的有效方法.这种方法可用来解决计算机工程师所面临的许多问题.在UNIX操作系统中,虚拟机的概念和进程模型高度统一起来.UNIX操作系统是现代计算机使用的最成功.最受尊重的操作系统之一.UNIX的广泛使用,使得他的虚拟机特征被全部发掘,并归类为真正的虚拟机.UNIX操作系统使用一系列的独立进程来完成用户的指令.UNIX可以安排并配置它所创建的进程来传递和操纵数据.从概念上讲,UNIX的进程可以被看作一个虚拟机,因

虚拟机概论(九)——虚拟机总结

虚拟机总结 所有这四种虚拟机模型的基础都是组合指令去模拟设备或者机器. 虚拟机项目的主要目的是向有兴趣的读者介绍虚拟机的优点和应用.我们首先集中定义了当今正在使用的四种虚拟机概念模型,他们分别是:在IBM S/390上使用的IBM模型:在跨平台的Internet应用程序中使用的JAVA虚拟机模型:以及在现代操作系统中使用的扩展虚拟机模型.最后我们介绍了UNIX虚拟机模型,它以UNIX用户外壳的形式表现出来.所有这四种虚拟机模型的基础都是组合指令去模拟设备或者机器.每个类型的虚拟机都有其主要的特征

Vmware虚拟机下三种网络模式配置

VMware虚拟机有三种网络模式,分别是Bridged(桥接模式).NAT(网络地址转换模式).Host-only(主机模式). VMware workstation安装好之后会多出两个网络连接,分别是VMware Network Adapter VMnet1和VMware Network Adapter VMnet8,这两个是可以在主机的网络连接中可以查看到的,还有一个是VMnet0,可以在virtual network editor中看到.这三个虚拟网络都是VMware安装好之后自动生成的,

虚拟机概论(二)——译者序

译者序 断断续续,这篇文章翻译了七天,今天终于完工了.虽然考研的初试,复试都已经结束,但结果未出之前,心中总免不了一点忐忑.这多少影响了我做这项工作的情绪.然而让我切实感到困难的事情是语言的组织.以前也翻看过不少英文资料,但都限于心领神会而已,从来没有想过把它们精准地翻译出来.毕竟已经整整四年没有正儿八经地写过东西了,为了清楚地表达自己所领悟到的原文含义,反复推敲是再所难免的了. 虚拟机这个概念是我去年选修JAVA程序设计语言的时候注意到的.JAVA无疑一种优秀的语言,然而它和C#之间近乎白热化

虚拟机概论(六)——JAVA虚拟机模型

JAVA虚拟机模型 由于它的高度可移植性,JAVA已经成为Internet上的主要编程语言. "模拟机"的概念是计算机工业界经常使用的对虚拟机的解释之一.这种虚拟机概念和IBM版的虚拟机非常不同.在IBM的概念中,系统内存和资源被分割,成为当前机器的精确拷贝.而对于模拟机,系统并不被分割,而是有一台新的"机器"或者虚拟机加载到当前系统中,在不改变当前系统的前提下,向用户提供不同的功能.这种类型的虚拟机被证明是非常强大的,它允许软件开发人员在一台完全不同的机器上仿效另

虚拟机概论(七)——OSI虚拟机模型

OSI虚拟机模型 "虚拟"就是在暗示某时某地,虽然一个对象或者设备并不存在,但人们可以看到它 "虚拟机"这个词容易让许多人产生丰富的联想.流行媒体和新闻广播在报道关于计算机模拟和计算机游戏的新发展时,通常会用到"虚拟"这个词.在任何一种情况下,使用"虚拟"就是在暗示某时某地,虽然一个物体或者设备并不存在,但人们可以看到它.虚拟的这一用法是关于扩展虚拟机发展的合理假设.扩展虚拟机的创建和继续发展是计算机操作系统在能力和灵活性上的