李瑛達 謝雙杰
摘要:“操作系統”作為一門傳統的計算機課程,隨著IT領域的不斷進步和發展,它的教學將面臨更多的新問題。本文從我校“操作系統(Linux)”的教學情況入手,結合本校學生的學習特點和教育心理學理論,對“操作系統”課程的教學環節進行了探討。
關鍵詞:操作系統;Linux;實例化教學
中圖分類號:G642 文獻標識碼:B
1“操作系統”教學中存在的問題
“操作系統”是計算機專業學生的一門必修課程,大部分高校將此課程設置在大二下半學期。學生在此之前雖然已經完成“C語言程序設計”和“計算機組成原理”的課程,但首次接觸“操作系統”,基本上屬于丈二摸不著頭腦。這主要是因為“操作系統”本身是一門博大精深的課程,而我們教學主要是傳授學生關于操作系統原理方面的知識,可謂是對操作系統核心內容的高度概括。即便是遇到了一些經典的算法也基本上是屬于紙上談兵。對于這樣抽象的內容,學生無法像學語言課程一樣,通過編寫代碼后能夠立竿見影的看到程序運行的結果,因此對于操作系統的學習逐漸產生了厭學情緒。傳統的“操作系統”教學中能夠引起他們興趣的主要就是其中生動有趣的算法,如果我們在此能夠多做一些實踐教學,讓學生勤動腦、多動手,甚至將自己的算法逐漸整合成一個最簡單的操作系統,這種實例化的教學將會讓學生體會到操作系統學習的成就感,同時有利于培養學生的創新能力。
2“操作系統”教學改革方案
2.1操作系統原理實例化
這里提出將操作系統原理實例化,其實就是拿出一個可以提供給學生的操作系統,可以讓學生真正體會所有經典算法的真正的操作系統。選擇一個開源的操作系統這是一個必然的趨勢,而在眾多的開源操作系統中,Linux是很多高校教學和實驗的首選。Linux不僅可以讓學生查看像PCB(進程控制塊)這樣的數據結構的源碼程序,更可以讓學生在Linux上編寫出進程創建、線程并發等等只可意會不可言傳的程序代碼。
例如《操作系統》中第二章的內容進程管理,通常在最初階段將學生頭腦里的“程序”轉化成“進程”是比較困難的,另外對于進程并發的概念總是不能真正的理解。在這里如果能夠及時的引入Linux中的系統調用fork()來創建進程,并且設計出一個易于學生理解,并且有一定趣
味的例子給學生實現,那么對于剛進入操作系統學習的學生來說無疑是一個巨大的幫助。這里給出一個使用fork()調用創建進程的簡單的例子。
#include
main()
{
pid_t id=0;
printf(“program is excuting… ”);
printf(“in function main… ”);
id=fork();
if(id==0)
{printf(“I am child!!! ”);}
else
{printf(“I am parent!!!”);}
}
這個例子僅僅幾行代碼卻詮釋了進程創建、進程并發、進程父子關系等多個概念。當然在這里一定要交代好fork()調用的幾個重點:
(1) 子進程復制父進程的代碼和數據;
(2) 子進程從fork()調用之后開始執行;
(3)fork()調用成功給子進程返回值為0,給父進程返回子進程的pid號。
通過系統調用fork()拋磚引玉,讓學生自己寫出一段有意義的程序。學生通過自己的思考也會提出一些有意思的問題,例如如果在子進程里再調用fork()創建進程,這些進程之間的關系又是什么。學生開始思考也就意味著他開始對這個理論感興趣了,學生提出了新的問題說明了學生對這些概念有了深刻的理解。而我們的教學的目的和意義也就達到了。
2.2經典算法程序化
算法本事身就是相對比較深奧的程序,而這部分也恰恰是軟件編程的核心。如果能夠掌握這個龐大的軟件——操作系統里的關鍵性算法,自然對學生編寫程序和研究算法有著不可估量的好處。從第二章的信號量開始就已經開始涉及到了操作系統中某些關鍵和經典的問題。很多學生由于是第一次接觸算法,很難把這些經典問題和操作系統中的某一部分代碼有效的聯系起來,所以抽象的算法就成了他們最難以理解和消化的“食物”了。在這里設計了一些實驗內容,如表1所示:

3結束語
“操作系統”作為計算機專業的必修課程,是一門有著重要地位的核心課程。如何讓實驗教學配合好理論教學,讓枯燥無味的原理變成趣味十足且耐人尋味的一門課程成為了改革的主要目標。將操作系統中的每一個難以理解的定義和算法實例化,搞好這個教學環節,對于提高計算機的教學質量、全面提高學生的素質有著重要的意義。“操作系統”課程教學方法的改進要遵循適應課程教學改革和專業發展的實際需要,切實貫徹該課程的教學大綱和基本要求,不斷完善教學活動的各個環節。充分發揮學生的能動作用,培養學生發現問題、分析問題、解決問題的綜合能力,真正培養學生在系統軟件開發方面的綜合能力。
參考文獻:
[1] 付曉翠.《計算機操作系統》教學方法改革探悉[J]. 山東農業教育,2008(4):32-34.
[2] 孫斌,周海波. 操作系統(Linux)實驗指導[M]. 大連:東軟電子出版社,2008.