摘 要: 操作系統(tǒng)理論課程具有講、學(xué)兩難的特征,分析了操作系統(tǒng)課程學(xué)習(xí)的困難所在??偨Y(jié)了克服困難的一些經(jīng)驗(yàn)和措施,包括理論聯(lián)系實(shí)際、運(yùn)用軟件工程思想分析復(fù)雜系統(tǒng)、加強(qiáng)學(xué)生解題訓(xùn)練的規(guī)范性、分層抽象、避免整體與局部脫節(jié)、采用直觀表達(dá)形式描述對象、提高清晰性、避免單調(diào)性等。實(shí)踐證明,將理論與實(shí)踐結(jié)合,不僅提高了學(xué)生學(xué)習(xí)的趣味性,而且提高了學(xué)生的理解水平和應(yīng)用水平。
關(guān)鍵詞: 操作系統(tǒng); 理論; 軟件工程; 抽象; 規(guī)范性
中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2013)11-72-02
0 引言
操作系統(tǒng)課程是計(jì)算機(jī)及相關(guān)專業(yè)的核心課程,是各層次學(xué)生的必修課和選拔考試的一門常考課程[1]。因此講好、學(xué)好操作系統(tǒng)事關(guān)各方切身利益。
然而操作系統(tǒng)課程卻是講之不易、學(xué)之困難的一門課程。究其原因,首先是操作系統(tǒng)軟件本身規(guī)模龐大,邏輯復(fù)雜,不易描述;其次是教材內(nèi)容偏離學(xué)生興趣,理論與實(shí)際聯(lián)系不夠緊密,工程性不足,邏輯欠清晰,內(nèi)容選材應(yīng)試化等使得教材可讀性不強(qiáng)。本文根據(jù)多年操作系統(tǒng)課程教學(xué)經(jīng)驗(yàn),并結(jié)合相關(guān)學(xué)科理論與實(shí)踐經(jīng)驗(yàn),分析了操作系統(tǒng)課程存在的問題,總結(jié)了行之有效的應(yīng)對措施。
1 操作系統(tǒng)課程的若干問題分析
1.1 理論性強(qiáng)
操作系統(tǒng)課程給人的第一印象就是理論性強(qiáng)[2,3],其內(nèi)容不具體、不直觀,教材篇章以文字?jǐn)⑹鰹橹?,層次結(jié)構(gòu)較為隱蔽,不易把握邏輯脈絡(luò)。知識內(nèi)容可操作性不強(qiáng),難以設(shè)計(jì)實(shí)驗(yàn)以驗(yàn)證書本理論的正確性。與課程配套的訓(xùn)練題目同樣難以理解,難以解答。
1.2 理論與實(shí)際脫節(jié),整體與部分脫節(jié)
眾多學(xué)習(xí)人員具有使用某一種或幾種具體操作系統(tǒng)的經(jīng)驗(yàn),但是對其內(nèi)部構(gòu)造和工作機(jī)制不甚了解,自然希望通過操作系統(tǒng)理論課程揭開心中之謎。但是課程內(nèi)容有所答非所問、理論與實(shí)際需要脫節(jié)之嫌,學(xué)員關(guān)心的實(shí)際問題,如:操作系統(tǒng)是如何研制開發(fā)出來的,操作系統(tǒng)的整體結(jié)構(gòu)是什么,其各個(gè)組成部分是如何聯(lián)接在一起的,它們是如何協(xié)作運(yùn)行的等問題往往得不到明確解答。
理論與實(shí)際脫節(jié)、整體與部分脫節(jié),使得雙方難以相互追溯、相互印證。似懂非懂的知識只會令人疑慮重重,增加課程的困難體驗(yàn)。
1.3 課程的工程性、趣味性不足,應(yīng)試化特征明顯
作為一種結(jié)構(gòu)復(fù)雜、規(guī)模龐大的軟件系統(tǒng),操作系統(tǒng)的研制離不開軟件工程技術(shù)的支持。操作系統(tǒng)技術(shù)代表了軟件工程的頂級應(yīng)用技術(shù),操作系統(tǒng)軟件的開發(fā)是軟件工程技術(shù)應(yīng)用的一個(gè)重要范例。操作系統(tǒng)的資源抽象、資源虛化等技術(shù)思想符合軟件工程從抽象到具體、自頂向下、逐步細(xì)化的復(fù)雜問題求解原則,對于其他各類軟件的開發(fā)具有普遍的借鑒意義。
而以知識性為主、缺乏應(yīng)用功能的教材內(nèi)容脫離了操作系統(tǒng)自身的工程性,培養(yǎng)學(xué)生的工程興趣無從談起。缺乏工程性的內(nèi)容學(xué)起來往往很枯燥。這樣,操作系統(tǒng)理論課程就容易淪落為選拔考試的工具,而不是充滿快樂的課程。
1.4 操作系統(tǒng)規(guī)模的龐大與學(xué)習(xí)時(shí)間及學(xué)習(xí)能力的有限性之間存在著尖銳的矛盾
源代碼是操作系統(tǒng)的第一手資料,分析源代碼有望了解最真實(shí)的操作系統(tǒng)。然而有限的學(xué)習(xí)時(shí)間和有限的學(xué)習(xí)能力使得源代碼分析很難實(shí)施。因?yàn)椴僮飨到y(tǒng)規(guī)模極為龐大,Windows2000達(dá)到了幾千萬行代碼,Linux2.2.20內(nèi)核達(dá)到了幾百萬行以上代碼,即使是最低版本的Linux內(nèi)核也達(dá)到了將近1萬行源程序代碼。如此龐大的軟件系統(tǒng)很難在一年半載時(shí)間內(nèi)分析完畢和透徹理解。分析幾十萬行的操作系統(tǒng)源代碼幾乎需要耗盡人的畢生精力。最終,基于源代碼分析的操作系統(tǒng)學(xué)習(xí)方式對于很多人來說是可望而不可及的,他們或者無從下手,或者半途而廢。
因此,深入了解操作系統(tǒng)原理的現(xiàn)實(shí)途徑依然是操作系統(tǒng)理論專著的學(xué)習(xí),即通過第二手資料進(jìn)行間接學(xué)習(xí)和了解。
2 操作系統(tǒng)課程問題應(yīng)對措施
根據(jù)上述分析,解決操作系統(tǒng)課程教學(xué)困難主要從教材建設(shè)、課堂講授和訓(xùn)練三個(gè)環(huán)節(jié)采取相應(yīng)的措施。
2.1 教材建設(shè)
既然教材仍然是操作系統(tǒng)課程學(xué)習(xí)的關(guān)鍵資源,提高教材質(zhì)量就是解決教學(xué)困難問題的基本途徑。教材建設(shè)時(shí),必須改造操作系統(tǒng)理論教材內(nèi)容中不合理、不適應(yīng)需要的部分,提高邏輯清晰度,尤其是要明確具體操作系統(tǒng)技術(shù)與相應(yīng)概念理論之間的對應(yīng)關(guān)系,避免有意無意的模糊論述。在闡述操作系統(tǒng)某一概念、知識、數(shù)據(jù)結(jié)構(gòu)、操作或子系統(tǒng)等局部事物時(shí),通過明確該事物與其他事物之間的關(guān)系和該事物在全局框架中所處的位置而避免知識孤立,正確引導(dǎo)人們了解事物全局面貌。
確保教材內(nèi)容理論聯(lián)系實(shí)際的關(guān)鍵仍然是掌握和理解第一手資料,即透徹分析理解操作系統(tǒng)源代碼。鑒于操作系統(tǒng)的復(fù)雜龐大和學(xué)習(xí)時(shí)間的有限,可將待分析的源代碼限制在規(guī)模較小的低版本上,分析人員也僅限于教師等教材建設(shè)人員,對學(xué)生不作統(tǒng)一要求。
2.2 課堂講授
在教學(xué)環(huán)節(jié),則要采取言簡意賅、清晰易懂、引人入勝的教學(xué)方式。充分運(yùn)用直觀表達(dá)工具,控制學(xué)習(xí)強(qiáng)度,提高學(xué)習(xí)效率,避免學(xué)生過于疲勞。增強(qiáng)學(xué)習(xí)內(nèi)容的邏輯清晰性和吸引力,提高學(xué)生解題訓(xùn)練的規(guī)范性,培養(yǎng)學(xué)生邏輯思維能力和以理服人的習(xí)慣。
清晰是產(chǎn)生注意力和吸引力的前提,冗長枯燥的講解會令人倍感疲乏。只有清晰才能引導(dǎo)、啟發(fā)學(xué)生積極思考問題,參與課堂討論,提高學(xué)生學(xué)習(xí)積極性。
簡練是使學(xué)生保持注意力的另一舉措。過多的文字、密集的語言容易使人很快陷入疲勞。因此,應(yīng)當(dāng)盡量避免或減少文字使用量,增加圖表、動畫等較為直觀的表達(dá)形式,并運(yùn)用美術(shù)色彩原理,將表示不同對象的幾何圖形涂上不同的背景及邊框顏色,使不同對象可以醒目、輕松地加以區(qū)分?;脽羝淖趾蛨D表盡可能交替出現(xiàn),避免單調(diào)感,以豐富多彩的形式直觀形象地解釋抽象的事物和含義。
2.3 解題訓(xùn)練
在訓(xùn)練階段,強(qiáng)調(diào)學(xué)生解題訓(xùn)練的規(guī)范性。解題規(guī)范性包括:清晰簡明地給出解題步驟或解題示意圖,求解算法設(shè)計(jì)類、編程類題目如P、V操作[4]應(yīng)用問題時(shí),要按照軟件工程規(guī)范方法步驟,首先給出算法設(shè)計(jì)思想,然后給出算法實(shí)現(xiàn),定義相關(guān)信號量和變量,并對變量和語句給出必要的、準(zhǔn)確的注釋。解題過程要清晰表明自己答案的合理性,而不只是表明與某個(gè)標(biāo)準(zhǔn)答案相符合。
3 結(jié)束語
操作系統(tǒng)是一門復(fù)雜的課程,對教材、教學(xué)方法、訓(xùn)練方法等均有較高要求。上述措施的采用已經(jīng)獲得了良好的教學(xué)效果,原本抽象的內(nèi)容變得容易明白了,學(xué)生對操作系統(tǒng)課程的興趣被激發(fā)起來,課堂討論積極,氣氛活躍,互動良好,學(xué)生分析問題、解決問題的能力大大提高。學(xué)生的理解水平和應(yīng)用水平都大幅提高了,這不僅為他們繼續(xù)深造打下了深厚的理論基礎(chǔ),而且為他們成為合格、優(yōu)秀的卓越工程師也奠定了良好的實(shí)踐功底。
參考文獻(xiàn):
[1] 符琦,李潤求,黃力.操作系統(tǒng)課程教學(xué)內(nèi)容和方法的探討[J].當(dāng)代教育理論與實(shí)踐,2011.3(2):69-70
[2] 王洪豐.操作系統(tǒng)教學(xué)改革探析[J].計(jì)算機(jī)時(shí)代,2013.1:57-58
[3] 張旭,胡東華,韓麗.基于卓越軟件工程師培養(yǎng)的操作系統(tǒng)教學(xué)改革[J].中國電力教育,2012.8:79-80
[4] 賀玉珍,王文霞.操作系統(tǒng)中進(jìn)程同步實(shí)現(xiàn)方法探討[J].計(jì)算機(jī)時(shí)代,2011.9:51-58