複製鏈接
請複製以下鏈接發送給好友

虛擬機器

鎖定
虛擬機器(virtual machine),在計算機科學中的體系結構裏,是指一種特殊的軟件,他可以在計算機平台和終端用户之間建立一種環境,而終端用户則是基於這個軟件所建立的環境來操作軟件。在計算機科學中,虛擬機是指可以像真實機器一樣運行程序的計算機的軟件實現。
中文名
虛擬機器
外文名
virtual machine
定    義
在計算機科學中的體系結構裏,是指一種特殊的軟件,他可以在計算機平台和終端用户之間建立一種環境,而終端用户則是基於這個軟件所建立的環境來操作軟件
運行環境
JAVA
分    類
系統虛擬機程序虛擬機

虛擬機器定義

虛擬機最初由波佩克與戈德堡定義為有效的、孤立的真實機器的副本 。當前包括跟任何真實機器無關的虛擬機。
例子: 用Java編寫的程序可以通過對Java運行環境(JRE)軟件發命令獲得服務,取得期望的結果。透過提供這種服務,Java軟件起到了虛擬機的作用。程序不必為特定的操作系統或硬件編寫。
虛擬機根據它們的運用和與直接機器的相關性分為兩大類。系統虛擬機提供一個可以運行完整操作系統的完整的系統平台。相反,程序虛擬機為運行單個計算機程序設計,這意味它支持單個進程。虛擬機的一個本質特點是運行在虛擬機上的軟件被侷限在虛擬機提供的資源裏——它不能超出虛擬世界。
系統虛擬機
程序虛擬機
</strong>例如:JVM

虛擬機器技術

硬件的仿真
</strong>基於這種虛擬機,用户可以運行任何操作系統,比如可以在他們“個人的”虛擬電腦上運行兩個不同的操作系統(也被稱為“訪客(guests)”)。這樣的話,新版的實驗性操作系統就可以與舊版的較穩定版本一同在單獨的虛擬機上運行。這個過程甚至可以重複(recursive);IBM就在運行於舊版的虛擬機上的虛擬機上調試它新版的虛擬機操作系統,VM。
這個概念的一個早期使用者就是IBM的VM/CMS time-sharing產品,該產品使用的交互式計算單用户操作系統,CMS,相對來説比較簡單,運行於VM上。通過這種方式,CMS編寫起來就比較簡單,就好像只有它一個在運行一樣,VM操作系統就在幕後提供多任務以及資源管理服務。
當然,不是每個VM用户都必須運行CMS;有些用户選擇在一個或者多個虛擬機上運行某種OS/360(或者MVS),來提供傳統上的批處理服務。今天,IBM大型機還在使用VM,許多虛擬機上運行的是Linux操作系統。
VMware、twoOStwo以及SVISTA軟件包在現代PC上都在處理類似截獲硬件訪問,模擬除了處理器以外的任何主板上的器件的事情。
plex86屬於另外一種情況,它使用特定的打過補丁的內核,只能運行於Linux下,而且只能在其之上運行Linux。因此,它不是仿真處理器,它利用bochs來仿真主板設備。
現代PC使用的x86處理器架構其實並不能滿足Popek和Goldberg虛擬化要求。很明顯,這種架構缺少所有特權機器指令都會產生異常的模式,而這種模式可以做到單指令的虛擬化。這導致VMware或類似的x86虛擬軟件必須動態地重新編譯特權模式代碼。這種虛擬技術和運行於如IBM System/370、Motorola MC68020的原生態可虛擬架構上的VM相比,就會多出一些性能上的開銷。Intel和AMD都聲稱計劃給未來的x86處理器加入x86虛擬化能力。
非原生系統的模擬

虛擬機器虛擬機器列表

虛擬軟件的更多描述
下列的軟件產品可以用來虛擬硬件,故可用於各種操作系統之上。
Adeos 是一種硬件抽象層
KVM 是一種 Linux kernel模組,可以修正 QEMU program 使之可使用硬件虛擬實境 (hardware virtualization).