葉俊民 喻 瑩 李 源 周 偉 張茂元 楊 艷
摘要:本文結(jié)合多年的教學(xué)經(jīng)驗,從操作系統(tǒng)的教學(xué)方法、教學(xué)手段、實驗設(shè)計等方面探討了操作系統(tǒng)課程的理論與實踐教學(xué)。經(jīng)過多屆學(xué)生的實踐推廣,證明這些措施能夠有效促進(jìn)學(xué)生對“操作系統(tǒng)原理”的基礎(chǔ)理論學(xué)習(xí)和實踐動手能力提高,進(jìn)而增強(qiáng)其分析問題及編程能力。
關(guān)鍵詞:計算機(jī)操作系統(tǒng);實踐教學(xué);教學(xué)改革
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
“操作系統(tǒng)原理”是一門理論性、實踐性并重的基礎(chǔ)核心課程,內(nèi)容抽象、課程教學(xué)難度大。課程內(nèi)容主要介紹系統(tǒng)原理、設(shè)計方法和實現(xiàn)技術(shù),這是眾多操作系統(tǒng)的設(shè)計精髓。這些內(nèi)容是人們在操作系統(tǒng)工程實踐方面的經(jīng)驗總結(jié),呈現(xiàn)更新速度快、系統(tǒng)性差、概念抽象、原理性強(qiáng)等主要特點,也是該課程的教學(xué)難點。為提高“操作系統(tǒng)原理”課程的教學(xué)質(zhì)量,使其內(nèi)容具有系統(tǒng)性,形成積極的、充滿生機(jī)活力的教學(xué)機(jī)制,課程組自2002年起就開始規(guī)劃和設(shè)計分層次內(nèi)容和系列實驗,確立責(zé)任教師,2005年作為校精品課程立項建設(shè)。通過幾年來堅持不懈的教學(xué)改革和教學(xué)研究,通過“操作系統(tǒng)原理”這門課程,使得對學(xué)生能力培養(yǎng)更有效。
1教學(xué)方法研究
操作系統(tǒng)是計算機(jī)專業(yè)重要的核心課程,也是一門教師難教、學(xué)生難學(xué)的課程。該課程教學(xué)難點集中表現(xiàn)在:(1)教材內(nèi)容十分龐雜,涉及面廣,與計算機(jī)軟、硬件及用戶都有著密切的交互;(2)教學(xué)實踐性強(qiáng),與實際運行著的各類操作系統(tǒng)有著密切的聯(lián)系;(3)計算機(jī)技術(shù)發(fā)展迅速,更新快。
針對這些問題和難點,本課程組老師將自己所從事的科研工作與教學(xué)密切結(jié)合起來,不斷改革教學(xué)方法、手段和加深教學(xué)內(nèi)容。首先,在OS的多用戶、多任務(wù)運行特征的主線下,有一條動態(tài)的進(jìn)程活動線,有一個系統(tǒng)資源管理的截面,針對前者,課題組教師圍繞多進(jìn)程運行所帶來的問題,以及所涉及的方法與機(jī)制展開討論;對后者,圍繞多用戶、多任務(wù)對系統(tǒng)資源的競爭,展開操作系統(tǒng)資源管理策略與方法的討論。其次,選取合適的操作系統(tǒng)實例,注重與實際運行的各類操作系統(tǒng)結(jié)合,選用Linux和Windows系統(tǒng)作為實例操作系統(tǒng),讓學(xué)生了解實際操作系統(tǒng)的邏輯結(jié)構(gòu)、核心實現(xiàn)技術(shù)、并分析部分內(nèi)核代碼,潛移默化地培養(yǎng)了學(xué)生創(chuàng)新性的專業(yè)技能。接著,將操作系統(tǒng)實驗與課程設(shè)計的內(nèi)容限制在操作系統(tǒng)的核心實現(xiàn)技術(shù)上;將實踐環(huán)境主要放在Linux系統(tǒng)和Windows系統(tǒng)上;在實踐方面,既強(qiáng)調(diào)學(xué)生自主編寫與調(diào)試程序,又強(qiáng)調(diào)多人按軟件工程方法合作解決大型問題。
2教學(xué)手段研究
在操作系統(tǒng)本科教學(xué)中本課程組采用并堅持了傳統(tǒng)教學(xué)和多媒體教學(xué)手段相結(jié)合的方式進(jìn)行。傳統(tǒng)教學(xué)是教學(xué)相長、教學(xué)互動的最好的模式。傳統(tǒng)方法學(xué)互動性強(qiáng),而采用現(xiàn)代教育技術(shù)手段,以多媒體方式進(jìn)行教學(xué),可以加大信息容量;以動畫生動表現(xiàn)動態(tài)過程;以擬人手段講解難點,提高學(xué)生學(xué)習(xí)興趣。在操作系統(tǒng)原理課教學(xué)中采用這種教學(xué)相長的啟發(fā)式教學(xué)方法,課堂上組織討論,使課堂氣氛活躍,學(xué)生的學(xué)習(xí)興趣、能動性大大提高。
此外,課程組采用了如下教學(xué)手段:(1)突出教學(xué)內(nèi)容的系統(tǒng)性和完整性;(2)課堂充分調(diào)動學(xué)生的積極性和創(chuàng)造性;(3)注重實踐環(huán)節(jié),強(qiáng)調(diào)能力培養(yǎng),對學(xué)生的考核手段科學(xué)合理。
3實驗課程設(shè)計
遵循學(xué)生創(chuàng)新能力培養(yǎng)的整體規(guī)劃,基于系統(tǒng)設(shè)計和軟件模塊設(shè)計的思路,在靈活實施雙語教學(xué)的基礎(chǔ)上,課程組利用較好的實驗室條件,開設(shè)“實驗室課堂”,構(gòu)建“操作系統(tǒng)案例庫”,并結(jié)合課程設(shè)計和綜合實驗加強(qiáng)學(xué)生系統(tǒng)編程與內(nèi)核模塊設(shè)計。例如,系統(tǒng)內(nèi)核調(diào)用、內(nèi)核模塊替換,操作系統(tǒng)補(bǔ)丁等。這些案例既作為教學(xué),也供學(xué)生自行設(shè)計或復(fù)現(xiàn),優(yōu)秀作品又進(jìn)入案例庫循環(huán),使學(xué)生能即學(xué)即用,及時發(fā)現(xiàn)和解決問題,對抽象概念通過實踐環(huán)節(jié)理解,拓展深層次思考。對學(xué)生的能力訓(xùn)練收到很好的效果。
課程考試采用筆試+實驗方式,并要求學(xué)生完成課程設(shè)計,獲得應(yīng)有學(xué)分。并根據(jù)綜合設(shè)計(實驗)的課題情況,拓展到學(xué)生畢業(yè)設(shè)計過程,讓學(xué)生體驗進(jìn)行較大型課題和實際科研項目開發(fā)的工作,受到學(xué)生普遍歡迎。
3.1實驗課程設(shè)計的思想與課程目標(biāo)
“操作系統(tǒng)原理”課程的實踐性要求很強(qiáng),學(xué)生不僅需要掌握其原理,而且也要求培養(yǎng)其實際動手能力?!安僮飨到y(tǒng)原理實驗”主要是根據(jù)所學(xué)課程中的原理,設(shè)計某些算法實驗并進(jìn)行驗證;熟悉操作系統(tǒng)平臺的使用,以及能夠?qū)⒛骋徊僮飨到y(tǒng)的系統(tǒng)功能調(diào)用應(yīng)用到實踐中。通過這些上機(jī)實驗,以加深對課程中的概念、原理、算法的理解,達(dá)到提高學(xué)生的程序設(shè)計能力的目標(biāo)。
3.2實驗課程教學(xué)內(nèi)容的設(shè)計
(1)作業(yè)調(diào)度算法實驗(4學(xué)時),具體要求:設(shè)計作業(yè)控制結(jié)構(gòu);完成作業(yè)隊列的創(chuàng)建;模擬作業(yè)調(diào)度算法,包括:先來先服務(wù)算法、最短作業(yè)優(yōu)先算法和最高響應(yīng)比優(yōu)先算法等。(2)進(jìn)程調(diào)度算法實驗(6學(xué)時),具體要求:設(shè)計進(jìn)程PCB;完成進(jìn)程隊列等的創(chuàng)建;模擬進(jìn)程調(diào)度算法,包括:先來先服務(wù)算法、優(yōu)先級算法和輪轉(zhuǎn)算法。(3)以分區(qū)策略為主的內(nèi)存分配算法實驗(4學(xué)時),具體要求:建立模擬用的內(nèi)存分區(qū)、分區(qū)表和空閑隊列等;實現(xiàn)最先適應(yīng)算法;實現(xiàn)最佳適應(yīng)算法;實現(xiàn)最壞適應(yīng)算法;通過實例對上述算法進(jìn)行對比。(4)存儲器命中率計算問題(2學(xué)時),具體要求:設(shè)計描述頁面的數(shù)據(jù)結(jié)構(gòu)和管理內(nèi)存頁面的鏈表;實現(xiàn)頁面的FIFO算法并研究其命中率;實現(xiàn)OPT算法并研究其命中率;實現(xiàn)LRU算法并研究其命中率;實現(xiàn)LFU算法并研究其命中率;比較各算法的命中率。(5)SPOOLING系統(tǒng)的模擬(4學(xué)時),具體要求:設(shè)計PCB、PCB隊列等數(shù)據(jù)結(jié)構(gòu);模擬實現(xiàn)SPOOLING算法;使用初始數(shù)據(jù)進(jìn)行模擬,并分析模擬結(jié)果。(6)文件系統(tǒng)中操作命令的實現(xiàn)(6學(xué)時),具體要求:設(shè)計兩級目錄結(jié)構(gòu);設(shè)計文件的保護(hù)措施;實現(xiàn)如下文件操作命令:create、del、open、close、read和write;運行初始數(shù)據(jù),分析運行結(jié)果。
3.3實驗課程組織形式與教師指導(dǎo)方法研究
實驗課程的組織形式和教師指導(dǎo)方法的實施具體如下:(1)課堂常規(guī)授課,教師進(jìn)行理論講授,要求學(xué)生理解操作系統(tǒng)在計算機(jī)系統(tǒng)中的作用、地位和特點,熟練掌握和運用操作系統(tǒng)在進(jìn)行計算機(jī)軟硬件資源管理和調(diào)度時常用的概念、方法、策略、算法、手段等。(2)教師在正常上機(jī)輔導(dǎo)時間在實驗室與學(xué)生就事先布置的問題進(jìn)行討論;在考核時期,教師要求學(xué)生上機(jī)進(jìn)行實驗驗收,要求學(xué)生能夠正確調(diào)試程序,運行程序并就輸入輸出數(shù)據(jù)進(jìn)行解釋和分析;教師要求學(xué)生撰寫規(guī)范的實驗報告,從中選擇優(yōu)秀者。(3)學(xué)生在教師的安排下進(jìn)行課堂演示與答辯,教師要求上機(jī)驗收優(yōu)秀者,在課堂上面對全班同學(xué)進(jìn)行演示,并當(dāng)堂回答同學(xué)提出的問題,最后由教師進(jìn)行點評。(4)教師在課后答疑,通過網(wǎng)絡(luò)等媒介回答同學(xué)提出的各類問題。(5)教師上復(fù)習(xí)課和習(xí)題課,根據(jù)學(xué)生在平時課程學(xué)習(xí)中提出的問題,平時作業(yè)中出現(xiàn)的錯誤等,集中進(jìn)行講解。
3.4實驗課程考核內(nèi)容與方法研究
實驗課程的考核按照如下環(huán)節(jié)進(jìn)行:(1)實驗報告及其檢查與評價,此環(huán)節(jié)可占實驗課程考核總分的30%。(2)要求學(xué)生回答如下設(shè)計性問題并進(jìn)行評價:解釋算法原理、數(shù)據(jù)結(jié)構(gòu)設(shè)計思路、測試用例設(shè)計及其含義,此環(huán)節(jié)可占總分的50%。(3)要求學(xué)生上機(jī)演示,隨時回答問題并進(jìn)行評價,主要做法包括:源程序的上機(jī)編譯、調(diào)試;運行系統(tǒng)并顯示運行結(jié)果,在此基礎(chǔ)上對相關(guān)的輸入數(shù)據(jù)加以解釋,此環(huán)節(jié)可占總分的20%。
4結(jié)束語
本文在將理論教學(xué)與實踐教學(xué)相結(jié)合方面進(jìn)行了探索,主要做法是在課堂上重視交互式教學(xué),在課外實踐教學(xué)中以培養(yǎng)學(xué)生的自學(xué)能力、團(tuán)隊合作能力、實踐動手能力為目標(biāo);改革考試方法;增加學(xué)生課堂演示和答辯內(nèi)容,促使學(xué)生從被動學(xué)習(xí)角色向主動學(xué)習(xí)角色的轉(zhuǎn)換。
參考文獻(xiàn):
[1] 陳向群. 探索操作系統(tǒng)實踐教學(xué)[J]. 計算機(jī)教育,2008(17):45-47.
[2] 王雷. 國外操作系統(tǒng)課程分析[J]. 計算機(jī)教育,2008(5):85-87.
[3] 羅宇,張穎蓓,葉常春. 本科操作系統(tǒng)課程設(shè)置及教學(xué)體會[J]. 計算機(jī)教育,2006(1):39-40.