陳新 楊子天
摘 要:針對計算機編程類課程建立網(wǎng)絡教學實驗平臺,不僅可供計算機相關專業(yè)借鑒,也可廣泛應用于理工類專業(yè)的教學實踐中。在網(wǎng)絡迅速普及的時代,基于網(wǎng)絡環(huán)境的教學研究將具有更加重要的應用價值。
關鍵詞:網(wǎng)絡環(huán)境;虛擬化;實驗教學平臺
一、概述
計算機編程類課程是理工類專業(yè)的典型課程,具有實驗要求高、環(huán)境復雜等特點?;诰W(wǎng)絡的計算機實驗平臺已在國外高水平大學的理工科教學中得到了廣泛應用,并取得了良好的效果,其必將成為國內大學理工科課程教學改革的探索方向。網(wǎng)絡教學可以為學生提供一種全新的學習模式,滿足學生隨時隨地學習的需求。在國外,網(wǎng)絡實驗教學正處在快速發(fā)展的階段,以MOOC為代表的大型開放式網(wǎng)絡課程已從北美洲、歐洲傳播到亞洲、南美洲、非洲及大洋洲。國外一些高校借助虛擬化及云技術也搭建了自己的計算機科研實驗平臺,如Grid5000、PlanetLab及DAS-4等。通過平臺搭建,教學實驗資源的提供和使用方式發(fā)生了巨大的變化,形成了橫跨多個資源節(jié)點、對用戶透明的實驗環(huán)境。
二、當前存在的問題
國內高校目前的計算機類編程實驗大多還是以單機操作為主,許多高校計算機實驗教學管理還沒有完全實現(xiàn)網(wǎng)絡化,導致實驗教學的組織、實施、質量管理過程中存在很多不盡人意的問題,影響實驗教學的順利進行。
另外,實驗環(huán)境不同,編譯結果也是千差萬別。實驗報告大多是紙質手寫,學生把大量精力浪費在抄寫代碼的過程中。此種形式也給教師審核帶來很大不便,使其無法把精力全部放在實驗教學上。
三、虛擬化實驗教學平臺的設計與實現(xiàn)
網(wǎng)絡教學的整體方案將部署在VMware vSphere平臺上,其中包含以下三大方案:
1.MOOC教學板塊。
在線上播放課件,以網(wǎng)絡為依托,應用多媒體和網(wǎng)絡技術,通過多媒體教學信息的收集、傳輸、處理和共享實現(xiàn)教育教學目標。如可以將課堂視頻、課外習題、課堂講義等資源傳輸?shù)浇K端供學生自主選擇,自主學習。
2.基于Docker容器技術的在線實驗環(huán)境。
所使用的環(huán)境結構基于Docker容器技術,它不同于傳統(tǒng)的使用環(huán)境,用戶的所有操作僅限于最上層的操作界面。此外,不同用戶共享除用戶層以外的其他層,類似應用于沙盒和還原中的技術,不同實驗會有不同的材料層。
3.Online Judge在線評測。
Online Judge采用模塊化分層設計,各個模塊之間相互高度解耦,并相互隔離,保證其可用性及安全性。操作系統(tǒng)選用Linux操作系統(tǒng),Web部分采用普通Web方案。判題部分是整個Online Judge網(wǎng)站的核心所在。把判題部分單獨抽出來組成一類服務,便于隨時通過增加判題節(jié)點加快判題的速度。Web端發(fā)送判題的請求給RabbitMQ等消息隊列,每一個判題節(jié)點就是一個worker,這樣可以增加判題節(jié)點的數(shù)量。判題核心就是編譯、運行用戶提交的代碼程序,通過設置時間、內存等限制,對ptrace進行監(jiān)控,對系統(tǒng)調用進行限制,解決安全性問題。
四、安全性問題
1.時間、資源的限制。
使用rlimit控制內存,方便在運行結束后獲得內存使用情況的數(shù)據(jù)。使用rlimit進行CPU時間控制,但其只能控制CPU時間,不能控制實際運行時間,所以需要額外添加alarm進行實際時間的限制。文件句柄同樣通過rlimit實現(xiàn),以保證程序不要打開太多文件。如果可行的話,最好還是使用stdio然后管道重定向,完全禁止程序的文件IO操作。
2.訪問控制。
通過chroot建立一個jail,將程序限制在指定目錄中運行。由于是比賽程序,使用的動態(tài)鏈接庫很有限,所以直接靜態(tài)編譯。
3.權限控制。
監(jiān)控程序使用root權限運行,完成必要準備后fork并切換為受限用戶運行程序。
4.系統(tǒng)調用控制。
監(jiān)控所有的系統(tǒng)調用,運用白名單+計數(shù)器過濾。
五、結論
本文研究了當前編程實驗教學方式存在的不足,以建構主義學習理論為指導,探究了新的網(wǎng)絡環(huán)境下的教學模式和方法,構建了一個以實踐性教學思想為指導的網(wǎng)絡教學平臺,為教學提供了資源性支持、交互性支持和管理性支持,為學生學習提供良好的網(wǎng)絡學習實驗環(huán)境,同時也可以幫助教師搭建學習環(huán)境,指導學習過程,監(jiān)控學習狀態(tài),了解教學反饋和開展教學評價。
參考文獻:
[1]張青,杜召陽,白佳.采用虛擬化技術優(yōu)化IT基礎架構有效提升IT服務提供能力[J].電信技術,2010,1(3):82-84.
[2]王鵬.一種基于云端技術的計算機實驗室維護系統(tǒng)[J].興義民族師范學院學報,2013(2):114-117.