黎文偉 楊金民
摘要:本文以學(xué)生對實(shí)驗(yàn)教學(xué)內(nèi)容的興趣及需求分析為依據(jù);提出了基于WAP的“操作系統(tǒng)原理”課程實(shí)驗(yàn)教學(xué)的方案設(shè)計(jì)和內(nèi)容設(shè)計(jì)。應(yīng)用WAP后,學(xué)生對“操作系統(tǒng)原理”課程實(shí)驗(yàn)興趣增加,學(xué)習(xí)的主動(dòng)性、動(dòng)手能力得到提高,更深刻的理解掌握了課程內(nèi)容。
關(guān)鍵詞:操作系統(tǒng);實(shí)驗(yàn)教學(xué);WAP;WRK;CRK
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1引言
“操作系統(tǒng)原理”課程的重要性可以用Avi Silberschatz在其經(jīng)典教材《Operating Systems Concepts》中的描述來概括:“操作系統(tǒng)是任何計(jì)算機(jī)系統(tǒng)的基本組成部分,因而操作系統(tǒng)課程也是任何計(jì)算機(jī)科學(xué)相關(guān)教育的基本組成部分”。該課程主要講述通用操作系統(tǒng)應(yīng)該具備的功能、工作原理及相關(guān)算法。應(yīng)該說課程內(nèi)容并不艱深晦澀,但該課程卻是一門公認(rèn)的難教、難學(xué)的課程。難教的原因是其內(nèi)容多且散、理論性強(qiáng)又抽象。難學(xué)的原因是教學(xué)內(nèi)容看不見摸不到,學(xué)生難以理解掌握。
在理論教學(xué)時(shí)以學(xué)生常用的操作系統(tǒng)如Windows、Linux等作為案例進(jìn)行分析對輔助學(xué)生掌握課程內(nèi)容有一定作用。但由于理論課時(shí)有限,教學(xué)內(nèi)容多,Windows、Linux等案例的分析很難展開;而且案例分析時(shí)學(xué)生看到的主要是程序代碼,不能直觀的反映教學(xué)內(nèi)容。因此設(shè)計(jì)直觀、合理的課程實(shí)驗(yàn)成為保證“操作系統(tǒng)原理”課程教學(xué)效果的重要手段。
國內(nèi)外操作系統(tǒng)課程實(shí)驗(yàn)教學(xué)采用的系統(tǒng)有Minix、Nachos、ToyOS、Linux等。Minix、Nachos、ToyOS均不是通用操作系統(tǒng),而是為教學(xué)目的而開發(fā)的,功能不完善,存在較多BUG,安裝復(fù)雜,不宜作為操作系統(tǒng)課程實(shí)驗(yàn)平臺。Linux是一個(gè)完整的通用操作系統(tǒng),且開放源代碼,是一個(gè)可行的實(shí)驗(yàn)平臺。但目前大多數(shù)高校機(jī)房由于承擔(dān)了多門課程的上機(jī)任務(wù),往往安裝的是Windows操作系統(tǒng)。若同時(shí)安裝雙系統(tǒng)則給機(jī)房管理造成困難,因此Linux的實(shí)驗(yàn)平臺在建設(shè)上也存在困難。
Windows作為目前使用最普遍的操作系統(tǒng),以之作為實(shí)驗(yàn)平臺可極大的激發(fā)學(xué)生的學(xué)習(xí)興趣。但Windows代碼不公開,給課程實(shí)驗(yàn)設(shè)置帶來困難。作為微軟共享源代碼計(jì)劃的一部分,微軟發(fā)布了WAP(Windows Academic Program),提供了一套簡單但完整的操作系統(tǒng)內(nèi)核源代碼,老師和學(xué)生可以更清晰的了解Windows內(nèi)核工作機(jī)制,并可以動(dòng)手對之進(jìn)行修改或添加新的底層功能,成為一個(gè)理想的操作系統(tǒng)課程實(shí)驗(yàn)平臺。
在微軟亞洲研究院資助下,我們開始了WAP在本科“操作系統(tǒng)原理”課程實(shí)驗(yàn)教學(xué)中的應(yīng)用探索。本文以學(xué)生對實(shí)驗(yàn)教學(xué)內(nèi)容的興趣及需求分析為依據(jù),介紹了基于WAP的“操作系統(tǒng)原理”課程實(shí)驗(yàn)教學(xué)的方案設(shè)計(jì)和內(nèi)容設(shè)計(jì)。應(yīng)用WAP后,學(xué)生對“操作系統(tǒng)原理”課程實(shí)驗(yàn)興趣大大增加,學(xué)習(xí)的主動(dòng)性、動(dòng)手能力得到提高,也更深刻的理解掌握了課程內(nèi)容。
2學(xué)生興趣與需求調(diào)研
目前各高校普遍開設(shè)了“操作系統(tǒng)原理”課程實(shí)驗(yàn),實(shí)驗(yàn)內(nèi)容的設(shè)置也各有不同,為切實(shí)了解學(xué)生對于“操作系統(tǒng)原理”課程實(shí)驗(yàn)的興趣與需求,從而有針對性的設(shè)置實(shí)驗(yàn)平臺及實(shí)驗(yàn)內(nèi)容,在2008年對正在開設(shè)“操作系統(tǒng)原理”課程的210名本科生進(jìn)行了問卷調(diào)查,同樣的調(diào)查也于2009年在部分本科生中開展。
圖1是學(xué)生希望使用的實(shí)驗(yàn)平臺情況。不出意料,絕大多數(shù)學(xué)生(93%)希望使用Windows作為實(shí)驗(yàn)平臺,這與學(xué)生平時(shí)的使用經(jīng)歷有關(guān),100%的學(xué)生在日常生活中就使用了Windows,所以他們也希望“操作系統(tǒng)原理”課程實(shí)驗(yàn)選擇熟悉的Windows平臺。雖然有4%的學(xué)生希望使用Linux或Unix,3%的學(xué)生希望使用Nachos或其它系統(tǒng),但這些學(xué)生也比較熟悉Windows。此外,調(diào)查中,學(xué)生也普遍表現(xiàn)出對了解Windows的結(jié)構(gòu)、工作原理的興趣。因此,以Windows作為課程實(shí)驗(yàn)平臺,符合了學(xué)生的意愿,能夠最大程度的激發(fā)他們的學(xué)習(xí)興趣,保證教學(xué)效果。
實(shí)驗(yàn)的目的是輔助學(xué)生形象深刻的理解課程重點(diǎn),內(nèi)容應(yīng)涵蓋課程的主要知識點(diǎn)。實(shí)驗(yàn)類型根據(jù)實(shí)驗(yàn)的難度、知識要求及對學(xué)生的輔助作用的不同,一般可分為驗(yàn)證性實(shí)驗(yàn)、設(shè)計(jì)性實(shí)驗(yàn)和綜合性實(shí)驗(yàn)。為了達(dá)到實(shí)驗(yàn)效果,應(yīng)該設(shè)置不同難度的實(shí)驗(yàn)以使學(xué)生循序漸進(jìn)的掌握知識。 圖2是學(xué)生希望的實(shí)驗(yàn)難度情況。有過半的學(xué)生希望實(shí)驗(yàn)?zāi)軌蛴幸欢ǖ碾y度,其中有10%的學(xué)生希望能有難度較大的實(shí)驗(yàn),只有16%的學(xué)生希望實(shí)驗(yàn)?zāi)芎唵巍_@一結(jié)果對不同類型實(shí)驗(yàn)的設(shè)置有指導(dǎo)意義,考慮到大多數(shù)學(xué)生希望實(shí)驗(yàn)難度在中等以上,即使是驗(yàn)證性實(shí)驗(yàn)也必須考慮實(shí)驗(yàn)內(nèi)容的設(shè)置要保證不能太簡單;同時(shí)設(shè)計(jì)性實(shí)驗(yàn)和綜合性實(shí)驗(yàn)可以有一定的難度,但只有10%的學(xué)生希望實(shí)驗(yàn)有較大難度,因此,難度也不能太大。
3WAP的應(yīng)用
依據(jù)對學(xué)生的問卷調(diào)查結(jié)果,決定選擇Windows作為課程實(shí)驗(yàn)平臺。但Windows代碼不公開,給課程實(shí)驗(yàn)設(shè)置帶來困難。微軟發(fā)布的WAP(Windows Academic Program)為解決這一困難提供了可行的途徑。因此,最終確定基于WAP設(shè)計(jì)實(shí)驗(yàn)教學(xué)方案和內(nèi)容設(shè)計(jì),開展Windows平臺下的“操作系統(tǒng)原理”課程實(shí)驗(yàn)教學(xué)的探索。
3.1WAP介紹
WAP是微軟公司發(fā)布的一項(xiàng)讓學(xué)生通過閱讀Windows內(nèi)核源碼來學(xué)習(xí)“操作系統(tǒng)原理”的項(xiàng)目,它分為三部分:
(1) 課程資源包CRK(Curriculum Resource Kit)
CRK是一套Windows系統(tǒng)教學(xué)資源包,包括大量驗(yàn)證性實(shí)驗(yàn)、實(shí)驗(yàn)工具及Windows課程講義。這些資源均以Windows XP和Windows 2003為基礎(chǔ)。CRK基本覆蓋了操作系統(tǒng)課程的所有知識點(diǎn)。但主要提供驗(yàn)證性實(shí)驗(yàn)。
(2)Windows研究內(nèi)核WRK(Windows Research Kernel)
WRK是微軟為高校操作系統(tǒng)課程提供的可修改和跟蹤的操作系統(tǒng)實(shí)驗(yàn)教學(xué)平臺。它給出了Windows內(nèi)核的大部分代碼,可以對其進(jìn)行修改、編譯,并且可以用這個(gè)內(nèi)核啟動(dòng)Windows操作系統(tǒng)。這一平臺是進(jìn)行設(shè)計(jì)性或綜合性實(shí)驗(yàn)的理想平臺。
(3) 項(xiàng)目實(shí)驗(yàn)工具ProjectOZ
一套探索實(shí)際操作系統(tǒng)運(yùn)行情況的工具,其實(shí)是一個(gè)運(yùn)行在用戶模式下的內(nèi)核接口程序。在這個(gè)環(huán)境下學(xué)生可以查看實(shí)際運(yùn)行的Windows的各種數(shù)據(jù)結(jié)構(gòu)、處理過程等。同時(shí)提供了一個(gè)運(yùn)行于其上的簡單但完整的示例操作系統(tǒng)BasicOZ。全部程序以C和匯編語言源碼形式提供。
3.2實(shí)驗(yàn)教學(xué)內(nèi)容設(shè)計(jì)
以WAP為平臺,對“操作系統(tǒng)原理”課程實(shí)驗(yàn)教學(xué)的方案和內(nèi)容進(jìn)行了設(shè)計(jì)。實(shí)驗(yàn)教學(xué)共計(jì)32學(xué)時(shí),主要希望達(dá)到這樣一些目的:
理解并掌握現(xiàn)代操作系統(tǒng)的工作原理和機(jī)制;
會(huì)分析和解讀Windows操作系統(tǒng)內(nèi)核源代碼;
能從Windows內(nèi)核源代碼級修改和擴(kuò)充操作系統(tǒng)功能。
根據(jù)難度的不同,每個(gè)實(shí)驗(yàn)或由學(xué)生單獨(dú)進(jìn)行或分組進(jìn)行。為使學(xué)生重視,實(shí)驗(yàn)成績占課程成績30%,并且每個(gè)實(shí)驗(yàn)要求學(xué)生在給老師演示結(jié)果的同時(shí)提交實(shí)驗(yàn)報(bào)告和設(shè)計(jì)文檔。實(shí)驗(yàn)教學(xué)內(nèi)容設(shè)置了8個(gè)必做實(shí)驗(yàn)和一定數(shù)量的自選實(shí)驗(yàn),覆蓋了“操作系統(tǒng)原理”課程的基本內(nèi)容,并具有不同的難度。必做實(shí)驗(yàn)如表1所示。
4結(jié)束語
以WAP作為“操作系統(tǒng)原理”課程實(shí)驗(yàn)教學(xué)平臺已有兩個(gè)學(xué)期。結(jié)果表明WAP平臺極大的吸引了學(xué)生的興趣,學(xué)生有很大的熱情去閱讀分析Windows的源代碼,并嘗試進(jìn)行修改。大部分課堂較認(rèn)真的學(xué)生基本能獨(dú)立的完成所有實(shí)驗(yàn)。由于WAP平臺所提供資源很豐富,下一步將探索在WAP下開設(shè)更多難度適中、學(xué)生有興趣的實(shí)驗(yàn);另外也將研究基于WAP平臺開展“操作系統(tǒng)原理”課程設(shè)計(jì)。
參考文獻(xiàn):
[1] 黃廷輝,王宇英,崔更中.“操作系統(tǒng)”課程實(shí)踐教學(xué)的研究與實(shí)踐[J]. 計(jì)算機(jī)教育,2007(11):18-20.
[2] 李萍. Linux操作系統(tǒng)實(shí)驗(yàn)教學(xué)探討與實(shí)踐[J]. 計(jì)算機(jī)教育,2008(8):21-21.
[3] 鐘少丹.“操作系統(tǒng)”課程實(shí)驗(yàn)設(shè)計(jì)的思考[J]. 計(jì)算機(jī)教育,2008(12):120-121.
[4] 鄧勝蘭,寧洪. 操作系統(tǒng)實(shí)踐教學(xué)的探索[J]. 計(jì)算機(jī)教育,2007(20):8-10.