摘 要: 操作系統(tǒng)實(shí)驗(yàn)對(duì)實(shí)驗(yàn)資源要求往往較高,在實(shí)驗(yàn)資源不足的情況下,一些關(guān)鍵實(shí)驗(yàn)不易開展。設(shè)本文以操作系統(tǒng)課程為例,介紹了如何利用虛擬機(jī)技術(shù)通過對(duì)現(xiàn)有資源的有效利用,來達(dá)到優(yōu)化實(shí)驗(yàn)教學(xué)資源的目的,這也為其他專業(yè)課實(shí)驗(yàn)提供了參考依據(jù)。
關(guān)鍵詞: 虛擬機(jī)技術(shù) 優(yōu)化實(shí)驗(yàn)教學(xué)資源 操作系統(tǒng)
操作系統(tǒng)在計(jì)算機(jī)科學(xué)的知識(shí)體系結(jié)構(gòu)中占據(jù)重要的地位,該課程以操作系統(tǒng)中經(jīng)典的算法和成熟的設(shè)計(jì)思想為核心教學(xué)內(nèi)容,具有概念抽象、系統(tǒng)性差、原理性強(qiáng),但卻對(duì)實(shí)驗(yàn)環(huán)境和學(xué)生知識(shí)掌握要求高等特點(diǎn)。面對(duì)這樣一門課程,如何利用虛擬機(jī)技術(shù)將有限的教學(xué)資源作用發(fā)揮到極致,讓教師和學(xué)生普遍都覺得困難的一門課程變得易于操作和理解,是本文要探討的根本所在。
一、操作系統(tǒng)實(shí)驗(yàn)環(huán)境及實(shí)驗(yàn)特點(diǎn)
1.實(shí)驗(yàn)環(huán)境
操作系統(tǒng)實(shí)驗(yàn)環(huán)境選擇易于實(shí)現(xiàn)的Windows+Linux實(shí)驗(yàn)環(huán)境。Linux是一套類Unix操作系統(tǒng),具有Unix全部特征,且系統(tǒng)的源代碼完全公開我們通過該系統(tǒng)可以使學(xué)生容易獲取并剖析核心模塊源程序。具體的實(shí)驗(yàn)是基于Windows還是Linux來實(shí)現(xiàn),可以根據(jù)具體需求來選擇,因同一個(gè)實(shí)驗(yàn)雖然實(shí)驗(yàn)重點(diǎn)相同,但在具體實(shí)現(xiàn)時(shí)會(huì)因?qū)崿F(xiàn)環(huán)境不同而有很大不同的。所以對(duì)求知欲和個(gè)人能力強(qiáng)的學(xué)生也可以選擇兩種操作系統(tǒng),通過對(duì)比來進(jìn)一步加深對(duì)操作系統(tǒng)原理的領(lǐng)悟。
2.實(shí)驗(yàn)特點(diǎn)
?。?)對(duì)實(shí)驗(yàn)教學(xué)資源要求高。有時(shí)需要同時(shí)在不同操作系統(tǒng)環(huán)境下實(shí)驗(yàn),即使是同一操作系統(tǒng)下的實(shí)驗(yàn),也有可能需要不同版本的,這些需要在有限的資源易于實(shí)現(xiàn)。
?。?)對(duì)系統(tǒng)具有修改和破壞性。實(shí)驗(yàn)室為方便管理和維護(hù),往往將系統(tǒng)分區(qū)寫保護(hù),而很多實(shí)驗(yàn)又需要修改系統(tǒng)設(shè)置,安裝軟件。一些涉及計(jì)算機(jī)的某些系統(tǒng)維護(hù)實(shí)驗(yàn),如CMOS、磁盤分區(qū)、格式化、安裝操作系統(tǒng)、系統(tǒng)備份與恢復(fù)等,因要對(duì)磁盤進(jìn)行破壞性實(shí)驗(yàn),擔(dān)心損壞硬件設(shè)備,教師多采取課堂演示或以講代練的方式進(jìn)行教學(xué)。
(3)實(shí)驗(yàn)連續(xù)性強(qiáng)。操作系統(tǒng)的有些實(shí)驗(yàn)內(nèi)容較多、耗時(shí)長(zhǎng),各實(shí)驗(yàn)間聯(lián)系較多,本次的實(shí)驗(yàn)狀態(tài)往往是下一個(gè)實(shí)驗(yàn)的起點(diǎn),這就需要對(duì)實(shí)驗(yàn)?zāi)硞€(gè)時(shí)點(diǎn)的狀態(tài)加以保護(hù)。而實(shí)驗(yàn)室機(jī)器不是專用的,很難保存實(shí)驗(yàn)狀態(tài)以便下次實(shí)驗(yàn)繼續(xù)。
?。?)網(wǎng)絡(luò)實(shí)驗(yàn)實(shí)施受限。諸如局域網(wǎng)的組建、網(wǎng)絡(luò)配置與管理、網(wǎng)絡(luò)服務(wù)配置、遠(yuǎn)程訪問和路由設(shè)置、Web開發(fā)等網(wǎng)絡(luò)實(shí)驗(yàn),因網(wǎng)絡(luò)訪問需要多臺(tái)機(jī)器,而幾人一組,實(shí)驗(yàn)效果又難達(dá)預(yù)期目的,使學(xué)生學(xué)完課程卻無法解決實(shí)際問題。
二、VMWare虛擬機(jī)技術(shù)的引入
VMware實(shí)際上是一個(gè)虛擬機(jī)軟件,安裝在已有操作系統(tǒng)的主機(jī)上,可以在現(xiàn)有操作系統(tǒng)上虛擬出一個(gè)新的主機(jī)。這個(gè)虛擬主機(jī)一方面是建立在正在運(yùn)行的操作系統(tǒng)之上的,同時(shí)它又擁有自己獨(dú)立的CPU、硬盤、內(nèi)存及各個(gè)硬件。在虛擬出來的子機(jī)上安裝操作系統(tǒng)后,可以像使用普通機(jī)器一樣對(duì)它們進(jìn)行分區(qū)、格式化、安裝系統(tǒng)、對(duì)硬件進(jìn)行配置和應(yīng)用軟件等操作;還可通過虛擬網(wǎng)卡實(shí)現(xiàn)主機(jī)和虛擬機(jī)之間的虛擬網(wǎng)絡(luò)連接,從而構(gòu)建出虛擬的雙機(jī)互連網(wǎng)絡(luò)環(huán)境。所有的這些操作都不會(huì)對(duì)真實(shí)主機(jī)的硬盤分區(qū)和數(shù)據(jù)造成任何影響和破壞,而僅僅是在主機(jī)上將硬盤和內(nèi)存的一部分拿出來虛擬出若干臺(tái)虛擬機(jī),而且虛擬操作平臺(tái)可以同時(shí)支持運(yùn)行多個(gè)虛擬機(jī)操作系統(tǒng)而互相不干擾。
三、虛擬機(jī)技術(shù)對(duì)實(shí)驗(yàn)資源的優(yōu)化
1.簡(jiǎn)便的系統(tǒng)安裝和系統(tǒng)復(fù)原
一臺(tái)機(jī)器的整個(gè)環(huán)境就是一個(gè)文件夾,不同的操作系統(tǒng)之間可以實(shí)現(xiàn)文件共享以及復(fù)制粘貼等功能,允許真實(shí)主機(jī)與虛擬機(jī)之間或者虛擬機(jī)與虛擬機(jī)之間進(jìn)行文件復(fù)制和粘貼操作。把VMWare安裝在系統(tǒng)盤上,設(shè)置系統(tǒng)盤為寫保護(hù),把虛擬計(jì)算機(jī)復(fù)制到可寫的硬盤分區(qū),該虛擬計(jì)算機(jī)能夠照常運(yùn)行。
VMware的快照和恢復(fù)功能可在任意時(shí)刻為虛擬機(jī)進(jìn)行快照,快照將保存進(jìn)行快照時(shí)刻虛擬機(jī)的所有狀態(tài),然后在任意時(shí)刻恢復(fù)到虛擬機(jī)任何一個(gè)快照狀態(tài)。在虛擬機(jī)啟動(dòng)關(guān)閉或暫停時(shí)都可進(jìn)行快照。
2.輕松實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)驗(yàn)
服務(wù)器的配置往往需要有一個(gè)網(wǎng)絡(luò)環(huán)境,最好是Linux做服務(wù)器,Windows系統(tǒng)做客戶端來測(cè)試服務(wù)器的運(yùn)行效果。但學(xué)生實(shí)驗(yàn)時(shí)很難為每個(gè)學(xué)生配備兩臺(tái)機(jī)器來滿足實(shí)驗(yàn)。而VMware可以安裝多個(gè)虛擬機(jī)的特點(diǎn),就可以很好地解決這一問題??梢栽傺b一個(gè)Windows虛擬機(jī)來形成一個(gè)網(wǎng)絡(luò)環(huán)境。這時(shí)候只需要設(shè)置Linux和Windows在同一個(gè)網(wǎng)段上就可以形成一個(gè)網(wǎng)絡(luò),以滿足這類實(shí)驗(yàn)的要求,卻無需啟動(dòng)多臺(tái)計(jì)算機(jī)。
3.多系統(tǒng)運(yùn)行,無需重啟即可切換
使用VMware可以在一臺(tái)機(jī)器上真正同時(shí)運(yùn)行兩個(gè)或更多個(gè)獨(dú)立的操作系統(tǒng),一個(gè)是本機(jī)的操作系統(tǒng),另外的可以運(yùn)行于虛擬機(jī)上。而使用了VMware安裝的新的操作系統(tǒng)可以和原操作系統(tǒng)同時(shí)運(yùn)行而不需要來回重啟系統(tǒng),只需要簡(jiǎn)單的切換即可。在使用上,這臺(tái)虛擬機(jī)和真正的物理機(jī)沒有太大區(qū)別,都需要分區(qū)、格式化、安裝操作系統(tǒng)、安裝應(yīng)用程序和軟件。
4.大型實(shí)驗(yàn)可以分步實(shí)現(xiàn)
可以虛擬計(jì)算機(jī)不關(guān)機(jī)的狀態(tài)下離開,下次實(shí)驗(yàn)直接繼續(xù)。系統(tǒng)會(huì)自動(dòng)保存虛擬機(jī)器的內(nèi)存信息,再次運(yùn)行的時(shí)候,自動(dòng)恢復(fù)到該狀態(tài)。這樣就使得一些大型耗時(shí)比較長(zhǎng)的實(shí)驗(yàn)在一次無法完成的情況下,保存好斷點(diǎn),下次繼續(xù),而不至于半途而廢。
四、使用虛擬機(jī)優(yōu)化實(shí)驗(yàn)資源的優(yōu)點(diǎn)
與傳統(tǒng)實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)方式相比,使用VMWare搭建實(shí)驗(yàn)環(huán)境進(jìn)行操作系統(tǒng)實(shí)驗(yàn)教學(xué)有如下優(yōu)點(diǎn)。
1.經(jīng)濟(jì)性
虛擬機(jī)實(shí)驗(yàn)平臺(tái)是共享主機(jī)的硬件資源,僅需利用現(xiàn)有的少量設(shè)備即可構(gòu)建復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)和實(shí)驗(yàn)環(huán)境,同時(shí)虛擬機(jī)采用軟件方式。因此也不會(huì)增大實(shí)驗(yàn)室的硬件維護(hù)工作量,這也就大大地減少了“維護(hù)維修實(shí)驗(yàn)室”的經(jīng)費(fèi)投入。用虛擬環(huán)境可以構(gòu)造出當(dāng)前硬件并不支持的操作系統(tǒng)或其他軟件,使得一些原來無法進(jìn)行的實(shí)驗(yàn)得以完成。
2.可靠性
虛擬設(shè)備不存在兼容性問題,因此由虛擬的設(shè)備和虛擬的網(wǎng)絡(luò)組成的實(shí)驗(yàn)系統(tǒng),最大限度地排除了外界因素對(duì)實(shí)驗(yàn)結(jié)果的影響,使實(shí)驗(yàn)環(huán)境的可靠性大大提高并最大限度地減小了實(shí)驗(yàn)過程中造成硬件損壞或系統(tǒng)癱瘓的可能性。同時(shí)虛擬機(jī)具有硬件無關(guān)性,虛擬出的硬件都是相同的,可以簡(jiǎn)單地在不同的主機(jī)之間復(fù)制后直接使用,而不用考慮硬件之間彼此的差異。
3.實(shí)用性
虛擬機(jī)實(shí)驗(yàn)平臺(tái)多是建立在高性能物理機(jī)上的。因此實(shí)驗(yàn)過程中極少出現(xiàn)硬件類故障,因而確保了實(shí)驗(yàn)的順利進(jìn)行,加快了實(shí)驗(yàn)進(jìn)程,使學(xué)生能在一次實(shí)驗(yàn)中對(duì)相應(yīng)實(shí)驗(yàn)進(jìn)行多次驗(yàn)證而提高熟練程度。同時(shí)VMWare模擬出來的硬件是固定型號(hào)的,與主機(jī)實(shí)際硬件無關(guān),虛擬系統(tǒng)實(shí)際上就是物理計(jì)算機(jī)上的一個(gè)文件夾以及下面的文件,需要?jiǎng)h除的時(shí)候,只要?jiǎng)h除這個(gè)文件夾就可以了。
4.還原性
在進(jìn)行Linux操作系統(tǒng)的系統(tǒng)設(shè)置及修改實(shí)驗(yàn)時(shí),涉及用戶管理、文件系統(tǒng)創(chuàng)建、磁盤管理、磁盤配額等諸多實(shí)驗(yàn),其中有些對(duì)系統(tǒng)極具危險(xiǎn)性。而VMware中的快照和恢復(fù)功能很好地解決這一問題。當(dāng)實(shí)驗(yàn)過程中因不當(dāng)操作而造成對(duì)系統(tǒng)破壞時(shí),就可以利用保存的快照來對(duì)系統(tǒng)進(jìn)行恢復(fù),方便易行。
五、結(jié)語
利用虛擬機(jī)技術(shù)可以充分地挖掘現(xiàn)有設(shè)備的潛力,由于是通過軟件來實(shí)現(xiàn)的一個(gè)邏輯上的計(jì)算機(jī)。這樣硬件上的操作對(duì)計(jì)算機(jī)并不造成損害,在不添加額外硬件設(shè)備的條件下,可以增加學(xué)生的實(shí)踐動(dòng)手機(jī)會(huì),加強(qiáng)學(xué)生的實(shí)踐技能。虛擬機(jī)技術(shù)的引入提高了現(xiàn)有資源得以優(yōu)化,提高了和擴(kuò)展了其利用率,對(duì)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)深入學(xué)習(xí)和實(shí)踐操作系統(tǒng)起到了事半功倍的作用。
參考文獻(xiàn):
?。?]姚華,黃蕓,胡劍鋒.Linux課程教學(xué)方法探討[J].電腦知識(shí)與技術(shù),2007,(5).
[2]賈禮遠(yuǎn),李芃.基于VMware的虛擬機(jī)技術(shù)在計(jì)算機(jī)教育中的應(yīng)用[J].中國現(xiàn)代教育裝備,2008,(2).