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