張霄宏
【摘 要】《操作系統》是計算機專業的核心課程,在專業課程體系中地位非常重要。本文從 《操作系統》課程的特點出發,分析了學生在課程學習過程中存在的問題,提出了將抽象知識具體化、將枯燥理論生動化的教學思路,并探討了利用主線將操作系統知識系統化的教學方法。
【關鍵詞】操作系統;理論教學;教學改革
0 引言
《操作系統》是計算機專業的核心課程,在專業課程體系中起著承上啟下的作用。該課程主要講授計算機操作系統的基本原理和實現技術,是理解計算機系統的工作過程和使用計算機進行應用開發進而解決實際問題的重要基礎。課程內容涵蓋處理機管理、進程管理、內存管理、文件系統管理和用戶接口等相關的理論、算法、技術、實現和應用[1-2]。深入理解并熟練掌握《操作系統》的知識對學好后續專業課程非常重要。
1 《操作系統》教學中存在的問題
通過對課程調查發現,學生在學習《操作系統》的過程中會覺得內容枯燥、知識點零碎且連系不緊密,理解難度大。這些因素會降低學生對該課程的學習興趣,影響學習效果。通過分析發現這種情況是由以下三個原因造成的。
(1)知識點繁多且抽象
計算機操作系統負責管理計算機中的硬件資源。由于這些資源在工作原理、使用方式等方面存在差異,必須以不同的方式對它們進行管理以保證其正確高效工作。這些因素導致操作系統設計比較復雜,規模比較龐大大。要把操作系統的知識講清楚,相應課程包含的內容勢必比較廣泛,知識點和概念也會比較多,這是學生覺得本門課程知識零碎的一個原因。除了對硬件進行管理,操作系統還用向用戶提供使用計算機的接口。為了便于用戶使用,操作系統會對硬件進行抽象以屏蔽其復雜性。舉例來講,磁盤的存儲空間正是經過了抽象才變成了文件系統直接面對物理塊。而學生對計算機系統的認識停留在硬件層面,這些抽象增加了知識點的理解難度。
(2)理論性強
《操作系統》側重講授計算機操作系統的基本原理和實現方法,常借助于流程圖或文字進行闡述。由于很多原理比較復雜且是在抽象的基礎上形成的,需要用專業術語進行描述,理論性較強,不易理解。文獻[3-5]也提到類似的問題。雖然在介紹這些原理和方法時可以使用流程圖等工具,但是由于原理的復雜性導致相應的流程圖或文字描述比較枯燥,而教材中給出的例子專業性又太強,學生理解起來有較大難度,學習熱情受到影響。死鎖相關知識中的銀行家算法就是這樣的例子。
(3)局部性強
現有的教材在介紹計算機操作系統的知識時都是分模塊展開,各個模塊自成一章進行闡述,缺少將這些知識連成一個整體的紐帶。具體來講,操作系統的內容一般分成處理機管理、內存管理、進程管理、文件系統和用戶接口五模塊,每個模塊都由獨立的章節進行介紹。這種布局有利于對各個模塊進行深入細致的闡述,但是卻不易將各模塊之間的聯系闡述清楚。因此,學生會覺得操作系統的知識比較分散,不夠系統。
以上這些因素會降低學生的學習興趣,并使學習效果大打折扣。要客服這些問題必須對《操作系統》的教學思路、手段等進行改進和完善。
2 解決方法與手段
為克服《操作系統》課程中存在的知識點繁多、理論性強、知識點間聯系不突出等問題,本文將從以下三個方面對理論教學的思路和手段進行改進。
(1)借助例子將抽象的知識具體化
將抽象的、難理解的知識具體化可以加大其可理解性。要在教學中做到這一點可以分兩步、由淺入深來實現。第一步借助生活中的具體例子詮釋知識點。在學生對這個知識點有了初步認識之后,再利用專業的例子加深學生對這個知識點的理解。下面將以操作系統對進程和線程的資源分配為例說明具體化的過程。
第一步尋找生活中與進程和線程關系比較接近的例子。家庭關系中的父子關系與進程和線程之間的關系比較接近。在家庭關系中,父親擁有對家庭全部財產,兒子出生時沒有任何財產,但在成長過程中兒子可以使用父親擁有的財產。與此類似,計算機操作系統只給父進程分配資源,線程不擁有資源,需要時線程可以共享父進程的資源。
第二步用專業相關的例子加深學生對這一知識的理解。可以用程序設計語言寫一段代碼,展現計算機操作系統給父進程與線程分配資源的具體情況。
(2)采用圖、文、動畫等多種手段使理論生動易理解
計算機操作系統中很多重要的理論雖然通過文字和算法描述能夠介紹清楚其原理,但是學生會覺得理論枯燥、晦澀難懂,進而失去了學習興趣。如果在介紹理論的過程中能恰當地使用圖、動畫等手段就可以使枯燥的學習變得有趣,從而激起學生的學習興趣,改善理論學習的效果。然而,過多的使用圖形和動畫會使課件過于花哨,反而容易分散學生的注意力,在教學過程中要特別注意這一點。
(3)利用主線突出課程的系統性和整體性
學生在學習《操作系統》課程時經常只見局部不見整體。對操作系統各個模塊的運行原理能夠較好理解,但是對類似于“操作系統采取了哪些措施保障程序順利執行結束”這樣的問題并不能清晰準確地回答,而對這個問題的回答正是學生是否透徹理解操作系統原理的重要體現。要幫助學生全面透徹理解操作系統,在授課過程中必須突出整體性和系統性。文獻[6]也強調在教學中要突出整體,注重知識之間的內在聯系。
為做到這一點,可以將程序的執行過程作為主線將操作系統各個模塊的內容連系起來。在講解程序如何執行的過程中,適時地將操作系統各個模塊的內容以及模塊之間相互協作的內容引申出來。這種方式即可在縱向上對某個模塊進行深入闡述,也可在橫向上對模塊間的協作關系進行清晰解釋,使學生對操作系統有一個系統、整體的認識。
3 結論
《操作系統》是計算機專業的核心課程,在作業課程體系中扮演非常重要的角色,具有知識點多、理論性強等特征,學生在學習過程中容易出現只見局部、不見整體的情況。為提高操作系統的學習效果,本文提出了將抽象知識具體化、將枯燥理論生動化的教學思路,并探討了利用主線將操作系統知識系統化的教學方法。
【參考文獻】
[1]湯小丹,梁紅兵,等.計算機操作系統(第四版)[M].陜西:清華大學出版社,2014.
[2]張堯學,宋虹,等.計算機操作系統教程(第四版)[M].北京:清華大學出版社,2013.
[3]楊曉敏,吳煒,等.《計算機操作系統》課程教學改革之探索與實踐[J].教育教學論壇.2015,7:110-111.
[4]劉楊濤,白光遠.《計算機操作系統》課程教改研究[J].軟件導刊.2012,11(4):184-186.
[5]葉俊民,李源,等.“操作系統原理”理論與實踐課教學研究[J].實驗技術與管理.2010,27(9):171-177.
[6]劉乃琦,蒲曉蓉,等.電子科技大學“計算機操作系統“精品課程建設[J].計算機教育.2006,17-20.
[責任編輯:朱麗娜]