首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


用搜狗搜索相关网站  Google Search

虚拟机

维库,知识与思想的自由文库

跳转到: 导航, 搜索

虚拟机virtual machine),在计算机科学中的体系结构里,是指一种特殊的软件,他可以在计算机平台終端用戶之间建立一种环境,而終端用戶则是基于这个环境来操作软件。a virtual machine in computer science is software that creates an environment between the computer platform and the end user in which the end user can operate software.

确切的说,“虚拟机”这个术语有几个不同的含义:Specifically, the term virtual machine has severa7l distinct meanings:

目录

[编辑] 定义

[编辑] 原始含义Original meaning

一个更原始的关于虚拟机的说法是这样的。最初的程序员编写程序是直接写硬件指令的,这也是所谓编码(coding)一词的由来,后来出现了“自动编程工具与语言”,其实就是现在所谓的编译程序与编程语言,它们帮助程序员自动生成硬件指令,从此程序员不再需要和物理的计算机打交道了,而是和一个逻辑的计算机打交道,这就是最最原始的虚拟计算机的概念。在此基础之上发展出计算机操作系统。

虚拟机”较原始的一个含义是指一台电脑中精确的模拟一系列不同的电脑环境。这让每位用户感觉到他在一台完整、與其他用户互相隔离的计算机上操作;尽管事实上大家都在在同一台實體计算机上。提供给计算机这种能力的软件,宿主软件,通常被叫做虚拟机管理器(virtual machine monitor或hypervisor)。

另一个关于虚拟机的概念是这样的。在windows的现行版本中存在着多个子系统,例如DOS子系统、WIN32子系统,它们用来仿真旧的操作系统环境实现对继承下来的软件的支持,这些子系统显然就是虚拟机。

[编辑] 应用程序虚拟机Application virtual machine

此外, 虚拟机更普遍的意思:是一个使得用户的应用程序独立于电脑的电脑软件。因为不同的电脑平台有特别替它编写的虚拟机,面向虚拟机编写的应用程序就可以在不同的平台上运行,而不必为每个电脑和操作系统编写独立的应用程序版本。应用程序的运行是靠解释器或者实时编译技术

[编辑] 操作系统虚拟机

这里虚拟机也用于指由一个模拟器所建立的一个环境,这个模拟器可以为最终用户在自己本地的操作系统上模拟另一个操作系统

[编辑] 并行虚拟机〈Parallel Virtual Machine〉

近年来,“虚拟机”这个词也可以用来指一个并行虚拟机(PVM)。将众多电脑串联起来,当作一个大型的平行运算电脑使用。

[编辑] 技术Techniques

[编辑] 硬件的仿真Emulation of the underlying raw hardware

基于这种虚拟机,用户可以运行任何操作系统,比如可以在他们“个人的”虚拟电脑上运行兩個不同的操作系统(也被称为“访客(guests)”)。这样的话,新版的实验性操作系统就可以与旧版的较稳定版本一同在单独的虚拟机上运行。这个过程甚至可以重复(recursive);IBM就在运行于旧版的虚拟机上的虚拟机上调试它新版的虚拟机操作系统,VM

这个概念的一个早期使用者就是IBM的VM/CMS time-sharing产品,该产品使用的交互式计算单用户操作系统,CMS,相对来说比较简单,运行于VM上。通过这种方式,CMS编写起来就比较简单,就好像只有它一个在运行一样,VM操作系统就在幕后提供多任务以及资源管理服务。

当然,不是每个VM用户都必须运行CMS;有些用户选择在一个或者多个虚拟机上运行某种OS/360(或者MVS),来提供传统上的批处理服务。今天,IBM大型机还在使用VM,许多虚拟机上运行的是Linux操作系统。

VMwaretwoOStwo以及SVISTA软件包在现代PC上都在处理类似截获硬件访问,模拟除了处理器以外的任何主板上的器件的事情。

plex86属于另外一种情况,它使用特定的打过补丁的内核,只能运行于Linux下,而且只能在其之上运行Linux。因此,它不是仿真处理器,它利用bochs来仿真主板设备。

现代PC使用的x86处理器架构其实并不能满足Popek和Goldberg虚拟化要求。很明显,这种架构缺少所有特权机器指令都会产生异常的模式,而这种模式可以做到单指令的虚拟化。这导致VMware或类似的x86虚拟软件必须动态地重新编译特权模式代码。这种虚拟技术和运行于如IBM System/370、Motorola MC68020的原生态可虚拟架构上的VM相比,就会多出一些性能上的开销。IntelAMD都声称计划给未来的x86处理器加入x86虚拟化能力

[编辑] 非原生系統的模擬

Some of this class of virtual machines are emulators; these allow software written for one machine to run on another. Emulation for computer systems can include emulation for both different machine architectures, and operating systems.

Others produce behaviors and capabilities of a machine that doesn't necessarily exist as an actual piece of hardware but may only be a detailed specification. For example, the p-Code machine specification (one of the first, used for support of Pascal) was a description of a specific set of capabilities and behaviors that programmers could use to write programs that would run on any computer running virtual machine software that correctly implemented the specification.

More modern examples include the specification of the Java virtual machine and the Common Language Infrastructure virtual machine at the heart of the Microsoft .NET initiative.

These allow diverse computers all to run software written to that specification; the virtual machine software itself must be written separately for each type of computer on which it runs.

[编辑] 虛擬機器列表

[编辑] See also

[编辑] External links

其它语言
AD Links