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