李仲生 黃美玲
摘 ? ?要: 為理清操作系統課程各知識點之間的關聯,降低課程抽象性,條理化課程的綜合性,將操作系統知識集看成對象,依據基本概念和管理建成知識樹,通過樹的生長和回溯,讓學生感悟課程的全貌、理清知識間的脈絡關系,能學有所獲。
關鍵詞: 操作系統 ? ?知識點 ? ?知識樹 ? ?結構化教學
操作系統作為軟件在計算機系統中不可或缺,作為課程,它是計算機應用技術及其相關專業的骨干核心專業基礎課程。它存在于一個十分關鍵的位置,向底層,它驅動著硬件,向上層,它支撐著軟件,承上啟下,充當著一個大當家的角色。從課程角度,它最親密的前驅是計算機組成原理,極靠近的后繼是軟件工程,可說是軟硬兼施,這就必然導致它的內容覆蓋面寬,抽象度高,對于基本功不是很扎實的學生,要讓他們在操作系統中學有所獲,是一件有一定挑戰性的工作。
為了做好這項工作,已有研究者作了一些有意義的探索,一些文獻從教學細節上給出了頗具借鑒性的探討,例如文[1]就對進程和線程作了剖析;另一些文獻則從宏觀上把握操作系統的教學,例如文[2]就從多個角度探索了操作系統的教學模式。下面筆者將整理數年來的操作系統教學的積累,從操作系統內部結構角度尋找一種讓學生學有所獲的途徑。
1.操作系統的結構性分析
從不同的視點看待操作系統的結構,會有不同的觀感。不同的觀感,會衍生出不同的研究觀點,比如資源管理觀點、用戶管理觀點及進程管理觀點等。若單以其中某個觀點論操作系統,則必然導致盲人摸象式的缺失,顧此失彼,或弱彼。為讓學生對操作系統有全面的把握,可暫忘觀點、聚焦內容,對操作系統的內容作結構化分析。
操作系統橫連硬軟件,有很強的結構性。為表達這種結構性,不妨借用面向對象編程的概念,把操作系統看做是一個系統軟件類的實例——對象。這個對象的成員變量大致可分為三類,一類是硬件成員變量,主要有:CPU,內存,外存,IO設備,嵌入式設備,網絡設備;另一類是概念成員變量,主要有:操作系統,作業,進程,線程,文件,文件系統;第三類則是除上兩類外的其他成員變量,主要是一些與管理調度有關的成員變量,如分區、段、頁等。相應地,這個對象也有成員函數,其主要的成員函數大致可歸納為三大調度、三大管理,三大調度分別是作業調度、進程調度和線程調度,三大管理為存儲管理、設備管理及文件管理。在操作系統延伸到嵌入式系統、分布式系統或網絡后,這些基本的調度管理依舊存在。
以上對象結構是一種對操作系統宏觀上的把握,有助于讓學生對內容有全局把握,避免學生有“只在此山中,云深不知處”的茫然,增強學生的學習信心。正如人有大腦、手、腳等這些成員變量,有大腦思考、動手、舞腳這些成員函數一樣,操作系統的成員、成員函數有機融合成一個整體,結構性很強。在教學中沿用、細化這種結構,有助于學生形成學習思路、橫穿操作系統的寬覆蓋面而學有所獲。
2.結構化的操作系統教學
為在操作系統教學中引入前述對象結構,按照操作系統教材的一般編排順序,在實際教學中首先理出一條主線,這條主線主要由四大基本概念組成,即操作系統概念、作業概念、進程概念和線程概念。強調這些概念,是因為這些概念的內涵與外延都其獨特的知識覆蓋性。不妨先看看操作系統的概念,它有四個層面的內容[3]:計算機系統中的硬軟件資源的有效組織管理者;程序的執行流程的控制者;美觀、方便、有效的用戶界面的提供者;本身是一組程序模塊的集合。其中的第一層的外延涵蓋了存儲管理、設備管理、文件管理,第二層直指作業調度、進程調度及線程調度,也就是說,操作系統概念本身就是對操作系統對象中的大部分成員和成員函數的一種歸納,以它作為主桿分枝細化,就可得到全操作系統。作業、進程、線程的概念與操作系統的概念類似,在各自的范圍內,都有著很強的概括性,這種概括性意味著相應章節的基本內容可從概念本身加以推導。考慮這些基本的概念的覆蓋能力,由它們構成的這條主線被稱為操作系統內容結構中的樹干。教學,將沿著這條樹干步步上升。
《高等教育心理學》對學生在學習活動中的“理解”和“牢記”有如下描述:“理解”可通過掌握一個知識點的內涵與周邊相關性達成,“牢記”要實現,需及時復習并理清知識的脈絡。在操作系統教學中將主線看成樹干,隨著課程的步步推進,樹干在節節長高,回顧和復習可沿著樹干向下回溯,生枝發葉可沿著樹干不斷向上生長。比如生長,以作業為例,首先是概念:“用戶在一次計算過程中或者一次事物處理過程中要求計算機系統所做的工作的集合”,這集合以作業控制塊、數據集、程序的形式存在,可處在提交、收容、執行、停止四種狀態的一種中,這些狀態之間的轉換由作業調度程序完成,接下來是作業調度算法的評價指標、作業調度算法種類和實現等,分枝散葉,沿著知識內容結構步步達到最細節的葉,最終讓與作業相關的知識枝完善。向下回溯是向上生長的逆過程,不再贅述。
在概念主線走完后,樹干可繼續向上生長,進入管理主線——存儲管理、設備管理、文件管理。管理主線的每一個分枝生長步驟類似于前面的概念主線:從基本概念起,挖內涵,找外延,討論算法。管理主線走完,經典操作系統課程即進入尾聲,只需在其上加一個樹冠——操作系統的進一步發展就趨于完整。
采用以上樹結構實施操作系統對象教學時,每堂課課前需沿樹向下回溯,以達重復復習之效。由于時間有限,回溯時不必全講,只需把主桿勾出,提醒學生主動沿著主桿去想枝念葉。此外,由于操作系統的全部知識已梳理成樹,樹枝之間可橫向比較,以深化記憶。比如作業和進程,它們的概念、組成、調度算法,都有可比較性。又比如進程調度算法與頁式管理的換頁算法,也有可聯想的余地。
概言之,采用結構化操作系統教學,就是要把操作系統看做 是一棵知識樹,讓學生有個全貌、理清脈絡、反復回顧、自動比較。
無論多寬的原始森林只要修了路就不會再是迷途,任何復雜的問題只要找到了一種解法,其復雜性就隨之直線下降,操作系統對學生尤其是對地方本科院校的學生來說,是有復雜性和綜合性的,前文的目標,就是在這種復雜性和綜合性中找到一條路,讓學生學有所獲。數年的教學實踐證明,前文的方法強化了學生的學習成就感,增強了學習效果。
參考文獻:
[1]王令群,韓彥嶺,李凈.操作系統中線程概念的教學方法研究[J].考試周刊,2012,9:109-111.
[2]左萬歷,趙東范,閆昭.操作系統課程的多角度教學模式探索[J].計算機教育,2011,12:103-106.
[3]劉振鵬,王煜,張明.操作系統(第三版).中國鐵道出版社,2013:3-4.
基金項目:湖南省教育科學“十二五”規劃課題(項目號:XJK015BXX007)