計算機在線虛擬實驗室建設研究
時間:2022-11-15 08:27:17
導語:計算機在線虛擬實驗室建設研究一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
【摘要】傳統教學機房存在如下問題:實驗環境搭建復雜,機房管理員需要為每臺機器安裝相應的實驗軟件;實驗課考核困難,給學生布置平時作業時,通常布置相同的題目,很難杜絕學生之間互相抄襲的現象;機房成本高、利用率低,部署實驗室機房需要采購大量計算機和網絡設備,機房設備的維護也耗費工作量。本文研究了面向計算機實驗教學的虛擬化技術,在在線虛擬實驗室中通過Linux的虛擬化技術,為每個學生在服務器端創建獨享的實驗環境,教師在服務器端安裝實驗軟件和實驗數據,只需要在服務器端配置一次實驗環境,即可被所有的學生共享,從而大大地簡化了實驗機房的管理。
【關鍵詞】在線實驗室;虛擬化;Linux操作系統
在傳統的教學機房中進行實驗教學面臨實驗環境搭建復雜、機房利用率低等問題。本文研究面向計算機專業實驗教學的在線虛擬實驗室建設,解決傳統機房教學的易用性問題。教師只需要在服務器端配置一次即可為所有學生提供相應的實驗環境,在客戶端無須安裝實驗軟件,學生使用瀏覽器即可訪問自己的實驗環境。
1在線虛擬實驗室要解決的問題
計算機類課程是實踐性很強的課程,在機房進行教學,學生可以及時上機嘗試操作、消化所學內容,能夠取得良好的教學效果。然而,傳統機房教學存在如下弊端。(1)傳統實驗課實驗環境搭建復雜。在傳統的實驗教學中,機房管理員需要為每臺機器安裝相應的實驗軟件,教師需要將實驗包(包括文檔、實驗數據)分發給學生,學生在實驗前需要手動配置自己的實驗環境[1]。某些實驗的實驗環境搭建尤其復雜,例如大數據實驗,需要為每個學生分配多臺機器,實驗數據的大小可能超過1GB,Hadoop配置較為復雜。(2)傳統實驗課考核困難。在傳統實驗教學中,教師給學生布置平時作業時,通常布置相同的題目,很難杜絕學生之間互相抄襲的現象;在最后的課程考核中,如果采用上機考核,無論是分發考試實驗環境還是收取考試題目,都很復雜。(3)傳統實驗機房成本高、利用率低。部署實驗室機房需要采購大量計算機和網絡設備,機房設備的維護也消耗很多工作量[2]。本文研究面向計算機專業實驗教學的在線虛擬實驗室建設,解決傳統機房教學面臨的諸多問題。在線虛擬實驗室通過Linux的虛擬化技術,為每個學生在服務器端創建獨享的實驗環境,教師在服務器端安裝實驗軟件和實驗數據,只需要在服務器端配置一次實驗環境,即可被所有的學生共享,從而大大簡化了機房管理工作。學生的實驗數據全部保存在服務器端,可以隨時隨地登錄系統繼續實驗,不需要每次實驗前再進行一次環境配置。使用在線虛擬實驗室,教師在服務器端可以為每個學生布置不同的實驗題目,在一定程度上避免了互相抄襲。在最后的上機考核中,教師不再需要分發考試實驗環境,還可以直接在服務器端收取考試結果,簡化了實驗考核的工作量。使用在線虛擬實驗室無須采購大量硬件,資源的利用率更高,一臺服務器可以服務約100臺虛擬機,滿足相應數量學生實驗需要;虛擬實驗室運維工作可在網頁上通過點擊鼠標完成,快捷方便。傳統教學機房與在線虛擬實驗室的優劣勢總結如表1所示。
2國內外現狀對比
Codecademy(www.codecademy.com)是一家國外的提供在線學習編程知識的網站,它向用戶提供了一種全新的在線學習方式。在基于網絡互動編程教程的基礎之上,幫助用戶了解編程的基本原理。Codecademy提供了在線編譯器和編輯器,用戶可以在Codecademy上學習Python、CSS等多種語言,也能完成一些基本的編程練習。實驗樓(www.shiyanlou.com)是以實驗為核心的IT在線教育網站,網站為IT學習者提供實踐操作實驗環境和全面的IT課程。實驗樓基于Linux的KVM(Kernel-basedVirtualMachine)虛擬化技術,為用戶提供配置好的虛擬機,通過虛擬的實驗環境,學習者可邊看文檔邊動手操作,從而提高學習者的動手實踐能力。與Codecademy相比,實驗樓為用戶提供的不單單是一個簡單的在線編譯器,而是一臺配置好的虛擬機,可以支持更廣泛的IT內容學習,而不再局限于編程領域。例如要開發一個網站,從選擇技術框架、架設服務器、設計數據庫,到開發前后端、上線網站,其復雜程度在Codecademy上是無法完成的,而實驗樓由于提供了一臺完整的虛擬機,因此用戶可以完成這樣復雜的實驗。
3虛擬實驗室的相關技術研究
本文研究的在線虛擬實驗室技術是基于Linux的容器(Docker)技術[3]實現的。Docker是一個開源的應用容器引擎[4],讓開發者可以打包其應用和依賴包到一個可移植的容器中,然后到任意的Linux機器上,實現虛擬化。由于Docker是開源的產品,瀏覽器是操作系統自帶的軟件,從而節省了購買虛擬化軟件的費用。在一臺服務器上搭建好Docker的環境,其余計算機可通過瀏覽器來訪問服務器上的虛擬化應用。管理員(教師)在服務器端利用Linux的虛擬化技術為每位用戶(學生)創建一個隔離的環境,用戶在用戶端利用瀏覽器訪問自己的實驗環境。在服務器端,在線虛擬實驗室利用Linux內核的Namespace、Cgroups、UnionFS等功能來提供類似/虛擬機的輕量級隔離環境[5]。在隔離環境中,用戶擁有獨立的CPU、內存、文件系統和網絡資源。虛擬實驗室采用了瀏覽器和服務器結構,用戶端只需要安裝瀏覽器,便可通過瀏覽器和服務器端的實驗環境進行交互。通過瀏覽器向用戶提供全功能的LinuxShell環境,同時提供一個WebIDE用于編輯實驗環境中的程序。與現有的實驗樓(www.shiyanlou.com)項目相比,在線虛擬實驗室的創新點在于服務器端采用了基于Linux容器的輕量級虛擬化技術,帶來了如下兩點優勢。(1)啟動速度快。通常需要數分鐘才能啟動虛擬機,采用基于Linux容器的輕量級虛擬化技術后,只需要幾十毫秒就可以啟動。(2)資源利用率高。容器之間共享宿主機操作系統資源,可以節省大量的磁盤空間及其他系統資源,因此同一臺服務器可以運行更多的容器。
4結語
建設在線虛擬實驗室可為南京航空航天大學計算機實驗教學課程提供更多服務。目前,在線虛擬實驗室已經包含“計算思維實驗”和“操作系統實踐”兩門課程,并在虛擬實驗室中完成課程的教學和考核工作。“操作系統實踐”課程的實驗要求學生在開源操作系統xv6的基礎上增加若干功能模塊,使用Linux下的GCC編譯器和make工具對xv6的源代碼進行編譯。操作系統xv6運行在x86處理器上,它可以在真實的硬件上啟動,但在教學實驗中,通常使用虛擬機軟件來運行它,如計算機模擬器Bochs。在計算機模擬器Bochs上運行操作系統xv6前,需要對Bochs進行較為復雜的配置。在以往的教學中,為了簡化實驗環境的搭建,通常將Linux和計算機模擬器Bochs安裝在VMware虛擬機軟件里,然后將虛擬機鏡像文件分發給學生。即使經過壓縮,虛擬機鏡像文件的大小也超出了2GB,分發非常不方便。使用在線虛擬實驗室后,學生通過瀏覽器訪問在線虛擬實驗室,在瀏覽器中即可完成全部的“操作系統實踐”課程實驗操作。教師在服務器端安裝配置計算機模擬器Bochs,只需進行一次安裝配置操作,解決了實驗環境搭建復雜的問題。傳統實驗課中,若為1000名學生同時提供在線實驗服務,采用基于LinuxKVM的重量級虛擬化技術,需要購置數十臺服務器[6];采用本文提出的基于Linux容器的輕量級虛擬化技術,購置數臺服務器即可。因此,在線虛擬實驗室可將更多的計算機實驗課程資源引入在線實驗室,對虛擬實驗室進行擴容,支持千人在線,為更多的計算機實驗課程教學提供服務。
作者:王立松 朱廣蔚 江愛華 單位:南京航空航天大學信息化技術中心
- 上一篇:廣告設計教學資源建設研究
- 下一篇:新農村建設現代化物流發展趨勢