文章編號:1672-5913(2011)21-0098-04 中圖分類號:G642 文獻標識碼:A
作者簡介:王宇英,女,講師,在讀博士,西北工業(yè)大學操作系統(tǒng)國家精品課程骨干教師,研究方向為嵌入式軟件設計、驗證與仿真。
摘 要:分析目前操作系統(tǒng)教學中存在的普遍問題,提出一種“三分四階兩依托”的差異化教學法。它將教學過程分為教學環(huán)節(jié)、實踐環(huán)節(jié)和考評環(huán)節(jié)三個部分,每個部分采用漸進式的四個階段教學,并依托學校的創(chuàng)新實驗室和嵌入式技術重點實驗室,開展嵌入式操作系統(tǒng)方面的創(chuàng)新項目探索,取得較好的教學效果。
關鍵詞:操作系統(tǒng);教學;嵌入式;實踐
計算機操作系統(tǒng)原理課程是計算機或相關專業(yè)的核心專業(yè)基礎課之一,也是進一步學習其他課程的基礎,兼具理論理解與實踐運用,在計算機專業(yè)教學中占有舉足輕重的地位。如何充分利用操作系統(tǒng)課程的學習增強學生實踐能力,培養(yǎng)學生的工程運用能力和創(chuàng)新能力,是需要深入思考的問題[1]。
1 教學中存在的問題
操作系統(tǒng)課程的教學受課程特點、環(huán)境設施、表達風格、教師語言習慣等影響,普遍存在一些共性問題。
1) 教學生動性。由于操作系統(tǒng)課程的教學內容原理性較強、知識體系繁雜,在課程體系結構上要有匯編語言、數(shù)據(jù)結構、計算機組成原理等課程的先修基礎,對教師的教學生動性就提出了更高的要求,否則講概念就講成了單調的名詞解釋,講原理就講成了死板的照本宣科,講實踐就講成了空泛的代碼分析。加上課程本身涉及的概念、原理較繁雜,多數(shù)學生的反應是似懂非懂。
2) 實驗有效性。從學生掌握運用課程知識的層面來說,實驗效果的好壞直接反映了學生真正學習效果的好壞。在實際教學過程中,大多數(shù)學校將操作系統(tǒng)原理與操作系統(tǒng)實驗分成了兩門課,實際執(zhí)行時需要重視兩門課程在內容上的連貫性和整個課程組的系統(tǒng)性。操作系統(tǒng)課程的重點突出了系統(tǒng)設計的基本原理,對實驗內容的設計既要體現(xiàn)原理性,也要體現(xiàn)拓展性。否則,大多數(shù)學生將僅限于理解單個算法,對整個操作系統(tǒng)的工作機制缺乏系統(tǒng)全面的認識。
3) 考核靈活性。課程考評的目標不僅是對學生學習效果的評價,更應該調動學生學習積極性。目前,各個高校的制度都比較完善,比如會區(qū)分學生的考勤占10%、作業(yè)完成情況占10%、考試成績占60%、實踐成績占20%等,操作系統(tǒng)課程的教學也大多采用了這種模式,但不足之處是無法靈活反映學生的學習效果。以實驗課為例,現(xiàn)有的實驗內容大多都是驗證性的、功能模擬類的科目,學生只要按部就班完成就行了,完成了一個微型操作系統(tǒng)、磁盤管理系統(tǒng),對學生而言考評效果一樣,自然就降低了學生對更深入的拓展應用的探索。
2 教學方法的改進與探索
在當前的教學體制下,改進操作系統(tǒng)的教學方法需要把握好教學、實踐、考評三個環(huán)節(jié),根據(jù)對這三個環(huán)節(jié)的理解和把握,我們操作系統(tǒng)教學團隊摸索了“三分四階兩依托”差異化教學法。
2.1 教學過程中應把握的環(huán)節(jié)
1) 教學環(huán)節(jié)。在整個教學過程中,學生對知識的理解掌握一般需要經歷四個階段,首先是接觸概念定義,如什么是“進程”、什么是“管道”等。其次是對相似、類似概念進行區(qū)分,如程序與進程、緩存與緩沖等。然后是對基本原理進行理解掌握,如“內存分頁式管理機制”的原理、“處理器調度機制”的原理等。最后才是整體融會貫通,從全局的角度去理解構成一個完整操作系統(tǒng)運行各種要素之間的關聯(lián)、層次關系,才能夠真正學明白,懂原理,能運用。
2) 實踐環(huán)節(jié)。實驗在整個操作系統(tǒng)教學過程中舉足輕重,也是加深學生概念、原理理解,反映學生學習效果的重要環(huán)節(jié)??紤]到課程進度和學生學習入門的過程,需要分四步來逐步增強學生實踐能力。首先是驗證所學的概念。學生學了某個概念以后,首先希望知道其在操作系統(tǒng)中是什么東西,看起來是什么樣子的。比如,“進程”是什么樣子的,它都具備哪些要素,“PID”又是一個什么樣的數(shù)字等。第二步是驗證各種算法原理。比如學生在驗證進程管理算法時,希望可以直觀看到各個進程執(zhí)行的順序演示。第三步是功能聯(lián)合,也就是將多個算法、原理聯(lián)合起來,實現(xiàn)一個更大一級的功能。比如用進程調度和任務狀態(tài)轉換來實現(xiàn)一個進程管理的過程。第四步是在深入理解各個知識點的基礎上,自己進行操作系統(tǒng)算法的改進和實現(xiàn),甚至于自己寫一個小型的可運行的操作系統(tǒng)。通過實驗,讓學生真正對操作系統(tǒng)產生感性的認識,真正掌握知識,會運用知識,這也才是操作系統(tǒng)教學的最終目的所在。
3) 考評環(huán)節(jié)??荚u的最大難點在于兼顧各種學生的學習特點,進行公正公平的差異化考評,比如有的學生書本知識學得很好,但動手能力差一些;還有一些學生參加常規(guī)考試的成績并不理想,但很有創(chuàng)造力,很善于將學過的東西運用到上機實驗中,實驗成績很不錯;還有一些學生可能并不太遵守課堂紀律,但自學能力很強,涉獵了很多國外的操作系統(tǒng)教材,最后也能取得很優(yōu)異的成績。因此,如何利用好考核這個杠桿,充分調動所有學生的學習積極性,也是目前操作系統(tǒng)教學需要準確把握的問題。
2.2 “三分四階兩依托”差異化教學法
“三分四階”差異化教學法就是區(qū)分教學、實驗、考核三個環(huán)節(jié),分初識、了解、掌握、運用四個階段,依托實驗平臺,充分運用考核杠桿,注重不同學生能力水平,以調動學生學習積極性,激發(fā)學生學習熱情,全方位提高學生操作系統(tǒng)知識水平為立足點的教學法,三個環(huán)節(jié)相互聯(lián)系,四個階段貫穿其中。
1) 教學環(huán)節(jié)。開展課程教學時,我們按照對知識點的初識、了解、掌握、運用的逐級遞進辦法來進行。具體來講,初識,首先是拋出與要講解的知識點相類似的一個例子或問題,并且例子盡量淺顯、和生活貼近,比如講信號量時,先問問學生過馬路的時候紅綠燈的作用,通過例子,讓學生對要講的知識點產生一種好奇和親切感,就是來自于生活中很普通的事情,消除對知識點的未知恐懼感。隨后,在明確了某個概念的確切字面含義后,盡量通過動畫或直觀的程序演示,讓學生對知識點有一個清晰明了的了解,包括該部分內容在整個操作系統(tǒng)中的地位作用、與已學過概念的關聯(lián)、主要用途等。隨后,掌握階段,我們依托選定的嵌入式操作系統(tǒng)作為范例,借助代碼分析工具,進行功能的演示和講解,讓學生將所學的知識點與實際的操作系統(tǒng)立刻聯(lián)系起來,形成感性認識。最后,應用階段,我們借助學校的創(chuàng)新實驗室,組織學生展開關于所學知識點的研究和討論,包括對嵌入式操作系統(tǒng)算法的改進、設計一個演示小項目等,將比較有價值的項目直接納入創(chuàng)新實驗室的課題申請中,讓學生在討論、思考的過程中探索對操作系統(tǒng)知識點的運用。每個章節(jié)的教學結束后,教師組織一次對章節(jié)內容的小測驗,及時發(fā)現(xiàn)知識點掌握的薄弱環(huán)節(jié),并利用一到兩個課時進行講解補充。
2) 實驗環(huán)節(jié)。實驗環(huán)節(jié)隨課程教學同步展開,且主要以對課程內容的鞏固和運用為主。在設計實驗內容時,我們同樣按照初識、了解、掌握、運用這四個層次來考慮,實驗內容也對應為四個部分。以進程為例,第一部分初識層次是概念驗證型題目,比如在資源管理器中查看進程、打印進程的PID值等;第二部分了解層次是過程演示型題目,比如創(chuàng)建一個進程、管理一個進程、管理多個進程、銷毀一個進程等;第三部分掌握層次是原理演示型題目,比如設計一個程序、演示操作系統(tǒng)中的進程管理機制;第四部分運用層次是創(chuàng)新拓展型題目,比如按照某種操作系統(tǒng)的架構設計一個小型的嵌入式操作系統(tǒng),要求具備操作系統(tǒng)的各個要素,包括進程管理、文件管理等,可在實驗板上進行正常運行。通過實施這四個步驟,學生除了學習理論知識,還對知識點有了更立體全面的掌握,對知識點之間的聯(lián)系也比較明晰,也能準確把握知識如何運用。在整個實驗過程中,我們對不同階段的題目都設定了分值,等級越高,分值在整個實驗得分中占的比例越大。
3) 考核環(huán)節(jié)??己朔譃檎n程結束的考核和平時的考核,考核類型又分為試卷考核和實驗考核,各占一定的比例,試卷考核占60%,實驗占40%。其中,在平時和課程結束的考核中,以平時考核為主,占70%,因此,設平時成績?yōu)镻,平時課程成績?yōu)镻k,平時實驗成績?yōu)镻S,結課考核成績?yōu)镴,結課試卷成績?yōu)镴k,結課實驗成績?yōu)镴s,那么最終成績C的計算公式為 ,其中X(i)為每個章節(jié)在整個課程中所占的權重。這樣一個成績計算公式,既較好考慮了學生平時的努力,也考慮了學生結課考試時的臨場發(fā)揮,基本上較為真實地反映了學生的真實學習水平,也促使學生平時努力去學習。
在方法的實現(xiàn)上,依托于學校創(chuàng)新實驗室和陜西省嵌入式技術重點實驗室,我們以嵌入式操作系統(tǒng)貫穿教學始終,將嵌入式操作系統(tǒng)T-Engine作為教學操作系統(tǒng)來講解,該操作系統(tǒng)平臺、代碼開放,應用廣泛,運行效率高。在整個學習過程中,學生借助對該操作系統(tǒng)代碼和架構的學習,既能夠清晰地看到所學知識的使用方法和其在整個系統(tǒng)中發(fā)揮的作用,還可以依托學校創(chuàng)新實驗室的資源,發(fā)揮自己的聰明才智,進行創(chuàng)新項目申報。兩個平臺既促進了學生能力水平的提升,又能夠給創(chuàng)新實驗室?guī)砀嗟幕盍统晒_到相互推動和促進的效果。
3 嵌入式操作系統(tǒng)教學實踐
3.1 嵌入式操作系統(tǒng)的特點
嵌入式操作系統(tǒng)和傳統(tǒng)操作系統(tǒng)相比,具有一些明顯的特點。首先是和硬件相關性很高。嵌入式系統(tǒng)一般都是作為某個電子產品的控制部分或針對某類特殊應用而設計開發(fā)的,在體積、功耗、響應速度等方面有著嚴格的限制[2]。同時,對運行于該硬件平臺上的嵌入式操作系統(tǒng)而言,更高的代碼執(zhí)行效率、更高的可靠性、更友好的人機界面都是硬性指標??梢哉f,嵌入式系統(tǒng)的軟硬件需要更緊密的結合,更強調彼此依賴性。其次是體系結構相對松散。由于嵌入式系統(tǒng)產品功能往往需要根據(jù)用戶需要和實際情況進行系統(tǒng)裁剪和優(yōu)化,因此各個模塊在結構上相對松散,可根據(jù)不同的硬件平臺、不同的應用需求進行選擇性配置和優(yōu)化,具有更好的靈活性;但另一方面,由于是這種松散耦合的模式,也給系統(tǒng)之上的應用開發(fā)帶來了一些不便,同樣的應用,針對不同的平臺需要分別開發(fā),代碼共用率低、效費比不高[3]。另外,嵌入式操作系統(tǒng)對開發(fā)人員有著更高的知識要求,除要具備操作系統(tǒng)知識,硬件設計、通信、自動控制等專業(yè)知識也是必備的。
3.2 嵌入式教學操作系統(tǒng)的選擇
從上世紀九十年代國外大學開設嵌入式操作系統(tǒng)課程以來,教學操作系統(tǒng)的選擇就一直是首先需要面臨的問題。選擇一個適合自己學校情況、又能符合社會人才培養(yǎng)需要的教學操作系統(tǒng),有這樣幾個原則可以遵循。一是需求牽引,即依托研究課題或應用開發(fā)背景需要來考慮,將教學和實踐融合統(tǒng)一起來,不“憑空造物”;二是應用廣泛,這也意味著這樣的操作系統(tǒng)有著成熟的體系和大量的教材范例,能滿足各個階段學生學習、實踐的需要,同時也能兼顧社會對人才的需求;三是造價低廉,對教學而言,需要考慮經費投入的效費比和普及度,而實驗設施、硬件平臺等的構設都需要大量的投入,因此用盡可能有限的經費搭建更為普及的實驗環(huán)境;四是入手簡單,無論是系統(tǒng)結構還是編譯環(huán)境、模擬環(huán)境,太過復雜的系統(tǒng)既會給教學帶來難度,更可能打擊學生學習的積極性,抹殺學習興趣。
我校的嵌入式操作系統(tǒng)教學采取了必修課和選修課相結合的方式進行課程設置,必修課以嵌入式系統(tǒng)基礎知識為主,教學操作系統(tǒng)采取了較為普及的嵌入式Linux,實驗平臺采用了某型ARM架構教學實驗箱。教學目的主要是培養(yǎng)學生的嵌入式系統(tǒng)基本思維、嵌入式軟件設計和實踐能力,教學內容主要包括實驗平臺的搭建、嵌入式Linux開發(fā)基礎、嵌入式應用范例驗證、驅動程序設計、嵌入式Linux的移植和裁剪。選修課以嵌入式系統(tǒng)拓展運用為主,依托我校嵌入式創(chuàng)新實驗室開展實踐,嵌入式平臺選用了實時嵌入式開放標準平臺T-Engine,立足被廣泛應用的TRON規(guī)范,以產品開發(fā)為背景,重點培養(yǎng)學生的操作系統(tǒng)實踐、運用能力,應用軟件開發(fā)、調試能力,全面拓展學生工程實踐能力。
3.3 嵌入式操作系統(tǒng)教學需把握的環(huán)節(jié)
本文提出的“三分四階兩依托”差異化教學法,在我校的嵌入式操作系統(tǒng)課程教學中進行了初步實踐。下面的教學實踐內容以選修課教學內容為例展開。
T-Engine的前身是由日本東京大學坂村健博士于1984年提出的計算機操作系統(tǒng)規(guī)范TRON(The Real-time Operating system Nucleus)。目前,TRON已成為日本電子產業(yè)現(xiàn)行的基礎構架,占據(jù)了全球微處理器操作系統(tǒng)市場超過60%的份額,涉及從消費電子、通信設備、工業(yè)控制到汽車電子等的廣泛領域[4]。T-Engine是一個開放的嵌入式系統(tǒng)標準開發(fā)平臺,由標準化硬件結構T-Engine和標準開源實時操作系統(tǒng)核心T-Kernel組成,基本結構如圖1所示。
整個教學過程由理論講解和實踐運用兩部分同步展開,互相促進,共分4個階段,如圖2所示。
理論講解上,首先是整體結構了解,其次是分模塊原理學習,然后是功能組合機制學習,最后是在深入理解系統(tǒng)基礎上的拓展運用和應用軟件設計。實踐運用上,首先是構建環(huán)境,其次是單模塊功能驗證,然后是組合功能設計和開發(fā),最后是基于應用開發(fā)背景的系統(tǒng)設計和系統(tǒng)優(yōu)化。兩個部分的各個階段相互促進,相互推動。
4 結語
我們提出的操作系統(tǒng)教學模式已在本校的嵌入式操作系統(tǒng)教學中進行了實踐。該模式更加注重實踐,更加強調結合社會需求培養(yǎng)學生的動手能力,并靈活運用考核的杠桿,充分調動學生的學習興趣,激發(fā)其學習積極性。在實際教學過程中收到了良好的效果,也獲得了學生的好評。
參考文獻:
[1] 于紅,何南,馮艷紅,等.在操作系統(tǒng)課程教學中培養(yǎng)學生創(chuàng)新能力[J]. 計算