基金項目:國家自然科學基金(11005081);浙江省自然科學基金項目(Y1110322);浙江省高校本科計算機科學與技術教學指導委員會專項教學改革項目(2011-4)
[摘 要]針對電子商務專業課程偏重應用的特點,提出了一套新穎的《操作系統原理》實驗教學方案。本方案分為四個層次:首先,構建基于Ubuntu Linux和Qt Creator的全新實驗平臺,學生可借助Qt開發包在Linux系統上簡便地編寫出帶GUI界面的程序;其次,在本實驗平臺上模擬教材中的若干重要算法;然后借用Qemu虛擬機和Eclipse實現對Linux內核代碼的調試,讓學生深入了解內核代碼結構;最后要求學生修改部分內核代碼并重新生成內核。本方案較傳統教學方法提供了有吸引力的實驗平臺,增加了對內核代碼結構的調試、分析和修改。教學實踐結果表明本方案極大地提高了學生的學習興趣和動手能力,實現了學以致用的目標。
[關鍵詞]操作系統, 實驗教學改革,Linux , Qt,
一、前言
《操作系統原理》不僅是計算機科學與技術專業的核心課程,通常也是電子商務、信息管理與信息系統等計算機相關專業的必修課。學好該課程,對于掌握計算機原理和底層編程技術具有重要的意義。然而,該課程普遍存在理論與實踐相脫節的問題,與電子商務專業注重務實的需求相悖。無論教材還是教學過程,都過于強調概念和算法的掌握,將操作系統這個復雜的系統軟件過于抽象化、模型化,導致學生普遍感覺該課程枯燥無味、所學知識與實際系統相距甚遠,進而導致學生對該課程不感興趣。參考國外先進教學經驗不難發現,該課程的重點在于實踐。許多國外著名大學在開設該課程時都要求學生編寫或修改系統內核,不只是停留在對原型系統的理解層面上。因此,本教學改革將內核分析引入實驗教學,期望學生在掌握原理的同時還可以融入內核的開發維護工作。另外,為了提高學生的學習興趣,還將構造一個新穎的、具有較強吸引力的實驗平臺。
二、四個層次的實驗教學方案
本教學方案遵照循序漸進的原則將實驗教學分成四個層次,由低到高分別為:實驗平臺層、算法仿真層、內核調試層和內核構建層。實驗系統為Ubuntu 11.10,集成開發環境為Qt Creator,虛擬機為Qemu,內核版本為3.0.3,內核代碼調試器為Eclipse。
1.實驗平臺層
Ubuntu是當前最主流的一種Linux發行版,具有近似于Windows的友好界面及豐富的軟硬件支持。由于現行教材絕大多數以Unix/Linux為藍本,將Ubuntu作為實驗系統有利于理論聯系實際。Qt Creator是基于Qt開發包(開源)的C++集成開發環境,具有運行速度高、占用資源少等優點,借助其可簡便地設計出帶GUI界面的程序。為了幫助學生掌握Qt Creator,以MySQL作為后臺數據庫開發了一個數據庫示例程序,實現了Ubuntu平臺下簡單的物流管理。將Ubuntu和Qt Creator結合作為實驗平臺,提升了用戶體驗和編程效率,不僅使得原本枯燥的算法模擬變得生動清晰,還促進了該課程與《數據結構》、《面向對象程序設計》、《數據庫原理》等課程的融會貫通。
2.算法仿真層
該層是傳統實驗教學的重點,以模仿各種重要算法的實現為目標。以LRU頁面置換算法為例,假設有n次頁面訪問、分配給進程的頁面數固定為m,那么首先在窗體上設計出具有m個單元的堆棧,每個單元存放一個最近訪問過的頁面號。若被訪頁面號在堆棧中存在,便將其抽出堆棧再壓回棧頂;反之,淘汰棧底再將新頁面號壓至棧頂。整個過程在GUI界面上展示,學生可以非常直觀地掌握該算法。
3.內核調試層
利用Eclipse CDT(C++開發包)和Qemu虛擬機可輕松地實現對內核代碼的遠程調試,有助于學生深入了解內核代碼結構。首先對內核代碼執行Make命令生成內核配置(config)文件;然后在Eclipse中建立基于內核源代碼的工程,并運用Make命令生成內核鏡像bzImage;接著在Qemu虛擬機中按照調試模式運行該內核鏡像,即:啟動虛擬機時要“凍住”虛擬機,等待調試器發出繼續運行的命令;最后回到上述Eclipse工程,任意設置斷點并按Debug模式跟蹤代碼執行流程。
4.內核構建層
內核構建指的是通過修改內核代碼實現對內核的維護和開發。與內核調試層相似,首先在Eclipse中建立一個基于內核源代碼的工程;然后修改內核代碼并運用Make命令生成新內核;最后將新內核拷貝到/boot目錄下, 修改/etc/lilo.conf中關于內核鏡像的設置以啟用新內核。
三、小結
本文提出的《操作系統原理》實驗教學方案以培養學生的學習興趣和動手能力為宗旨,滿足電子商務專業課程注重務實的需求。所構建的實驗平臺新穎、有吸引力,通過代碼調試分析內核結構提高了學生的實踐水平,實現了學以致用的目標。然而,由于教學時間有限,如何進一步提煉教學內容、提升教學效率是下一步探索的目標。
參考文獻:
[1]吳暾華.《操作系統》中關于“同步互斥問題”的教學實踐[J].科教文匯,2010,(12):36-37
[2]吳暾華.電子商務專業中操作系統課程教學改革探討[J].商場現代化,2011,(17):170-170
[3]許波,代靜.操作系統實驗教學改革[J].計算機教育,2011,(17):85-87
[4]李琳娜.針對實際應用的Linux實驗教學研究[J].計算機教育,2010,(9):139-142
[5]王祥雒,趙素萍.基于內核分析的操作系統課程實驗教學方法探索[J].計算機時代,2011, (4):48-49
[6]楊磊,殷兆麟.計算機專業“信息技術\"方向操作系統實驗的教學改革[J].計算機教育,2009, (14):20-22