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