【摘 要】根據(jù)應(yīng)用型本科院校的辦學(xué)類型、培養(yǎng)目標(biāo)及需求,設(shè)計(jì)適合于應(yīng)用型本科院校的操作系統(tǒng)課程的實(shí)驗(yàn)項(xiàng)目,以激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的編程能力。
【關(guān)鍵字】操作系統(tǒng) 實(shí)驗(yàn)教學(xué) 應(yīng)用型本科院校
【中圖分類號(hào)】G【文獻(xiàn)標(biāo)識(shí)碼】A
【文章編號(hào)】0450-9889(2013)01C-0053-02
操作系統(tǒng)是本科院校計(jì)算機(jī)專業(yè)的重要核心課程,也是一門教學(xué)難度很大的課程。操作系統(tǒng)課程具有以下特點(diǎn):一方面理論性強(qiáng)、概念抽象,學(xué)生難以理解;另一方面設(shè)計(jì)技巧巧妙、實(shí)現(xiàn)機(jī)制精妙、系統(tǒng)代碼量大,學(xué)生難以掌握。如果單純進(jìn)行理論教學(xué),學(xué)生會(huì)認(rèn)為課程概念晦澀、原理復(fù)雜、內(nèi)容枯燥,無法激發(fā)學(xué)習(xí)興趣。因此,相應(yīng)的實(shí)驗(yàn)教學(xué)是操作系統(tǒng)課程教學(xué)是否高效的關(guān)鍵。
為彌補(bǔ)操作系統(tǒng)實(shí)驗(yàn)教學(xué)缺失,各高校從多個(gè)方面進(jìn)行了實(shí)驗(yàn)的研究與實(shí)踐,其中北京大學(xué)根據(jù)MIT課程,建立了自己的操作系統(tǒng)實(shí)驗(yàn)體系;清華大學(xué)專門設(shè)置了操作系統(tǒng)專題訓(xùn)練課程;南開大學(xué)提倡使用系統(tǒng)仿真的實(shí)驗(yàn)環(huán)境加強(qiáng)學(xué)生理論聯(lián)系實(shí)際的能力。
一、當(dāng)前操作系統(tǒng)實(shí)驗(yàn)課程的特點(diǎn)
目前的操作系統(tǒng)課程實(shí)驗(yàn)方式主要有以下幾種類型。
觀察與體驗(yàn):這是最簡單的一種實(shí)驗(yàn)方式,實(shí)驗(yàn)時(shí)選擇一個(gè)實(shí)際的操作系統(tǒng)作為實(shí)驗(yàn)環(huán)境,學(xué)生通過觀察操作系統(tǒng)某個(gè)功能的具體運(yùn)行現(xiàn)象,體會(huì)操作系統(tǒng)原理的設(shè)計(jì)內(nèi)容。這種實(shí)驗(yàn)方式幾乎不需要編寫程序代碼,對(duì)真正理解操作系統(tǒng)內(nèi)在原理沒有什么幫助,現(xiàn)在一般都不采用這種實(shí)驗(yàn)方式。
算法模擬:選取課程中的一些典型算法,如進(jìn)程的創(chuàng)建與同步、死鎖的避免等,讓學(xué)生編寫程序來模擬實(shí)現(xiàn)操作系統(tǒng)的某些特定功能。這種實(shí)驗(yàn)方式與程序設(shè)計(jì)課程的實(shí)驗(yàn)基本類似,有利于學(xué)生在提高編程水平的基礎(chǔ)上加深對(duì)操作系統(tǒng)理論的理解。這種方式難度不是很高,適合于應(yīng)用型的本科院校。
擴(kuò)展設(shè)計(jì):提供一個(gè)從無到有的漸進(jìn)式操作系統(tǒng)原型,由學(xué)生對(duì)其功能進(jìn)行完善和擴(kuò)充。如首先設(shè)計(jì)引導(dǎo)程序,然后再設(shè)計(jì)內(nèi)存的管理、外設(shè)管理等一系列實(shí)驗(yàn),由學(xué)生在漸進(jìn)式操作系統(tǒng)原型的基礎(chǔ)上完成實(shí)際的大部分功能、策略和算法等。教學(xué)實(shí)驗(yàn)平臺(tái)多以專用的操作系統(tǒng)為主,例如清華大學(xué)、北京大學(xué)采用Nachos、Minix等,同濟(jì)大學(xué)借助于WRK,搭建了類似的基于Windows操作系統(tǒng)內(nèi)核的實(shí)驗(yàn)平臺(tái)。擴(kuò)展設(shè)計(jì)的方式對(duì)學(xué)生的能力要求較高,適合于研究型的重點(diǎn)院校。
研究型重點(diǎn)院校操作系統(tǒng)課程實(shí)驗(yàn)?zāi)康氖且髮W(xué)生通過實(shí)驗(yàn)具備初步的開發(fā)小型操作系統(tǒng)的能力。應(yīng)用型本科院校學(xué)生的基礎(chǔ)和素質(zhì)相對(duì)不高,過分強(qiáng)調(diào)達(dá)到研究型大學(xué)計(jì)算機(jī)專業(yè)課程要求,只會(huì)適得其反,完不成教學(xué)預(yù)定目標(biāo)。
因此,應(yīng)用型本科院校操作系統(tǒng)課程實(shí)驗(yàn)適合采用算法模擬的方式,但目前的算法模擬實(shí)驗(yàn)主要存在兩個(gè)問題。
一是操作系統(tǒng)課程實(shí)驗(yàn)很大一部分是基于Linux系統(tǒng)下的程序,如父子進(jìn)程、進(jìn)程間通訊等。而應(yīng)用型本科院校的學(xué)生畢業(yè)后很少在Linux系統(tǒng)下編程,因此實(shí)驗(yàn)應(yīng)大部分基于Windows系統(tǒng)。學(xué)生可做少量的基于Linux系統(tǒng)的實(shí)驗(yàn),并和Windows系統(tǒng)下的編程進(jìn)行比較,以達(dá)到初步了解Linux系統(tǒng)編程的程度。二是基于Windows系統(tǒng)下的實(shí)驗(yàn)程序大部分過于龐大,代碼基本在100行以上,學(xué)生無法在兩節(jié)課的時(shí)間內(nèi)完成實(shí)驗(yàn),程序代碼必須精簡到50行左右。
二、應(yīng)用型本科院校操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)
完整的實(shí)驗(yàn)體系包括實(shí)驗(yàn)設(shè)備及實(shí)驗(yàn)環(huán)境構(gòu)建、實(shí)驗(yàn)任務(wù)書、實(shí)驗(yàn)過程和實(shí)驗(yàn)考核。實(shí)驗(yàn)前開設(shè)實(shí)驗(yàn)指導(dǎo)課,說明和分析實(shí)驗(yàn)的構(gòu)成、注意點(diǎn),分析與實(shí)驗(yàn)有關(guān)的算法。本門課程的先修課程是C語言程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)操作系統(tǒng)。
(一)實(shí)驗(yàn)環(huán)境構(gòu)建
基于操作系統(tǒng)的實(shí)驗(yàn)設(shè)備為一人一臺(tái)計(jì)算機(jī)。
1.操作系統(tǒng)。學(xué)校用于教學(xué)的機(jī)器基本安裝有Windows系統(tǒng),因此主要問題在于Linux系統(tǒng)的安裝,Linux系統(tǒng)的安裝可采用兩種方式:最簡單的方式是配置一臺(tái)專門的Linux服務(wù)器(服務(wù)器使用普通的PC機(jī)即可),學(xué)生機(jī)僅安裝Windows系統(tǒng),學(xué)生通過telnet登錄到Linux系統(tǒng)來完成實(shí)驗(yàn)。另一種方式是一臺(tái)學(xué)生機(jī)上同時(shí)安裝Windows系統(tǒng)和Linux系統(tǒng),Linux系統(tǒng)安裝在Vmware虛擬器上。這種方式對(duì)學(xué)生機(jī)的性能要求比較高,內(nèi)存至少1G以上。
2.程序設(shè)計(jì)軟件。Windows系統(tǒng)下使用VC6.0專業(yè)版或企業(yè)版,Linux系統(tǒng)下使用vi編輯器編寫程序,用gcc進(jìn)行編譯,安裝Linux時(shí)注意安裝要開發(fā)部分。
(二)實(shí)驗(yàn)項(xiàng)目
實(shí)驗(yàn)項(xiàng)目以Windows系統(tǒng)下為主,Linux系統(tǒng)為輔,實(shí)驗(yàn)項(xiàng)目設(shè)置的原則是:
1.能夠幫助學(xué)生更好地掌握操作系統(tǒng)的原理,理解操作系統(tǒng)在此項(xiàng)功能上的重要作用。
2.基于Linux系統(tǒng)下的實(shí)驗(yàn)程序,設(shè)計(jì)出可實(shí)現(xiàn)同樣功能的運(yùn)行于Windows系統(tǒng)的實(shí)驗(yàn)程序,例如,線程的創(chuàng)建、線程的同步、線程間的數(shù)據(jù)通訊等。使學(xué)生既可以了解Linux系統(tǒng)下的編程,也可以提高Windows系統(tǒng)下編程的能力。
3.實(shí)驗(yàn)難度適中,完成的時(shí)間適中。實(shí)驗(yàn)不能過多、過難,因此精簡現(xiàn)有的基于Windows系統(tǒng)下的實(shí)驗(yàn)程序,使學(xué)生能夠在兩節(jié)課的時(shí)間內(nèi)完成實(shí)驗(yàn),例如,處理機(jī)管理、死鎖實(shí)驗(yàn)、虛擬存儲(chǔ)器管理等。
經(jīng)過幾年的摸索和反饋,實(shí)驗(yàn)的內(nèi)容安排如表1,必做的實(shí)驗(yàn)項(xiàng)目在課堂上完成,選做項(xiàng)目課后完成,課程實(shí)踐項(xiàng)目在16課時(shí)的課程實(shí)踐教學(xué)環(huán)節(jié)中完成。
三、實(shí)驗(yàn)示例
目前的操作系統(tǒng)課程算法模擬實(shí)驗(yàn)一般都是基于Linux系統(tǒng),而應(yīng)用型本科院校畢業(yè)的學(xué)生在工作中主要在Windows環(huán)境下編程,為了使學(xué)生在通過實(shí)驗(yàn)理解操作系統(tǒng)理論知識(shí)的基礎(chǔ)上,提高在Windows系統(tǒng)下的編程能力,專門設(shè)計(jì)了基于Windows的父子線程控制實(shí)驗(yàn)。
(一)實(shí)驗(yàn)?zāi)康?/p>
1.基于Windows系統(tǒng)的“父子線程控制實(shí)驗(yàn)”與Linux系統(tǒng)下“父子進(jìn)程控制實(shí)驗(yàn)”的實(shí)驗(yàn)結(jié)果完全相同,學(xué)生先完成Linux環(huán)境下的實(shí)驗(yàn),再做Windows環(huán)境下的實(shí)驗(yàn),可以感受到不同系統(tǒng)下編程方式的差異。
2.目前的大型應(yīng)用軟件都是多線程多任務(wù)處理,因此掌握多線程多任務(wù)的程序設(shè)計(jì)方法對(duì)每個(gè)計(jì)算機(jī)專業(yè)的學(xué)生都是很有必要的。
(二)實(shí)驗(yàn)內(nèi)容
設(shè)計(jì)適合于應(yīng)用型本科院校的操作系統(tǒng)課程實(shí)驗(yàn),突出應(yīng)用型特色,體現(xiàn)實(shí)踐性特點(diǎn),使應(yīng)用型本科院校學(xué)生在掌握操作系統(tǒng)理論知識(shí)的同時(shí),進(jìn)一步提高在Windows環(huán)境下的編程能力,從而提高操作系統(tǒng)課程的教學(xué)效果。
【參考文獻(xiàn)】
[1]葉保留,費(fèi)翔林,葛季棟,駱斌.“操作系統(tǒng)”實(shí)驗(yàn)課程建設(shè)與教學(xué)探討[J].計(jì)算機(jī)教育,2009(4)
[2]陳渝,向勇.“操作系統(tǒng)”課程實(shí)驗(yàn)教學(xué)探討[J].計(jì)算機(jī)教育,2009(2)
[3]何宗鍵,張惠娟.基于Windows內(nèi)核的“操作系統(tǒng)”課程實(shí)驗(yàn)平臺(tái)設(shè)計(jì)與建設(shè)[J].計(jì)算機(jī)教育,2009(3)
[4]張旭.基于Windows的父子線程控制實(shí)驗(yàn)設(shè)計(jì)[J].大眾科技,2011(12)
[5]張堯?qū)W.計(jì)算機(jī)操作系統(tǒng)教程(第三版)習(xí)題解答與實(shí)驗(yàn)指導(dǎo)[M].北京:清華大學(xué)出版社,2006
【基金項(xiàng)目】2012年度廣西財(cái)經(jīng)學(xué)院教學(xué)改革工程立項(xiàng)(2012B16)
【作者簡介】張 旭(1973- ),男,廣西財(cái)經(jīng)學(xué)院信息與統(tǒng)計(jì)學(xué)院工程師,碩士。
(責(zé)編 丁 夢)