?

基于Windows內核的“操作系統”課程實驗平臺設計與建設

2009-08-28 09:09何宗鍵張惠娟
計算機教育 2009年14期
關鍵詞:實驗平臺操作系統

何宗鍵 張惠娟

摘要:在“操作系統”課程的教學中,實驗教學設計的好壞直接影響到學生對操作系統本身的理解與吸收。其中實驗平臺的設計與建設至關重要。本文提出了一套基于Windows內核的“操作系統”課程實驗平臺,它架構在大眾最為熟悉的Windows操作系統基礎上,可供學生對操作系統內核進行擴展、修改、并獲得客觀評價。此舉極大的降低了學習門檻,提高了學生的學習興趣和主動性。在實際應用中取得了較好的效果。

關鍵詞:操作系統教學;實驗平臺;WRK;Windows內核

中圖分類號:G642 文獻標識碼:B

1引言

“操作系統”是計算機軟件中最重要,最核心的部分,也是高校計算機高等教育的一門重要基礎課程。操作系統中有眾多的理論、模型與思想,如果不通過實驗教學,對學生的講述僅僅停留在課堂陳述,又無法取得很好的效果,因此“操作系統”是一門實踐性很強的課程。

目前國內高?!安僮飨到y”實驗課程的開設方法有如下幾種:(1)驗證型:即通過模擬環境、實際操作或案例剖析的形式,對操作系統中的常見算法、技術等進行驗證。這種方法可以有效的化操作系統中的抽象原理為形象的實現,但是學生做的內容往往千篇一律,其主動性很難調動。(2)設計型:即通過模塊替換、功能擴展或獨立開發的形式,要求學生設計實現一些操作系統中的功能。這種方法可以提高學生的自主能動性,但是其工作量與難度很難把握,如果太簡單起不到鍛煉的作用,太難又可能導致大部分學生無法完成而影響教學效果。如何使操作系統實驗既能很好的輔助課程教學,又能提高學生的實踐水平,是所有講授操作系統的教師不得不面對的問題。

我們認為,搭建強有力的實驗平臺對解決此問題有重要意義。一個好的操作系統實驗平臺需要最大程度上的降低課程實驗的難度,屏蔽操作系統實現的復雜細節,抓住知識要點,調動學生的積極性,同時又可以對學生的工作作出合理的評價。目前的操作系統實驗平臺多以專門用于教學的操作系統為主,例如Nachos、Minix等,學生對其并不熟悉,需要二次學習。在同濟大學軟件學院的“操作系統”課程實驗中,我們嘗試采用大眾熟知的Windows操作系統作為實驗平臺載體。

以往基于Windows的操作系統實驗最大的困難在于其封閉性。由于無法得到Windows操作系統的源代碼,公眾無法深入了解、分析和修改Windows操作系統內核,因此實驗僅能停留在用戶態層面。微軟公司于2008年初針對全球學術界發布Windows Research Kernel(簡稱WRK),它是一套可修改、可編譯、可調試的Windows內核源代碼。借助于WRK,基于Windows操作系統內核的實驗平臺搭建已成為可能。

2實驗平臺介紹

2.1基本思想

搭建操作系統實驗平臺,其基本思想有如下幾點:第一,真實的操作系統往往為了追求效率或功能往往有很多復雜的實現細節,而這些細節恰恰不利于學生的深入學習。通過實驗平臺,可以讓學生無需直接面對這些細節問題,而可以更加關注于重要的算法、思想和原理。第二,操作系統中有不少晦澀的原理和抽象的模型。通過實驗平臺,可以設計一些創新型實驗,以增強課程的趣味性,從而進一步調動學生的積極性和主動性。第三,對于學生實驗的工作量和工作成果,實驗平臺需要以某種具體標準給出合理的評價。第四,對于學生創新過程中遇到的具體問題,需要提供一個及時溝通和交流的平臺。不能讓學生因為某個技術困難而導致整個實驗無法繼續進行。

鑒于上述思路,基于該實驗平臺,教師和學生應該在實驗中做到如下工作,如圖1所示:

首先,教師自己需要對WRK做深入的了解。摸清WRK中的基本算法、數據結構等。然后對WRK的代碼作出一定修改,最主要是要把一些核心算法與數據結構的接口定義出來。

其次,教師需要撰寫實驗指導書,指導學生如何基于教師定義的接口對WRK進行擴展、以及預期的效果等,并且開發成果評測軟件。還要對學生進行WRK基礎知識的講解。

接下來,學生可以在基于WRK的實驗平臺上進行實驗,包括基本算法替換、擴展功能實現等。如果遇到問題,可以及時與老師、或其它同學溝通。

最后,實驗平臺可以根據學生的完成情況,給出合理的評價。

2.2實驗平臺架構

為了實現上述思想,我們基于WRK搭建和設計了如下實驗平臺,如圖2所示。

該平臺是基于Virtual PC虛擬機的。在其之上運行WRK內核。在實驗開始前,教師對WRK的內核做必要修改。對同步原語、內存分配算法、調度算法等都做了修改。修改后的WRK內核雖然可以運行,但是都是采用最基本的算法,效率非常低。需要學生對其進行進一步改進。

然后,系統給WRK增加了一系列新的系統調用,該系統調用主要用來導出系統的一些核心評估、評測數據。在其之上,我們還編寫了自制的評估軟件。該評估軟件利用新增的系統調用,對經同學修改后的WRK內核進行功能、性能等各方面的評估,而該評估指標,是學生實驗成績的重要組成部分。

2.3實驗內容舉例

圍繞該實驗平臺,我們開發了一系列實驗。詳細信息可參考“操作系統實驗”精品課程網站(http://sse.# edu. cn/oswrk/)。下面僅列舉一個例子作為介紹。

實驗內容:操作系統同步死鎖檢測。死鎖是同步中經常發生的問題,目前的Windows操作系統中不會對死鎖進行檢測。修改WRK源代碼的WaitForSingleObject( )函數,在給同步對象上鎖之前增加死鎖檢測功能,如果該加鎖操作會導致死鎖,則函數返回特定的錯誤值。

要求:(1) 重新構建的Windows內核必須通過評估軟件的測試。(2) 提交修改后的增量源代碼。

為完成此實驗,教師首先需要開發實驗評估軟件。在該軟件中,故意實現多種情況的等待死鎖。在學生修改后的內核上運行該軟件后,其可以評估修改的代碼是否可以檢測死鎖,并分析死鎖檢測的時間消耗,從而給出學生作業較為客觀評估。

3首次實踐經驗總結

在2008年,我們組成了以15名本科生(含一名西班牙瓦倫西亞大學國際交換學生)作為該實驗的試點對象。首批展開試點。

在實踐過程中,我們有如下經驗總結:

第一,教師一定要把握好實驗的“度”。即布置的任務最好能夠有明確的范圍限制。如果實驗目標過大,則可能導致工作量太大或問題太多而無法完成。

第二,由于WRK是比較新的東西,資料相對較少,很有可能會遇到大家都無法解決的問題。這個時候溝通、共同攻關就顯得比較重要。在試點中,我們建立了一個所有組員都可以編輯的維基用來做溝通,如圖3所示。一方面大家可以快速看到目前存在的問題。另一方面,也有利于探索的積累,起到了良好的作用。

第三,一定要調動學生的積極性,但是不能希望一蹴而就。實驗需要由淺入深的展開,前期實驗從觀察性實驗入手,一方面讓學生了解WRK的架構,另一方面讓學生感覺入手并不難。然后可以漸漸增加動手、創新實驗的比重。當然,要保證絕大多數實驗是創新型實驗,否則無法真正鍛煉到學生的動手能力和創新意識。

4結束語

WRK讓搭建基于Windows的操作系統實驗平臺成為了可能,但是真正要讓WRK發揮其在操作系統實驗教學中的作用,還需要教師們做大量的工作。在同濟大學軟件學院的教學中,我們建立了一個基于WRK的實驗平臺,并初步在課程中應用。但這僅僅是邁出了第一步,接下來還需要在實際教學的過程中聽取各方面的意見與建議,進一步對該平臺進行完善。

參考文獻:

[1] 馮紅偉,王鵬. 操作系統教學與實驗設計研究[J]. 實驗室研究與探索, 2007(12):251-253.

[2] 潘東靜.操作系統實驗教學研究[J]. 現代計算機,2008(1):70-71.

[3] 鄧勝蘭, 寧洪. 操作系統實踐教學的探索[J]. 計算機教育,2007(10):8-9.

[4] 王國華. 《操作系統》實驗課程的設置與實踐[J]. 山西財經大學學報:高等教育版,2006(S1):108.

[5] 趙福來. 國內高校操作系統課程實驗教學實施情況評述[J]. 中國科技信息,2005(12):90.

[6] 彭敏, 何炎祥. 基于WRK的Windows操作系統原理實驗教學探索[J]. 計算機教育,2008(20):38-40.

猜你喜歡
實驗平臺操作系統
智能手機操作系統的分析與比較
云計算在職業院校中的應用與思考
國產桌面操作系統中虛擬化技術應用研究
生物醫學工程專業創新人才培養策略
單片機仿真實驗平臺的設計分析
基于單片機的嵌入式系統的開發研究
“操作系統原理”實驗教學設置初探
基于LabVIEW下嵌入式系統實驗平臺的設計與實現分析
基于LabVIEW的虛擬實驗平臺設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合