張龍翔
摘要:本文提出了以教學操作系統(tǒng)OS Lab為實驗教學平臺,利用Virtual PC模擬器調(diào)試和編譯,讓學生實際參與操作系統(tǒng)部分功能的設計,使學生能更好的理解操作系統(tǒng)的理論,從而達到更好的教學效果。
關鍵詞:操作系統(tǒng)原理;實驗教學;教學操作系統(tǒng);OS Lab
中圖分類號:G642 文獻標識碼:B
1操作系統(tǒng)原理課程實驗現(xiàn)狀
操作系統(tǒng)是高等院校計算機專業(yè)的一門重要基礎課,也是眾所周知的教學難度很大的一門課,其難點主要在于實驗教學環(huán)節(jié)。
國內(nèi)高校因為師資力量、實驗環(huán)境及學生自身程序設計能力等因素的不同,對“操作系統(tǒng)”課程實驗教學環(huán)節(jié)的要求也不一樣,有的要求運行操作系統(tǒng)觀察某些特定現(xiàn)象;有的要求對課程的一些重要算法進行模擬實現(xiàn),以加深對操作系統(tǒng)原理的理解;有的要求學生合作完成一個小型操作系統(tǒng)的設計的;有的要求學生剖析具體操作系統(tǒng)(如Linux)的實現(xiàn)機理,替換一些功能模塊。各高校在講授操作系統(tǒng)原理課程時,一般都會設置有8~24個學時同步進行的實驗。經(jīng)過對多所高校的學習訪問,總結(jié)歸納出操作系統(tǒng)原理課程的實驗方式目前主要分為以下幾種類型:
(1) 觀察與體驗
這是最簡單的實驗方式。即選擇一個實際的操作系統(tǒng)作為實驗環(huán)境,學生通過觀察操作系統(tǒng)某些特定的具體運行現(xiàn)象來體會操作系統(tǒng)原理的設計內(nèi)容。這種實驗教學過程幾乎不需要編寫程序代碼,對真正理解操作系統(tǒng)內(nèi)在原理效果不明顯。
(2) 算法模擬
這是部分高校采用的實驗方式。任課老師選取課程中的一些典型算法,如FCFS算法、讀者寫者問題等等,讓學生編寫程序來模擬實現(xiàn)操作系統(tǒng)的功能。這種方式與程序設計課程的實驗環(huán)節(jié)基本類似,有利于加深學生對操作系統(tǒng)理論的理解,但達不到培養(yǎng)學生掌握操作系統(tǒng)的整體設計思想的目的。
(3) 替換功能模塊
這是有一定難度的實驗方式。一般是以Linux操作系統(tǒng)為實驗平臺,讓學生首先閱讀相關系統(tǒng)代碼,在理解部分操作系統(tǒng)功能的實現(xiàn)原理后,再要求學生用自己設計的功能模塊替換其中相應的功能。但Linux是一個龐大的商業(yè)操作系統(tǒng),對學校的師資和學生的能力要求都較高,一般高校實施的效果不是很好,也達不到培養(yǎng)學生掌握操作系統(tǒng)的整體設計思想的目的,有的時候還容易讓學生對計算機學習產(chǎn)生了畏難情緒。
2OS Lab教學操作系統(tǒng)
教學實踐證明,最好的“操作系統(tǒng)”課程實踐平臺并不是實用的商業(yè)操作系統(tǒng),因為它過于龐大,設計復雜,短時間內(nèi)難于掌握。而應該是一種與實際使用的操作系統(tǒng)比較接近,但規(guī)模又較小、易理解、便于調(diào)試的系統(tǒng),即面向教學的操作系統(tǒng)。最重要的是系統(tǒng)要符合課程的需要——可留出一些作為學生作業(yè)的練習,幫助學生熟悉實際操作系統(tǒng)的結(jié)構(gòu)和設計。
由北京海西慧學科技有限公司開發(fā)的教學操作系統(tǒng)OS Lab 很好地解決了高校目前采用的實驗方案所遇到的各種問題,可以使學生在有限的時間內(nèi)深入操作系統(tǒng)內(nèi)核做真正的操作系統(tǒng)實驗,幫助學生加深對操作系統(tǒng)設計原理和算法的理解。它具有以下優(yōu)點:
(1)OS Lab安裝運行在Windows上,用于實驗的PC無需安裝多種操作系統(tǒng),大大降低實驗室的管理難度。
(2)OS Lab融合了Windows和Linux的設計理念,使用了對象技術,其結(jié)構(gòu)介于微內(nèi)核和宏內(nèi)核之間,API和 Windows基本一致,可以使學生了解目前實際操作系統(tǒng)的技術。
(3)OS Lab的進程管理、內(nèi)存管理、IO管理等模塊間的耦合性極低,學生在做各模塊的實驗時,不必了解其它模塊,很容易入門。
(4)OS Lab支持C源碼級的內(nèi)核調(diào)試,支持反匯編,可在內(nèi)核中設置斷點,可隨意查看、修改內(nèi)核變量和 CPU 寄存器的值。
3OS Lab實驗項目設計
作為一個教學操作系統(tǒng)內(nèi)核,保持系統(tǒng)的簡單易實現(xiàn)是非常重要的。為了實現(xiàn)這一目的,在OS Lab設計時,僅保留操作系統(tǒng)最基本的功能,同時圍繞現(xiàn)代操作系統(tǒng)原理中的重要概念與方法,按照教學循序漸進的進度精心設計了10個項目。這些項目由淺入深,靈活性和可擴充性都很高,教師可以根據(jù)學生和教學情況動態(tài)調(diào)整實驗項目。
OS Lab教學操作系統(tǒng)為學生設計的項目內(nèi)容如表1所示。
采用OS Lab作為“操作系統(tǒng)原理”課程實驗平臺已經(jīng)有一個學期。結(jié)果證明大部分認真完成實驗項目的學生認為OS Lab對理解操作系統(tǒng)原理功能的設計與實現(xiàn)有很好的幫助,可以激發(fā)學習“操作系統(tǒng)原理”課程的興趣,提高編寫系統(tǒng)程序的能力。
4結(jié)束語
采用OS Lab作為“操作系統(tǒng)原理”課程實驗平臺已經(jīng)有一個學期。結(jié)果證明大部分認真完成作業(yè)的學生認為OS Lab對理解操作系統(tǒng)原理功能的設計與實現(xiàn)有很好的幫助,可以激發(fā)學習“操作系統(tǒng)原理”課程的興趣,提高編寫系統(tǒng)程序的能力。教師最好能根據(jù)學生的能力,以3到4個學生為一個小組,動態(tài)調(diào)整學生要具體完成的任務項目,以致于取得更好的教學效果。
參考文獻:
[1] 黃廷輝,王宇英,崔更中.“操作系統(tǒng)”課程實踐教學的研究與實踐[J]. 計算機教育,2007(11): 18-20.
[2] 宋廣華,李善平,鄭扣根. 邊學邊干:操作系統(tǒng)課程教學改革的探索與實踐[J]. 計算機教育,2006(7):27-29.
[3] 胡明慶,高巍,鐘梅. 操作系統(tǒng)教程與實驗[M]. 北京:清華大學出版社,2007.