黎文偉 楊金民
摘要:本文以學生對實驗教學內容的興趣及需求分析為依據;提出了基于WAP的“操作系統原理”課程實驗教學的方案設計和內容設計。應用WAP后,學生對“操作系統原理”課程實驗興趣增加,學習的主動性、動手能力得到提高,更深刻的理解掌握了課程內容。
關鍵詞:操作系統;實驗教學;WAP;WRK;CRK
中圖分類號:G642 文獻標識碼:B
1引言
“操作系統原理”課程的重要性可以用Avi Silberschatz在其經典教材《Operating Systems Concepts》中的描述來概括:“操作系統是任何計算機系統的基本組成部分,因而操作系統課程也是任何計算機科學相關教育的基本組成部分”。該課程主要講述通用操作系統應該具備的功能、工作原理及相關算法。應該說課程內容并不艱深晦澀,但該課程卻是一門公認的難教、難學的課程。難教的原因是其內容多且散、理論性強又抽象。難學的原因是教學內容看不見摸不到,學生難以理解掌握。
在理論教學時以學生常用的操作系統如Windows、Linux等作為案例進行分析對輔助學生掌握課程內容有一定作用。但由于理論課時有限,教學內容多,Windows、Linux等案例的分析很難展開;而且案例分析時學生看到的主要是程序代碼,不能直觀的反映教學內容。因此設計直觀、合理的課程實驗成為保證“操作系統原理”課程教學效果的重要手段。
國內外操作系統課程實驗教學采用的系統有Minix、Nachos、ToyOS、Linux等。Minix、Nachos、ToyOS均不是通用操作系統,而是為教學目的而開發的,功能不完善,存在較多BUG,安裝復雜,不宜作為操作系統課程實驗平臺。Linux是一個完整的通用操作系統,且開放源代碼,是一個可行的實驗平臺。但目前大多數高校機房由于承擔了多門課程的上機任務,往往安裝的是Windows操作系統。若同時安裝雙系統則給機房管理造成困難,因此Linux的實驗平臺在建設上也存在困難。
Windows作為目前使用最普遍的操作系統,以之作為實驗平臺可極大的激發學生的學習興趣。但Windows代碼不公開,給課程實驗設置帶來困難。作為微軟共享源代碼計劃的一部分,微軟發布了WAP(Windows Academic Program),提供了一套簡單但完整的操作系統內核源代碼,老師和學生可以更清晰的了解Windows內核工作機制,并可以動手對之進行修改或添加新的底層功能,成為一個理想的操作系統課程實驗平臺。
在微軟亞洲研究院資助下,我們開始了WAP在本科“操作系統原理”課程實驗教學中的應用探索。本文以學生對實驗教學內容的興趣及需求分析為依據,介紹了基于WAP的“操作系統原理”課程實驗教學的方案設計和內容設計。應用WAP后,學生對“操作系統原理”課程實驗興趣大大增加,學習的主動性、動手能力得到提高,也更深刻的理解掌握了課程內容。
2學生興趣與需求調研
目前各高校普遍開設了“操作系統原理”課程實驗,實驗內容的設置也各有不同,為切實了解學生對于“操作系統原理”課程實驗的興趣與需求,從而有針對性的設置實驗平臺及實驗內容,在2008年對正在開設“操作系統原理”課程的210名本科生進行了問卷調查,同樣的調查也于2009年在部分本科生中開展。
圖1是學生希望使用的實驗平臺情況。不出意料,絕大多數學生(93%)希望使用Windows作為實驗平臺,這與學生平時的使用經歷有關,100%的學生在日常生活中就使用了Windows,所以他們也希望“操作系統原理”課程實驗選擇熟悉的Windows平臺。雖然有4%的學生希望使用Linux或Unix,3%的學生希望使用Nachos或其它系統,但這些學生也比較熟悉Windows。此外,調查中,學生也普遍表現出對了解Windows的結構、工作原理的興趣。因此,以Windows作為課程實驗平臺,符合了學生的意愿,能夠最大程度的激發他們的學習興趣,保證教學效果。

實驗的目的是輔助學生形象深刻的理解課程重點,內容應涵蓋課程的主要知識點。實驗類型根據實驗的難度、知識要求及對學生的輔助作用的不同,一般可分為驗證性實驗、設計性實驗和綜合性實驗。為了達到實驗效果,應該設置不同難度的實驗以使學生循序漸進的掌握知識。 圖2是學生希望的實驗難度情況。有過半的學生希望實驗能夠有一定的難度,其中有10%的學生希望能有難度較大的實驗,只有16%的學生希望實驗能簡單。這一結果對不同類型實驗的設置有指導意義,考慮到大多數學生希望實驗難度在中等以上,即使是驗證性實驗也必須考慮實驗內容的設置要保證不能太簡單;同時設計性實驗和綜合性實驗可以有一定的難度,但只有10%的學生希望實驗有較大難度,因此,難度也不能太大。

3WAP的應用
依據對學生的問卷調查結果,決定選擇Windows作為課程實驗平臺。但Windows代碼不公開,給課程實驗設置帶來困難。微軟發布的WAP(Windows Academic Program)為解決這一困難提供了可行的途徑。因此,最終確定基于WAP設計實驗教學方案和內容設計,開展Windows平臺下的“操作系統原理”課程實驗教學的探索。
3.1WAP介紹
WAP是微軟公司發布的一項讓學生通過閱讀Windows內核源碼來學習“操作系統原理”的項目,它分為三部分:
(1) 課程資源包CRK(Curriculum Resource Kit)
CRK是一套Windows系統教學資源包,包括大量驗證性實驗、實驗工具及Windows課程講義。這些資源均以Windows XP和Windows 2003為基礎。CRK基本覆蓋了操作系統課程的所有知識點。但主要提供驗證性實驗。
(2)Windows研究內核WRK(Windows Research Kernel)
WRK是微軟為高校操作系統課程提供的可修改和跟蹤的操作系統實驗教學平臺。它給出了Windows內核的大部分代碼,可以對其進行修改、編譯,并且可以用這個內核啟動Windows操作系統。這一平臺是進行設計性或綜合性實驗的理想平臺。
(3) 項目實驗工具ProjectOZ
一套探索實際操作系統運行情況的工具,其實是一個運行在用戶模式下的內核接口程序。在這個環境下學生可以查看實際運行的Windows的各種數據結構、處理過程等。同時提供了一個運行于其上的簡單但完整的示例操作系統BasicOZ。全部程序以C和匯編語言源碼形式提供。
3.2實驗教學內容設計
以WAP為平臺,對“操作系統原理”課程實驗教學的方案和內容進行了設計。實驗教學共計32學時,主要希望達到這樣一些目的:
理解并掌握現代操作系統的工作原理和機制;
會分析和解讀Windows操作系統內核源代碼;
能從Windows內核源代碼級修改和擴充操作系統功能。
根據難度的不同,每個實驗或由學生單獨進行或分組進行。為使學生重視,實驗成績占課程成績30%,并且每個實驗要求學生在給老師演示結果的同時提交實驗報告和設計文檔。實驗教學內容設置了8個必做實驗和一定數量的自選實驗,覆蓋了“操作系統原理”課程的基本內容,并具有不同的難度。必做實驗如表1所示。

4結束語
以WAP作為“操作系統原理”課程實驗教學平臺已有兩個學期。結果表明WAP平臺極大的吸引了學生的興趣,學生有很大的熱情去閱讀分析Windows的源代碼,并嘗試進行修改。大部分課堂較認真的學生基本能獨立的完成所有實驗。由于WAP平臺所提供資源很豐富,下一步將探索在WAP下開設更多難度適中、學生有興趣的實驗;另外也將研究基于WAP平臺開展“操作系統原理”課程設計。
參考文獻:
[1] 黃廷輝,王宇英,崔更中.“操作系統”課程實踐教學的研究與實踐[J]. 計算機教育,2007(11):18-20.
[2] 李萍. Linux操作系統實驗教學探討與實踐[J]. 計算機教育,2008(8):21-21.
[3] 鐘少丹.“操作系統”課程實驗設計的思考[J]. 計算機教育,2008(12):120-121.
[4] 鄧勝蘭,寧洪. 操作系統實踐教學的探索[J]. 計算機教育,2007(20):8-10.