1、虛擬主機與虛擬機與空間的區別
平常說的虛擬主機和空間都值得是一個東西 用來做網站的 就是存儲網頁的 說法不一樣而已
虛擬機是 下面說的
虛擬化分類
虛擬化浪潮
VMware虛擬化
微軟虛擬化
IBM虛擬化
HP虛擬化
SWsoft虛擬化
SUN虛擬化
Intel虛擬化
AMD虛擬化
Java虛擬機
通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整計算機系統。通過虛擬機軟體,你可以在一台物理計算機上模擬出一台或多台虛擬的計算機,這些虛擬機[1]完全就像真正的計算機那樣進行工作,例如你可以安裝操作系統、安裝應用程序、訪問網路資源等等。對於你而言,它只是運行在你物理計算機上的一個應用程序,但是對於在虛擬機中運行的應用程序而言,它就像是在真正的計算機中進行工作。因此,當我在虛擬機中進行軟體評測時,可能系統一樣會崩潰,但是,崩潰的只是虛擬機上的操作系統,而不是物理計算機上的操作系統,並且,使用虛擬機的「Undo」(恢復)功能,我可以馬上恢復虛擬機到安裝軟體之前的狀態。
目前流行的虛擬機軟體有VMware(VMWare ACE)和Virtual PC,它們都能在Windows系統上虛擬出多個計算機,用於安裝Linux、OS/2、FreeBSD等其他操作系統。微軟在2003年2月份收購Connectix後,很快發布了Microsoft Virtual PC 2004。但出於種種考慮,新發布的Virtual PC 2004已不再明確支持Linux、FreeBSD、NetWare、Solaris等操作系統,只保留了OS/2,如果要虛擬一台Linux計算機,只能自己手工設置。相比而言,VMware不論是在多操作系統的支持上,還是在執行效率上,都比Virtual PC 2004明顯高出一籌,這也是本文選擇它的理由之一。
電腦一台變兩台,學用Linux不再有後顧之憂
VMware 4.5有Workstation、GSX server等多種版本,其中Windows版的Workstation應用最廣,本文即以它為基礎進行各種實戰演習。
虛擬機的概念比較寬泛,通常人們接觸到的虛擬機概念有VMware那樣的硬體模擬軟體,也有JVM這樣的介於硬體和編譯程序之間的軟體。這里所指的是後者。
虛擬機是一個抽象的計算機,和實際的計算機一樣,具有一個指令集並使用不同的存儲區域。它負責執行指令,還要管理數據、內存和寄存器。這台虛擬的機器在任何平台上都提供給編譯程序一個的共同的介面。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然後由解釋器來將虛擬機代碼轉換為特定系統的機器碼執行。
Sun xVM VirtualBox又發新版本:2.1.0。
2.1.0不像此前2.0.X一樣主要是修正Bug和完善原有功能,這個版本增加了許多新特性。強烈建議VBox的用戶們更新!
在官方網站的ChangeLog上,我們可以看到這個版本的主要更新信息:
* 支持Max OS X客戶機的硬體虛擬化技術(VT-x和AMD-V);
* 支持在32位操作系統上模擬64位客戶機!(實驗性質,具體看用戶手冊);
* 支持Intel Nehalem虛擬化增強技術(EPT和VPID,具體看用戶手冊);
* 通過OpenGL支持3D加速!(看用戶手冊4.8章);
還有很多更新,但是光是以上四樣就有足夠地理由讓用戶去升級了!
VirtualBox終於支持了通過OpenGL實驗的的3D加速,並且率先支持了在32位的操作系統上模擬64位的客戶機(需要64位CPU支持)。這意味著虛擬機平台的限制更少了,你可以在你的x86平台上模擬AMD64!
針對「OpenGL 3D加速」這一項,我了解到,這項特性目前只在Windows系統上可用,並且只能實現OpenGL加速,而沒有Direct3D加速。這意味著,你已經可以在Windows虛擬機運行一些OpenGL的3D應用,而Direct3D就要稍微等等了。
還等什麼呢,這是一個進步相當大的版本。趕緊下載試用吧:
個人為什麼使用虛擬機
1. 演示環境,可以安裝各種演示環境,便於做各種例子;
2. 保證主機的快速運行,減少不必要的垃圾安裝程序,偶爾使用的程序,或者測試用的程序在虛擬機上運行;
3. 避免每次重新安裝,銀行等常用工具,不經常使用,而且要求保密比較好的,單獨在一個環境下面運行;
4. 想測試一下不熟悉的應用,在虛擬機中隨便安裝和徹底刪除;
5. 體驗不同版本的操作系統,如Linux、Mac等。
http://xiaojg.spaces.live.com/blog/cns!820C63A54759569D!965.entry
[編輯本段]Java虛擬機
一、什麼是Java虛擬機
Java虛擬機(JVM)是Java Virtual Machine的縮寫,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能模擬來實現的。Java虛擬機有自己完善的硬體架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。
1.為什麼要使用Java虛擬機
Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。
2.誰需要了解Java虛擬機
Java虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對Java虛擬機有個大概的了解。這有助於理解Java語言的一些性質,也有助於使用Java語言。對於要在特定平台上實現Java虛擬機的軟體人員,Java語言的編譯器作者以及要用硬體晶元實現Java虛擬機的人來說,則必須深刻理解Java虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的位元組碼,你也需要深入地了解Java虛擬機。
3.Java虛擬機支持的數據類型
Java虛擬機支持Java語言的基本數據類型如下:
byte://1位元組有符號整數的補碼
short://2位元組有符號整數的補碼
int://4位元組有符號整數的補碼
long://8位元組有符號整數的補碼
float://4位元組IEEE754單精度浮點數
double://8位元組IEEE754雙精度浮點數
char://2位元組無符號Unicode字元
幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬體標記。操作這些原始數據類型數據的位元組碼(指令)本身就已經指出了操作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其操作數類型別是int、long、float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程序時,可能會非常慢。
虛擬機支持的其它數據類型包括:
object//對一個Javaobject(對象)的4位元組引用
returnAddress//4位元組,用於jsr/ret/jsr-w/ret-w指令
注:Java數組被當作object處理。
虛擬機的規范對於object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對指針:一個指針指向該object的方法表,另一個指向該object的數據。用Java虛擬機的位元組碼表示的程序應該遵守類型規定。Java虛擬機的實現應拒絕執行違反了類型規定的位元組碼程序。Java虛擬機由於位元組碼定義的限制似乎只能運行於32位地址空間的機器上。但是可以創建一個Java虛擬機,它自動地把位元組碼轉換成64位的形式。從Java虛擬機支持的數據類型可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平台無關性和可
移植性。
二、Java虛擬機體系結構
Java虛擬機由五個部分組成:一組指令集、一組寄存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區域。這五部分是Java虛擬機的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。
1.Java指令集
Java虛擬機支持大約248個位元組碼。每個位元組碼執行一種基本的CPU運算,例如,把一個整數加到寄存器,子程序轉移等。Java指令集相當於Java程序的匯編語言。
Java指令集中的指令包含一個單位元組的操作符,用於指定要執行的操作,還有0個或多個操作數,提供操作所需的參數或數據。許多指令沒有操作數,僅由一個單位元組的操作符構成。
虛擬機的內層循環的執行過程如下:
do{
取一個操作符位元組;
根據操作符的值執行一個動作;
}while(程序未結束)
由於指令系統的簡單性,使得虛擬機執行的過程十分簡單,從而有利於提高執行的效率。指令中操作數的數量和大小是由操作符決定的。如果操作數比一個位元組大,那麼它存儲的順序是高位位元組優先。例如,一個16位的參數存放時佔用兩個位元組,其值為:
第一個位元組*256+第二個位元組位元組碼指令流一般只是位元組對齊的。指令tabltch和lookup是例外,在這兩條指令內部要求強制的4位元組邊界對齊。
2.寄存器
Java虛擬機的寄存器用於保存機器的運行狀態,與微處理器中的某些專用寄存器類似。
Java虛擬機的寄存器有四種:
pc:Java程序計數器。
optop:指向操作數棧頂端的指針。
frame:指向當前執行方法的執行環境的指針。
vars:指向當前執行方法的局部變數區第一個變數的指針。
Java虛擬機
Java虛擬機是棧式的,它不定義或使用寄存器來傳遞或接受參數,其目的是為了保證指令集的簡潔性和實現時的高效性(特別是對於寄存器數目不多的處理器)。
所有寄存器都是32位的。
3.棧
Java虛擬機的棧有三個區域:局部變數區、運行環境區、操作數區。
(1)局部變數區
每個Java方法使用一個固定大小的局部變數集。它們按照與vars寄存器的字偏移量來定址。局部變數都是32位的。長整數和雙精度浮點數占據了兩個局部變數的空間,卻按照第一個局部變數的索引來定址。(例如,一個具有索引n的局部變數,如果是一個雙精度浮點數,那麼它實際占據了索引n和n+1所代表的存儲空間。)虛擬機規范並不要求在局部變數中的64位的值是64位對齊的。虛擬機提供了把局部變數中的值裝載到操作數棧的指令,也提供了把操作數棧中的值寫入局部變數的指令。
(2)運行環境區
在運行環境中包含的信息用於動態鏈接,正常的方法返回以及異常傳播。
·動態鏈接
運行環境包括對指向當前類和當前方法的解釋器符號表的指針,用於支持方法代碼的動態鏈接。方法的class文件代碼在引用要調用的方法和要訪問的變數時使用符號。動態鏈接把符號形式的方法調用翻譯成實際方法調用,裝載必要的類以解釋還沒有定義的符號,並把變數訪問翻譯成與這些變數運行時的存儲結構相應的偏移地址。動態鏈接方法和變數使得方法中使用的其它類的變化不會影響到本程序的代碼。
·正常的方法返回
如果當前方法正常地結束了,在執行了一條具有正確類型的返回指令時,調用的方法會得到一個返回值。執行環境在正常返回的情況下用於恢復調用者的寄存器,並把調用者的程序計數器增加一個恰當的數值,以跳過已執行過的方法調用指令,然後在調用者的執行環境中繼續執行下去。
·異常和錯誤傳播
異常情況在Java中被稱作Error(錯誤)或Exception(異常),是Throwable類的子類,在程序中的原因是:①動態鏈接錯,如無法找到所需的class文件。②運行時錯,如對一個空指針的引用
·程序使用了throw語句。
當異常發生時,Java虛擬機採取如下措施:
·檢查與當前方法相聯系的catch子句表。每個catch子句包含其有效指令范圍,能夠處理的異常類型,以及處理異常的代碼塊地址。
·與異常相匹配的catch子句應該符合下面的條件:造成異常的指令在其指令范圍之內,發生的異常類型是其能處理的異常類型的子類型。如果找到了匹配的catch子句,那麼系統轉移到指定的異常處理塊處執行;如果沒有找到異常處理塊,重復尋找匹配的catch子句的過程,直到當前方法的所有嵌套的catch子句都被檢查過。
·由於虛擬機從第一個匹配的catch子句處繼續執行,所以catch子句表中的順序是很重要的。因為Java代碼是結構化的,因此總可以把某個方法的所有的異常處理器都按序排列到一個表中,對任意可能的程序計數器的值,都可以用線性的順序找到合適的異常處理塊,以處理在該程序計數器值下發生的異常情況。
·如果找不到匹配的catch子句,那麼當前方法得到一個"未截獲異常"的結果並返回到當前方法的調用者,好像異常剛剛在其調用者中發生一樣。如果在調用者中仍然沒有找到相應的異常處理塊,那麼這種錯誤傳播將被繼續下去。如果錯誤被傳播到最頂層,那麼系統將調用一個預設的異常處理塊。
(3)操作數棧區 機器指令只從操作數棧中取操作數,對它們進行操作,並把結果返回到棧中。選擇棧結構的原因是:在只有少量寄存器或非通用寄存器的機器(如Intel486)上,也能夠高效地模擬虛擬機的行為。操作數棧是32位的。它用於給方法傳遞參數,並從方法接收結果,也用於支持操作的參數,並保存操作的結果。例如,iadd指令將兩個整數相加。相加的兩個整數應該是操作數棧頂的兩個字。這兩個字是由先前的指令壓進堆棧的。這兩個整數將從堆棧彈出、相加,並把結果壓回到操作數棧中。
每個原始數據類型都有專門的指令對它們進行必須的操作。每個操作數在棧中需要一個存儲位置,除了long和double型,它們需要兩個位置。操作數只能被適用於其類型的操作符所操作。例如,壓入兩個int類型的數,如果把它們當作是一個long類型的數則是非法的。在Sun的虛擬機實現中,這個限制由位元組碼驗證器強制實行。但是,有少數操作(操作符pe和swap),用於對運行時數據區進行操作時是不考慮類型的。
4.無用單元收集堆
Java的堆是一個運行時數據區,類的實例(對象)從中分配空間。Java語言具有無用單元收集能力:它不給程序員顯式釋放對象的能力。Java不規定具體使用的無用單元收集演算法,可以根據系統的需求使用各種各樣的演算法。
5.方法區
方法區與傳統語言中的編譯後代碼或是Unix進程中的正文段類似。它保存方法代碼(編譯後的java代碼)和符號表。在當前的Java實現中,方法代碼不包括在無用單元收集堆中,但計劃在將來的版本中實現。每個類文件包含了一個Java類或一個Java界面的編譯後的代碼。可以說類文件是Java語言的執行代碼文件。為了保證類文件的平台無關性,Java虛擬機規范中對類文件的格式也作了詳細的說明。其具體細節請參考Sun公司的Java虛擬機規范。
2、虛擬主機與空間的本質區別是什麼?
網站的三要素:域名,虛擬主機(空間),網站程序
首先你要將網站的程序編寫好;這個自己會用Dreamweaver就可以做了,如果要專業點的話就可以去找建站公司做。
然後去買域名和虛擬主機;這個對選擇一家合法正規的IDC運營商是很重要的,推薦去武漢互聯看下的。
接下來將域名解析到虛擬主機所在伺服器的IP地址上,對域名進行綁定,上傳網站程序,等域名解析生效後就可以訪問網站了的。
其實你說的虛擬主機就是我們所說的空間。放網站程序的虛擬空間。
希望可以幫到你。
3、主機和主機空間和虛擬主機空間是一樣的意思嗎?
虛擬主機就是「共享主機」,就是一台伺服器上有許多網站,大家共享這台伺服器的硬體和帶寬。
"雲主機"(Cloud hosting)可以看成是新一代的共享主機。 首先,主機公司將它的硬體和網路線路,做成一朵"雲",然後提供一些通向這朵"雲"的網路介面API,供客戶使用。這時,每個客戶共享的不再是某一台特定的伺服器,而是雲里的所有伺服器。如果要購買雲虛擬主機,國內這塊做的好是時代互聯。
4、網站空間和虛擬主機和伺服器有什麼區別?
伺服器:
伺服器可以是實體機伺服器,也可以是虛擬主機伺服器。
虛擬主機:
虛擬主機是通過軟體技術,在實體機伺服器虛擬出的伺服器,從使用者角度來說,功能上是完全一樣的,只是性能上會有很大差別,因為一台實體機伺服器可以虛擬出很多虛擬主機伺服器。
網站空間:
網站空間是你在租用的,存在伺服器上的一個存儲空間,這個空間可以在實體伺服器上,也可以在虛擬伺服器上。
5、虛擬主機和空間是什麼關系啊
1、虛擬專用伺服器(虛擬主機空間)("Virtual Private Server",或簡稱 "虛擬主機空間")是利用虛擬伺服器軟體(如微軟的Virtual Server、VMware的ESX server、SWsoft 的Virtuozzo)在一台物理伺服器上創建多個相互隔離的小伺服器。這些小伺服器(虛擬主機空間)本身就有自己操作系統,它的運行和管理與獨立伺服器完全相同。虛擬專用伺服器確保所有資源為用戶獨享,給用戶最高的服務品質保證,讓用戶以虛擬伺服器的價格享受到獨立伺服器的服務品質。
2、虛擬主機空間 對其用戶和應用程序來講,每一個虛擬主機空間 平台的運行和管理都與一台獨立伺服器完全相同, 因為每一個虛擬主機空間 均可獨立進行重啟並擁有自己的root訪問許可權、用戶、IP地址、內存、過程、文件、應用程序、系統函數庫以及配置文件.
3、每個虛擬主機空間 都可分配獨立公網IP地址、獨立操作系統、獨立超大空間、獨立內存、獨立CPU資源、獨立執行程序和獨立系統配置等. 虛擬主機空間 用戶除了可以分配多個虛擬伺服器及無限企業郵箱外, 更具有獨立伺服器功能, 可自行安裝程序, 單獨重啟伺服器 .
4、虛擬主機空間 的運行和管理與一台獨立伺服器完全相同, 但是在節約成本上有著獨有的優勢, 所以越來越受用戶歡迎.
5、無論是對於中小企業還是個人用戶來說,擁有自己的網站已不再是一件難事,投資幾百元你就可以很容易地通過服務商託管網站,用這種方式來建立網站。
6、虛擬主機和網頁空間有什麼區別啊?謝謝!
1)虛擬主機:是使用特殊的軟硬體技術,把一台網站伺服器分割成若干個「虛擬」的主機(有些專業服務商將一台主機分為數百甚至一千多個虛擬主機)。每個虛擬主機都可以是一個獨立的網站,可以具有獨立的域名,具有完整的Internet伺服器功能(WWW、FTP、Email等),同一台主機上的虛擬主機之間是完全獨立的。從網站訪問者來看,每一台虛擬主機和一台獨立的主機(採用伺服器託管、專線上網等方式建立的伺服器)完全一樣。
2)網頁空間:前面已經介紹過,虛擬主機是將網頁及程序存放在服務商提供的伺服器上,而且一台伺服器上要存放多個用戶的站點內容。服務商會採用一種方式,將伺服器的硬碟存貯空間劃分為許多塊,每一塊分給一個用戶使用。用戶只能將自己的網頁文件和程序放在自己的那一塊中,但不能查看或處理屬於別人的塊。這些劃分的存貯塊就叫做網頁空間(或WEB空間)。服務商提供給用戶的空間不可能是無限的,而是根據用戶的需要進行限制。如用戶申請了50M的空間,那麼用戶上傳的所有文件大小總和不得超過這個限制,超出部分伺服器將拒絕存放。用戶將自己的文件存放到伺服器上,是通過一種叫FTP的軟體來實現的。
7、虛擬主機和網站空間有什麼區別?
虛擬主機和網站空間是一個概念,一個是專業的術語一個是通俗的叫法,就是把貓叫了個咪
8、虛擬主機和空間是一個意思嗎
虛擬主機(Virtual Host Virtual Server)
是使用特殊的軟硬體技術,把一台計算機主機分成一台台「虛擬」的主機,每一台虛擬主機都具有獨立的域名和IP地址(或共享的IP地址),具有完整的Internet伺服器功能。在同一台硬體、同一個操作系統上,運行著為多個用戶打開的不同的伺服器程序,互不幹擾;而各個用戶擁有自己的一部分系統資源(IP地址、文件存儲空間、內存、CPU時間等)。虛擬主機之間完全獨立, 在外界看來, 每一台虛擬主機和一台獨立的主機的表現完全一樣。
虛擬主機簡稱空間,所以虛擬主機就是空間
9、虛擬主機和虛擬空間有什麼區別?
虛擬空間通常就是指虛擬主機,是虛擬主機的同義詞。默認來說,虛擬空間也就是虛擬主機,只不過虛擬主機是虛擬空間的專業術語而已,這兩者之間在本質上是一樣的,沒有什麼區別。
對於許多新手站長將虛擬主機和空間認為是不同的概念,主要因為是表述的不同,虛擬主機就是虛擬空間的另一種稱號而已,本質是一樣的。
虛擬主機的產生
由於實體伺服器需要更高的成本,比如硬體費用、機房租用費用以及人員維護成本等。為了更好的推廣互聯網,IDC公司推出了虛擬主機租用服務,也就是說你不需要購買硬體、帶寬、聘請運維人員等就可以使用伺服器資源搭建自己的互聯網服務,當然低成本的同時,性能也會相應的降低。
在同一台硬體、同一個操作系統上,運行著為多個用戶打開的不同的網站程序,互不幹擾;而各個用戶擁有自己的一部分系統資源,這樣大大增加了客戶的業務量,一台主機就可以分割好多個虛擬主機出來給不同的用戶使用。
西部數碼是國內知名的老牌主機提供商,虛擬主機產品豐富,獨享虛擬主機、共享虛擬主機等具有,基於雲計算,更穩定,更安全。多線路自由選擇,數據分發至高速節點,提供百度雲加速、360攻擊防護,讓網站運行更快速,更安全。
10、想請教虛擬主機和空間的區別
一、指代不同
1、虛擬主機:是一種在單一主機或主機群上,實現多網域服務的方法,可以運行多個網站或服務的技術。
2、雲空間:是大容量雲空間集合,由多台伺服器提供負載均衡,資源網站實際按需要進行動態分配。
二、功能不同
1、虛擬主機:虛擬主機之間完全獨立,並可由用戶自行管理,虛擬並非指不存在,而是指空間是由實體的伺服器延伸而來,其硬體系統可以是基於伺服器群,或者單個伺服器。
2、雲空間:通過使計算分布在大量的分布式計算機上,而非本地計算機或遠程伺服器中,企業數據中心的運行將更與互聯網相似。這使得企業能夠將資源切換到需要的應用上,根據需求訪問計算機和存儲系統。
三、特點不同
1、虛擬主機:主要應用於HTTP,FTP,EMAIL等多項服務,將一台伺服器的某項或者全部服務內容邏輯劃分為多個服務單位,對外表現為多個伺服器,從而充分利用伺服器硬體資源。
2、雲空間:適合網站比較多或者是網站建設公司,比VPS性能強,價格更便宜。