張龍翔
摘要:本文提出了以教學(xué)操作系統(tǒng)OS Lab為實(shí)驗(yàn)教學(xué)平臺(tái),利用Virtual PC模擬器調(diào)試和編譯,讓學(xué)生實(shí)際參與操作系統(tǒng)部分功能的設(shè)計(jì),使學(xué)生能更好的理解操作系統(tǒng)的理論,從而達(dá)到更好的教學(xué)效果。
關(guān)鍵詞:操作系統(tǒng)原理;實(shí)驗(yàn)教學(xué);教學(xué)操作系統(tǒng);OS Lab
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1操作系統(tǒng)原理課程實(shí)驗(yàn)現(xiàn)狀
操作系統(tǒng)是高等院校計(jì)算機(jī)專業(yè)的一門重要基礎(chǔ)課,也是眾所周知的教學(xué)難度很大的一門課,其難點(diǎn)主要在于實(shí)驗(yàn)教學(xué)環(huán)節(jié)。
國(guó)內(nèi)高校因?yàn)閹熧Y力量、實(shí)驗(yàn)環(huán)境及學(xué)生自身程序設(shè)計(jì)能力等因素的不同,對(duì)“操作系統(tǒng)”課程實(shí)驗(yàn)教學(xué)環(huán)節(jié)的要求也不一樣,有的要求運(yùn)行操作系統(tǒng)觀察某些特定現(xiàn)象;有的要求對(duì)課程的一些重要算法進(jìn)行模擬實(shí)現(xiàn),以加深對(duì)操作系統(tǒng)原理的理解;有的要求學(xué)生合作完成一個(gè)小型操作系統(tǒng)的設(shè)計(jì)的;有的要求學(xué)生剖析具體操作系統(tǒng)(如Linux)的實(shí)現(xiàn)機(jī)理,替換一些功能模塊。各高校在講授操作系統(tǒng)原理課程時(shí),一般都會(huì)設(shè)置有8~24個(gè)學(xué)時(shí)同步進(jìn)行的實(shí)驗(yàn)。經(jīng)過對(duì)多所高校的學(xué)習(xí)訪問,總結(jié)歸納出操作系統(tǒng)原理課程的實(shí)驗(yàn)方式目前主要分為以下幾種類型:
(1) 觀察與體驗(yàn)
這是最簡(jiǎn)單的實(shí)驗(yàn)方式。即選擇一個(gè)實(shí)際的操作系統(tǒng)作為實(shí)驗(yàn)環(huán)境,學(xué)生通過觀察操作系統(tǒng)某些特定的具體運(yùn)行現(xiàn)象來體會(huì)操作系統(tǒng)原理的設(shè)計(jì)內(nèi)容。這種實(shí)驗(yàn)教學(xué)過程幾乎不需要編寫程序代碼,對(duì)真正理解操作系統(tǒng)內(nèi)在原理效果不明顯。
(2) 算法模擬
這是部分高校采用的實(shí)驗(yàn)方式。任課老師選取課程中的一些典型算法,如FCFS算法、讀者寫者問題等等,讓學(xué)生編寫程序來模擬實(shí)現(xiàn)操作系統(tǒng)的功能。這種方式與程序設(shè)計(jì)課程的實(shí)驗(yàn)環(huán)節(jié)基本類似,有利于加深學(xué)生對(duì)操作系統(tǒng)理論的理解,但達(dá)不到培養(yǎng)學(xué)生掌握操作系統(tǒng)的整體設(shè)計(jì)思想的目的。
(3) 替換功能模塊
這是有一定難度的實(shí)驗(yàn)方式。一般是以Linux操作系統(tǒng)為實(shí)驗(yàn)平臺(tái),讓學(xué)生首先閱讀相關(guān)系統(tǒng)代碼,在理解部分操作系統(tǒng)功能的實(shí)現(xiàn)原理后,再要求學(xué)生用自己設(shè)計(jì)的功能模塊替換其中相應(yīng)的功能。但Linux是一個(gè)龐大的商業(yè)操作系統(tǒng),對(duì)學(xué)校的師資和學(xué)生的能力要求都較高,一般高校實(shí)施的效果不是很好,也達(dá)不到培養(yǎng)學(xué)生掌握操作系統(tǒng)的整體設(shè)計(jì)思想的目的,有的時(shí)候還容易讓學(xué)生對(duì)計(jì)算機(jī)學(xué)習(xí)產(chǎn)生了畏難情緒。
2OS Lab教學(xué)操作系統(tǒng)
教學(xué)實(shí)踐證明,最好的“操作系統(tǒng)”課程實(shí)踐平臺(tái)并不是實(shí)用的商業(yè)操作系統(tǒng),因?yàn)樗^于龐大,設(shè)計(jì)復(fù)雜,短時(shí)間內(nèi)難于掌握。而應(yīng)該是一種與實(shí)際使用的操作系統(tǒng)比較接近,但規(guī)模又較小、易理解、便于調(diào)試的系統(tǒng),即面向教學(xué)的操作系統(tǒng)。最重要的是系統(tǒng)要符合課程的需要——可留出一些作為學(xué)生作業(yè)的練習(xí),幫助學(xué)生熟悉實(shí)際操作系統(tǒng)的結(jié)構(gòu)和設(shè)計(jì)。
由北京海西慧學(xué)科技有限公司開發(fā)的教學(xué)操作系統(tǒng)OS Lab 很好地解決了高校目前采用的實(shí)驗(yàn)方案所遇到的各種問題,可以使學(xué)生在有限的時(shí)間內(nèi)深入操作系統(tǒng)內(nèi)核做真正的操作系統(tǒng)實(shí)驗(yàn),幫助學(xué)生加深對(duì)操作系統(tǒng)設(shè)計(jì)原理和算法的理解。它具有以下優(yōu)點(diǎn):
(1)OS Lab安裝運(yùn)行在Windows上,用于實(shí)驗(yàn)的PC無需安裝多種操作系統(tǒng),大大降低實(shí)驗(yàn)室的管理難度。
(2)OS Lab融合了Windows和Linux的設(shè)計(jì)理念,使用了對(duì)象技術(shù),其結(jié)構(gòu)介于微內(nèi)核和宏內(nèi)核之間,API和 Windows基本一致,可以使學(xué)生了解目前實(shí)際操作系統(tǒng)的技術(shù)。
(3)OS Lab的進(jìn)程管理、內(nèi)存管理、IO管理等模塊間的耦合性極低,學(xué)生在做各模塊的實(shí)驗(yàn)時(shí),不必了解其它模塊,很容易入門。
(4)OS Lab支持C源碼級(jí)的內(nèi)核調(diào)試,支持反匯編,可在內(nèi)核中設(shè)置斷點(diǎn),可隨意查看、修改內(nèi)核變量和 CPU 寄存器的值。
3OS Lab實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)
作為一個(gè)教學(xué)操作系統(tǒng)內(nèi)核,保持系統(tǒng)的簡(jiǎn)單易實(shí)現(xiàn)是非常重要的。為了實(shí)現(xiàn)這一目的,在OS Lab設(shè)計(jì)時(shí),僅保留操作系統(tǒng)最基本的功能,同時(shí)圍繞現(xiàn)代操作系統(tǒng)原理中的重要概念與方法,按照教學(xué)循序漸進(jìn)的進(jìn)度精心設(shè)計(jì)了10個(gè)項(xiàng)目。這些項(xiàng)目由淺入深,靈活性和可擴(kuò)充性都很高,教師可以根據(jù)學(xué)生和教學(xué)情況動(dòng)態(tài)調(diào)整實(shí)驗(yàn)項(xiàng)目。
OS Lab教學(xué)操作系統(tǒng)為學(xué)生設(shè)計(jì)的項(xiàng)目?jī)?nèi)容如表1所示。
采用OS Lab作為“操作系統(tǒng)原理”課程實(shí)驗(yàn)平臺(tái)已經(jīng)有一個(gè)學(xué)期。結(jié)果證明大部分認(rèn)真完成實(shí)驗(yàn)項(xiàng)目的學(xué)生認(rèn)為OS Lab對(duì)理解操作系統(tǒng)原理功能的設(shè)計(jì)與實(shí)現(xiàn)有很好的幫助,可以激發(fā)學(xué)習(xí)“操作系統(tǒng)原理”課程的興趣,提高編寫系統(tǒng)程序的能力。
4結(jié)束語
采用OS Lab作為“操作系統(tǒng)原理”課程實(shí)驗(yàn)平臺(tái)已經(jīng)有一個(gè)學(xué)期。結(jié)果證明大部分認(rèn)真完成作業(yè)的學(xué)生認(rèn)為OS Lab對(duì)理解操作系統(tǒng)原理功能的設(shè)計(jì)與實(shí)現(xiàn)有很好的幫助,可以激發(fā)學(xué)習(xí)“操作系統(tǒng)原理”課程的興趣,提高編寫系統(tǒng)程序的能力。教師最好能根據(jù)學(xué)生的能力,以3到4個(gè)學(xué)生為一個(gè)小組,動(dòng)態(tài)調(diào)整學(xué)生要具體完成的任務(wù)項(xiàng)目,以致于取得更好的教學(xué)效果。
參考文獻(xiàn):
[1] 黃廷輝,王宇英,崔更中.“操作系統(tǒng)”課程實(shí)踐教學(xué)的研究與實(shí)踐[J]. 計(jì)算機(jī)教育,2007(11): 18-20.
[2] 宋廣華,李善平,鄭扣根. 邊學(xué)邊干:操作系統(tǒng)課程教學(xué)改革的探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2006(7):27-29.
[3] 胡明慶,高巍,鐘梅. 操作系統(tǒng)教程與實(shí)驗(yàn)[M]. 北京:清華大學(xué)出版社,2007.