摘 要:本文通過分析“操作系統(tǒng)”課程的教學(xué)現(xiàn)狀,結(jié)合筆者在應(yīng)用型本科高校進行該課程教學(xué)和改革的一些體會,提出了教學(xué)過程中全局觀的建立,探討了體驗式教學(xué)法的具體措施,改革了當(dāng)前教學(xué)活動中的薄弱環(huán)節(jié)。
關(guān)鍵詞:操作系統(tǒng);全局觀;教學(xué)
中圖分類號:TP316.7 文獻標(biāo)識碼:A
1 引言(Introduction)
操作系統(tǒng)是計算機系統(tǒng)中的重要系統(tǒng)軟件,它是計算機系統(tǒng)中軟硬件資源的管理者,用戶與計算機硬件的接口,操作系統(tǒng)在計算機系統(tǒng)中有如此重要的地位,使得該課程成為計算機科學(xué)與技術(shù)及相關(guān)專業(yè)的專業(yè)必修課。通過該課程的學(xué)習(xí),可以使學(xué)生理解計算機系統(tǒng)工作原理、了解操作系統(tǒng)的結(jié)構(gòu)與實現(xiàn)技術(shù)、初步具備系統(tǒng)軟件開發(fā)技能,為后續(xù)相關(guān)課程的學(xué)習(xí)奠定基礎(chǔ),為將來從事各種研發(fā)工作提供必要的理論基礎(chǔ)和技術(shù)準備。
操作系統(tǒng)課程是在先修了程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、計算機組成原理等專業(yè)課后開設(shè)的課程,因此要求學(xué)生能在扎實的基本功上開始本課程的學(xué)習(xí)。但操作系統(tǒng)所包含的內(nèi)容廣泛、概念抽象而龐雜、專業(yè)集成度高,知識點和原理的講授顯得比較枯燥。而且操作系統(tǒng)在長期的發(fā)展過程中,出現(xiàn)了多種策略和算法,在課堂上要講解這些處理機制所依據(jù)的技術(shù)條件及其優(yōu)劣,如果教師只是簡單地把教學(xué)內(nèi)容灌輸給學(xué)生,將很難激發(fā)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)主動性[1]。
另外,操作系統(tǒng)課程的學(xué)習(xí)要求學(xué)生有較強的抽象思維能力,有深厚的程序語言功底、扎實的數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)和一定的硬件基礎(chǔ)知識,學(xué)生在知識基礎(chǔ)不完備、缺乏系統(tǒng)性學(xué)習(xí)的情況下難免有畏難情緒。如果在教學(xué)過程中不注意理論與實際的結(jié)合,會使大部分學(xué)生對操作系統(tǒng)的學(xué)習(xí)只是停留在理論層面上。即使布置了上機實踐內(nèi)容,由于運行結(jié)果不像其他程序設(shè)計語言或應(yīng)用軟件能夠有立竿見影的效果,學(xué)生會片面地認為這門課就是理論課,只需要記憶術(shù)語和解決機制就行了,不需要深刻理解,就算學(xué)好了也沒有用處。最終這門主干課程變成了最“無用”的課程。
2 以全局觀思想為主線展開教學(xué)(Teaching with
the overall viewpoint)
操作系統(tǒng)課程的前導(dǎo)專業(yè)課有C語言、計算機組成原理和數(shù)據(jù)結(jié)構(gòu),本課程還與計算機網(wǎng)絡(luò)、Java程序設(shè)計、編譯原理、數(shù)據(jù)庫等課程有著密切的聯(lián)系[2,3],因此操作系統(tǒng)課程是計算機及相關(guān)專業(yè)非常重要的“承上啟下”的課程,在教學(xué)過程中必須以“大課程觀”的思路與其他專業(yè)基礎(chǔ)課的內(nèi)容和知識相結(jié)合。在各章節(jié)涉及到相應(yīng)部件的硬件知識時應(yīng)融合計算機組成原理課程的知識;在介紹存儲管理中程序的編譯鏈接時應(yīng)結(jié)合編譯原理課程的知識;在介紹進程同步互斥、死鎖等內(nèi)容時要結(jié)合數(shù)據(jù)庫原理、計算機網(wǎng)絡(luò)的相關(guān)概念,通過這種聯(lián)系將多門專業(yè)基礎(chǔ)課程有機地貫通起來,不僅使本課程的教學(xué)不再枯燥,也體現(xiàn)本課程的“有用性”,有效地促進了整個專業(yè)理論體系的完善。
操作系統(tǒng)課程分為處理器管理子系統(tǒng)、存儲器管理子系統(tǒng)、設(shè)備管理子系統(tǒng)、文件管理子系統(tǒng)[4],在教學(xué)中強調(diào)模塊化設(shè)計思想,以軟件工程的觀點訓(xùn)練學(xué)生將大型軟件劃分為若干較小的模塊,再對各模塊進行需求分析和功能設(shè)計,使學(xué)生提前接受軟件工程課程的基本知識。
抓住“大課程觀”這根主線后,在展開教學(xué)的時候引導(dǎo)學(xué)生綱舉目張的學(xué)習(xí)?!熬V”就是操作系統(tǒng)是計算機軟硬件資源的管理者,“目”就是處理機、存儲器、外設(shè)、文件這些具體對象的管理,作為管理者要考慮如何有效地管理使得內(nèi)部協(xié)調(diào)推進,還要考慮與外部進程安全而有效地聯(lián)系。各部件之間是相互關(guān)聯(lián)的,構(gòu)成一個有機的整體,教師應(yīng)該引導(dǎo)學(xué)生沿著一條主線系統(tǒng)而不是孤立、盲目地學(xué)習(xí)。
3 體驗式教學(xué)方法的實踐(The practice of
experiential pedagogy)
在操作系統(tǒng)課程的教學(xué)過程中,如何讓枯燥的理論煥發(fā)出它本質(zhì)的魅力,既調(diào)動學(xué)生的學(xué)習(xí)興趣,又兼顧知識體系的融合性,這就要求任課教師注意授課技巧。
通過在應(yīng)用型本科院校的實踐,總結(jié)出一套體驗式教學(xué)方法。具體就是,教師在介紹理論之前,首先以生活中的事件為載體,以生動的、形象的、學(xué)生愿意參與討論的案例為背景,吸引學(xué)生思考,積極探討并提出多種解決方案,然后比較各方案的優(yōu)缺點,討論是否還有更優(yōu)的方案、是否照顧到各類用戶的需要。
以調(diào)度算法為例,設(shè)置醫(yī)院這種生活化的場景,將病人比喻為進程,當(dāng)多個進程到達時,作為院方最簡單的解決方案是先來先服務(wù)。然后引導(dǎo)學(xué)生展開討論:如果是急病或慢性病怎么處理?如果用戶只是來開藥不需要看醫(yī)生也要等那么長時間嗎?這時候再拋出教材上的短進程優(yōu)先、多級反饋隊列等算法,由于學(xué)生首先站在有感知問題的角度看問題,已經(jīng)有了生活的體驗,這時再從具體到抽象,比起一開始就介紹空洞的理論,學(xué)生更容易理解和接受,而且由于參與了討論,激發(fā)了學(xué)生學(xué)習(xí)興趣,更促進了研究性學(xué)習(xí)的氛圍。在研究完進程調(diào)度算法后,任課教師可以繼續(xù)帶動學(xué)生展開討論,正如人們到銀行辦業(yè)務(wù)、到火車站買票一樣,只要人多必然要排隊。同理,系統(tǒng)中只要有多個進程競爭資源就要構(gòu)造不同的隊列,操作系統(tǒng)為了保證其有效性,提出了各種調(diào)度算法,在后續(xù)章節(jié)研究置換算法、磁盤調(diào)度算法等問題時還會遇到相似策略,學(xué)生可以舉一反三地學(xué)習(xí)。通過這種點、面相結(jié)合的教學(xué),幫助學(xué)生理解各知識點是相關(guān)聯(lián)的,不能割裂地、孤立地學(xué)習(xí),要有全局觀。
其實,操作系統(tǒng)中的許多經(jīng)典算法和原理都和人們現(xiàn)實生活中的行為相類似,或者說這門課程更像是管理學(xué)。將生活中的現(xiàn)實問題與操作系統(tǒng)的原理關(guān)聯(lián)起來,就能夠加深學(xué)生對原理的理解。在該課程其余原理的教學(xué)中,可以結(jié)合等公共汽車、電視選秀節(jié)目這些學(xué)生感興趣的例子進行類比,將已知知識抽象、升華為操作系統(tǒng)知識,不斷提高學(xué)生的理解力和解決問題的能力。
4 突破教材的局限(Breakthrough the limitation of
the textbooks )
教材的內(nèi)容總是高度理論化的,而且滯后于當(dāng)前技術(shù)的發(fā)展。因此教師在教學(xué)過程中要能夠突破課本,帶動學(xué)生進行探究性學(xué)習(xí)。例如在介紹設(shè)備管理的磁盤調(diào)度問題時,可以拿一塊硬盤實物給學(xué)生看,講解機械硬盤的尋道時間和旋轉(zhuǎn)延遲時間是如何產(chǎn)生的。再進行知識拓展,介紹目前正在推廣使用的固態(tài)硬盤,由于其基于閃存或基于DRAM等存儲介質(zhì),使得它具有存儲速度快、抗摔性能強、低功耗、無噪音等特點,但也帶來容量小、壽命短、價格貴的問題,引導(dǎo)學(xué)生結(jié)合計算機組成原理課程的有關(guān)硬件知識,研究比較兩類硬盤的性能參數(shù),比較兩者在調(diào)度算法、緩沖技術(shù)上可以采用哪些不同的技術(shù),使學(xué)生不僅可以了解目前操作系統(tǒng)發(fā)展的動態(tài),而且可以激發(fā)學(xué)生繼續(xù)探究和學(xué)習(xí)的興趣。
教材涉及的算法較多,以內(nèi)存管理為例,介紹了首次適應(yīng)、最佳適應(yīng)、最壞適應(yīng)等分區(qū)分配算法,也提到了快速分配算法和伙伴系統(tǒng),這些算法教材只給出了設(shè)計思路,沒有詳細的代碼。教學(xué)中,教師可以通過課堂演示或上機實踐的環(huán)節(jié),使學(xué)生能夠通過觀察實驗結(jié)果,真正了解各算法的優(yōu)缺點,彌補教材敘述的不足。
另外,還可通過建設(shè)動態(tài)教學(xué)網(wǎng)站,利用網(wǎng)絡(luò)課件、網(wǎng)絡(luò)作業(yè)、網(wǎng)絡(luò)資料庫等教材外的資源。教師可以提供一些電子資源的鏈接、上傳一些電子書,以及當(dāng)前最新研究成果,豐富教學(xué)內(nèi)容,拓展學(xué)生的視野,提供學(xué)生課后學(xué)習(xí)的可能性。
5 結(jié)論(Conclusion)
操作系統(tǒng)課程的基本原理枯糙而抽象,學(xué)生理解起來比較困難,為了提高教學(xué)效果,我們在授課過程中嘗試多種教學(xué)策略,將課程中的重點和難點與生活化的事例進行類比,通過這些與學(xué)生生活相關(guān)的實例講解延伸到抽象理論的介紹,使學(xué)生易于理解。同時注重與其他專業(yè)課程知識的關(guān)聯(lián)和銜接,既使得本課程的教學(xué)具有事半功倍的作用,而且鍛煉了學(xué)生計算思維的能力,鍛煉學(xué)生創(chuàng)新思維、分析問題、解決問題、評價問題解決方案的能力,并嘗試提出更優(yōu)的解決方案。這些教學(xué)嘗試在實際教學(xué)的實踐中,確實起到了良好的效果,值得在應(yīng)用型本科高校中繼續(xù)實踐下去。
參考文獻(References)
[1] 侯海霞.關(guān)于在高校如何有效開展操作系統(tǒng)課程教學(xué)的思考
[J].太原大學(xué)學(xué)報,2012,13(4):121-123.
[2] 柳文濤,李聲,包云.整體法在操作系統(tǒng)教學(xué)中的應(yīng)用[J].福建
電腦,2013(11):59-60.
[3] 吳婭婷.基于《操作系統(tǒng)》課程教學(xué)改革的研究[J].電腦知識
與技術(shù)2010,6(3):666-667.
[4] 張堯?qū)W,史美林,張高.計算機操作系統(tǒng)教程[M].北京:清華大
學(xué)出版社,2006.
作者簡介:
潘 雷(1969-),女,碩士,副教授.研究領(lǐng)域:校企合作人才
培養(yǎng)模式,軟件開發(fā).