透過 vmware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115...

9
補充教材 電子計算機概論(二) 110 393 97 . 3 . 16 / 顏春煌 假如一台電腦安裝了多個作業系統,則其中一個作業系統當機時並不影 響其他的作業系統。換句話說,若是其中一個作業系統被病毒癱瘓了,其他 的作業系統並不受影響。由於現在 的電腦處理器效能越來越高、儲存 裝置的空間也越來越大,同時執行 與安置多個作業系統已不成問題。 對於想學習多種作業系統的人來 說,只需要一部電腦、一個硬碟就 可以輕鬆辦到,其中的關鍵就在於 虛擬化(virtualization)的技術,而 VMWare就是支援虛擬化的軟體。 【加深印象】虛擬化的技術可以看成是電腦的資源由各種不同的作業系統來分 享,但若作業系統不一樣,則對資源存取時所使用的指令或方法就有可能不同, 所以虛擬化技術從異中求同,讓作業系統透過它與資源溝通。這個道理就如同以 下的語言翻譯機的情況,假設有很多資料是以英文撰寫,那麼使用不同語言的人 可以透過翻譯機瀏覽這些資料。 以描述電腦的虛擬機器來說,一台電腦最主要的組成為處理器、記憶體、儲存磁 碟與網路。這些實體的設備在虛擬機器中以虛擬設備(virtual devices)的型式存 在,例如電腦有一個實體的硬體,我們在電腦系統中新增一個虛擬機器,這個虛 擬機器的硬碟是以一個實體磁碟的檔案存在;同樣地,虛擬機器也會有一個光碟 機,這個光碟機可以直接對應到一個實體的光碟機,或是對應到硬碟上的一個映 像檔案。電腦系統中可以新增多個虛擬機器,然後在虛擬機器上安裝特定的作業 系統,完成安裝以後,虛擬機器可以開機、執行安裝的作業系統,然後透過虛擬 化的技術使用實體電腦的資源。只要電腦的配備夠好,使用這些虛擬機器與一般 的實體電腦是沒有什麼差別的。 透過 VMware來學習多種電腦作業系統

Upload: others

Post on 25-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

補充教材 電子計算機概論(二)110 393

空 大 學 訊 97 . 3 . 16

/ 顏春煌

假如一台電腦安裝了多個作業系統,則其中一個作業系統當機時並不影

響其他的作業系統。換句話說,若是其中一個作業系統被病毒癱瘓了,其他

的作業系統並不受影響。由於現在

的電腦處理器效能越來越高、儲存

裝置的空間也越來越大,同時執行

與安置多個作業系統已不成問題。

對於想學習多種作業系統的人來

說,只需要一部電腦、一個硬碟就

可以輕鬆辦到,其中的關鍵就在於

虛擬化(virtualization)的技術,而

VMWare就是支援虛擬化的軟體。

【加深印象】虛擬化的技術可以看成是電腦的資源由各種不同的作業系統來分

享,但若作業系統不一樣,則對資源存取時所使用的指令或方法就有可能不同,

所以虛擬化技術從異中求同,讓作業系統透過它與資源溝通。這個道理就如同以

下的語言翻譯機的情況,假設有很多資料是以英文撰寫,那麼使用不同語言的人

可以透過翻譯機瀏覽這些資料。

以描述電腦的虛擬機器來說,一台電腦最主要的組成為處理器、記憶體、儲存磁

碟與網路。這些實體的設備在虛擬機器中以虛擬設備(virtual devices)的型式存

在,例如電腦有一個實體的硬體,我們在電腦系統中新增一個虛擬機器,這個虛

擬機器的硬碟是以一個實體磁碟的檔案存在;同樣地,虛擬機器也會有一個光碟

機,這個光碟機可以直接對應到一個實體的光碟機,或是對應到硬碟上的一個映

像檔案。電腦系統中可以新增多個虛擬機器,然後在虛擬機器上安裝特定的作業

系統,完成安裝以後,虛擬機器可以開機、執行安裝的作業系統,然後透過虛擬

化的技術使用實體電腦的資源。只要電腦的配備夠好,使用這些虛擬機器與一般

的實體電腦是沒有什麼差別的。

透過 VMware來學習多種電腦作業系統

Page 2: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

111

一、虛擬機器(virtual machines)的概念

電腦系統可以看成是由很多層次所組成的,最底下的層次是硬體,作業

系統的核心(kernel)在硬體之上,以系統呼叫(system call)來代表一些硬

體的指令,讓更上層的成員使用,核心之上的系統程式可以使用系統呼叫或

是硬體指令來建立更複雜的功能。系統程式可以讓更上層的應用程式使用。

對於應用程式來說,下層的功能皆可視為電腦系統的一部分,假如有採用虛

擬機器的技術,則處理元是在一個虛擬機器的環境中執行的。

在CPU排程機制與虛擬記憶體

技術的配合下,作業系統可以讓一

個處理元在執行上如同自己的處理

器與記憶體,但是事實上並非如

此,硬體的資源依然是所有處理元

共用的。【圖1】顯示虛擬機器的

概念,【圖1】左邊是一般的電腦

系統架構,【圖1】右邊採用虛擬

機器(virtual machine)的技術,不

同的處理元可以在不同的核心上執

行,IBM的VM作業系統就是相當

有名的虛擬機器實例。【圖1】虛擬機器的概念

Page 3: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

補充教材 電子計算機概論(二)112 393

空 大 學 訊 97 . 3 . 16

虛擬化的技術一直在進化中,發展VMWare的公司已經是美國科技類股的

上市公司,其有龐大的營收,

股價已接近60美元(資料來源:

quotes.nasdaq.com於2008年2月

1日的收盤資訊)。

虛擬化技術的複雜性來自兩

個因素,一個因素是與硬體之間

的介面,這與一般的作業系統一

虛擬機器就是虛擬化的技術,不同kernel中執行的處理元是彼此分隔的,

其實就相當於在同一台電腦上執行多個作業系統,每個作業系統執行自己的

kernel,管理自己的處理元,不過使用的是同一組硬體。

二、認識VMWare

市場上也有支援虛擬機器技術的軟體,例如【圖2】顯示的VMWare,使

用者在同一台電腦上不需要重新開機就可以執行不同作業系統的程式碼,這

樣的功能有很多潛在的用途,VMWare的精神是讓企業電腦硬體環境虛擬化,

讓使用者面對的是一致的介面,一般的虛擬機器觀念則可讓一些系統開發的

工作變得更方便,因為不同的作業系統的軟體版本可以在同一台電腦上測

試,若從系統保護的觀點來看,虛擬機器則有利於系統的隔離與保護。

【圖2】支援虛擬機器的軟體(資料來源:www.vmware.com)

Page 4: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

113

樣,針對不同的硬體需要不同的驅動程式(device drivers),另一個因素則是

虛擬化環境的提供,讓底下的硬體資源產生虛擬化的分身。雖然虛擬化的技

術主要在於軟體的發展,但是其價值在於衍生出來的效益大幅提升了硬體的

功能,尤其在電腦病毒問題日益嚴重時,虛擬化技術對於病毒的防範多了一

層防衛,雖然虛擬化軟體本身也有可能成為病毒攻擊的目標,但是難度很明

顯地提高了不少。

(一)VMWare發展上的策略

【圖3】顯示VMWare發展上的策略,VMWare本身提供的就是虛擬化的

層次(virtualization layer),Java的虛擬機器是另一個有名的例子,Java程

式編譯成位元碼(byte code)以後,可以在任何支援JVM(Java Virtual

Machine)的電腦中執行,這種特性使Java程式具有跨平台執行的能力。簡單

地說,虛擬機器以軟體技術在一個作業系統中模擬一台電腦執行另一種作業

系統,讓另一種作業系統的程式能在同一台實體電腦上執行。

【圖3】VMWare的策略

(二)虛擬機器與實體電腦之間的關聯

【圖4】顯示VMWare虛擬機器與實體電腦之間的關聯,MMU(Memory

Management Unit, MMU)會記錄CPU使用的位址與記憶體位址之間的對應,

因為MMU把記憶體空間分成許多大小一致的資料頁(pages)以儲存資料。使

用者可以透過VMWare新增虛擬機器,每一台VMWare virtual machine都具有

一致的電腦特徵,所以可以將作業系統安裝到虛擬機器上,但是安裝好的作

業系統在執行時對於實際硬體的使用其實是透過VMWare的軟體來協調的。

Page 5: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

補充教材 電子計算機概論(二)114 393

空 大 學 訊 97 . 3 . 16

(三)VMWare Workstation的使用實務

使用者必須先取得VMWare Workstation的軟體,安裝完成以後再啟動

VMWare Workstation,電腦上目前安裝的作業系統稱為host operating system,

透過VMWare在虛擬機器上安裝的作業系統稱為guest operating system。使用

VMWare Workstation時須先經由<File>—<New>—<Virtual Machine>建立一個

虛擬機器,然後透過這個虛擬機器開機。

【圖5】顯示的虛擬機器用來安裝Ubuntu的作業系統,視窗右下角所列的

就是這個虛擬機器所包含的裝置,在新增虛擬機器的時候,VMWare會詢問有

關將來安裝作業系統的類型。

【圖4】VMWare虛擬機器與實體電腦之間的關聯

【圖5】新增用來安裝Ubuntu作業系統的虛擬機器

Page 6: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

115

一般電腦在開機時按<F2>鍵會進入如【圖6】的BIOS畫面,可以設定開

機的裝置,VMWare的虛擬機器也有這樣的功能,就跟一台真的電腦一樣。使

用VMWare的時候,<Ctrl>—<Alt>—<Enter>組合鍵可以將使用者的輸入轉移

到Guest作業系統中,<Ctrl>—<Alt>組合鍵則是將使用者輸入恢復成host作業

系統的狀態。

【圖6】VMWare的BIOS

虛擬機器開機以後,其光碟機通常就直接對應到實體機器的光碟機,所

以若是光碟機中放入作業系統的安裝光碟,就會開始執行安裝程式。【圖7】

顯示安裝Ubuntu作業系統的過程,同樣有磁碟分割設定與格式化的步驟,與

一般實體電腦安裝相同作業系統的情況一模一樣。

【圖7】在VMWare中安裝Ubuntu

Page 7: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

補充教材 電子計算機概論(二)116 393

空 大 學 訊 97 . 3 . 16

Live CD可以直接透過光碟開機並同時執行作業系統,不需要先安裝,【

圖8】顯示Knoppix開機之後執行的情況,連網路的部分都已經可以使用。在

VMWare中執行作業系統於使用上與一般作業系統類似,沒有什麼差別,而

且基本上guest operating system並不影響host operating system。Guest operating

system要關機時可以執行其關機的指令,或直接透過VMWare的介面來關閉虛

擬機器。

【加深印象】VMWare可以在虛擬化的環境中建立虛擬的網路架構,這是很有趣

的功能,我們可以建立虛擬的交換器,把虛擬機器連上虛擬交換器,也可以將虛

擬交換器連上實體的網路,換句話說,虛擬機器本身可以形成一個虛擬網路的架

構,而虛擬網路可以與實體網路相連。所以企業可以在同一台電腦上建立一個企

業架構(enterprise architecture),其中有代表企業網路架構的虛擬網路架構,企

業的防火牆、伺服器或是網路設備都可以在這台電腦運作。

三、VMWare的Server程式

前面介紹的VMWare workstation程式會先安裝一種作業系統,接著安裝

VMWare workstation軟體之後,才透過VMWare workstation來安裝其他的作

業系統。VMWare Server不需要先安裝host operating system,可以直接安裝

VMWare Server的程式,由這個程式來掌握與支配硬體的資源。

【圖8】在VMWare中執行Knoppix

Page 8: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

117

安裝了VMWare Server之後,

電腦一開機就進入了VMWare的環

境,可以新增虛擬機器、安裝作業

系統,或是選擇使用某個已經建置

好的虛擬機器,這樣的安排也衍生

出許多潛在的應用。事實上,虛擬

機器建置完成之後,還可以透過

匯出(export)與匯入(import)的方式轉移到其他的實體電腦中,這種轉移

還可以經由網路來傳遞,就如同將一台電腦從一個地方傳送到另一個地點一

樣。

四、VMWare的設定

【圖9】顯示VMWare虛擬機器的設定介面,我們可以透過這個介面去更

改虛擬機器的裝置。就好像電腦需要更新配備一樣,只不過在VMWare中這樣

的動作都是透過設定來改變,不需要真正去拆卸機殼與設備。

【圖9】VMWare虛擬機器的設定介面

【加深印象】一般的電腦會有一個開機的程序,通常是依據儲存在主機板上稱為

BIOS的firmware來執行,決定透過哪一個裝置來開機。虛擬機器一樣有BIOS,儲

存在host operating system的特定檔案中,同樣可以更改。

Page 9: 透過 VMware來學習多種電腦作業系統enews.open2u.com.tw › ~noupd › book_up › 5115 › (393)110-118.pdf · 2008-03-25 · 補充教材 電子計算機概論(二)

補充教材 電子計算機概論(二)118 393

空 大 學 訊 97 . 3 . 16

五、VMWare的應用

虛擬化的技術擴大了硬體的使用率及資源的分享,除了VMWare以外,

Xen、Virtual Iron與Oracle VM也都是支援虛擬化技術的軟體。一般人可以透過

VMWare來安裝與學習各種作業系統,不必另外使用一個硬碟或是硬碟分割來

安裝其他的作業系統,而且guest operating system損壞時可以透過VMWare的磁

碟還原功能,不需要重新安裝作業系統。

(一)方便進行測試

軟體開發業者常需要在多種作業系統下測試自己的軟體,使用VMWare就

可以進行這樣的測試,而且可在同一台電腦比較其間的差異。

(二)進行網路程式設計與測試

網路程式設計往往需要在各種網路組態中進行,有時候還要測試不同作

業系統之間的通訊,而VMWare恰好都能提供這些環境,不需要麻煩網管人員

幫忙布置實體的網路,或是怕造成實體網路的問題。

(三)作業系統的開發

假如我們需要自己寫一個作業系統,一定會進行反覆的測試,透過虛擬

機器來進行這樣的測試是最方便的。當然,想學習或是研究作業系統的人也

很適合利用虛擬機器瞭解作業系統。

(作者為本科目學科委員兼召集人)