何菊
摘 要: 操作系統(tǒng)是計算機科學(xué)與技術(shù)專業(yè)的主干課之一,在計算機專業(yè)教學(xué)體系中具有舉足輕重的地位和作用。本文深刻分析了現(xiàn)有教學(xué)過程中暴露出來的問題,從教學(xué)理念、多媒體課件、教學(xué)網(wǎng)絡(luò)平臺、實踐教學(xué)等方面探索教學(xué)改革實踐。通過多角度改革方案的實施,激發(fā)了學(xué)生的學(xué)習(xí)熱情及求知欲,提高其反思和創(chuàng)新能力,更好地引導(dǎo)學(xué)生從系統(tǒng)軟件角度分析和解決問題,從而提升教學(xué)質(zhì)量。
關(guān)鍵詞: 操作系統(tǒng); 多角度; 實踐教學(xué); OS Lab
中圖分類號:TP316-4 文獻標(biāo)志碼:A 文章編號:1006-8228(2017)05-75-04
Exploration and practice of multi-angle teaching reform of operating system course
He Ju
(Information Technology Academy of Nanjing University of Chinese Medicine, Nanjing, Jiangsu 210029, China)
Abstract: Operating System is one of the main courses for the specialty of computer science and technology, which plays an important role in the teaching system of computer science. This paper analyzes the existing problems in the teaching process, explores the teaching reform from the following four aspects, teaching idea, multimedia courseware, teaching network platform and practice teaching. Practice has proved that the implementation of the multi-angle teaching reform stimulates students' enthusiasm and curiosity, improves their ability of reflection and innovation, and can guide the students to analyze and solve problems better from the perspective of the system software, so as to improve the teaching quality.
Key words: operating system; multi-angle; practice teaching; OS Lab
0 引言
操作系統(tǒng)是現(xiàn)代計算機系統(tǒng)中最核心、最基礎(chǔ)的軟件,是計算機技術(shù)和管理技術(shù)的結(jié)合。在計算機及相關(guān)學(xué)科課程體系中,操作系統(tǒng)作為一門理論和實踐性并重的核心課程,是計算機科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)學(xué)生必修的專業(yè)基礎(chǔ)課程之一[1-2]。課程的教學(xué)目標(biāo)是讓學(xué)生理解計算機系統(tǒng)工作、用戶與計算機系統(tǒng)交互、設(shè)計開發(fā)應(yīng)用系統(tǒng)的基本知識結(jié)構(gòu),從宏觀上掌握操作系統(tǒng)的整體特性,從微觀上熟悉原理與算法的應(yīng)用技巧,培養(yǎng)學(xué)生計算思維能力、算法設(shè)計與分析能力、程序設(shè)計與實現(xiàn)能力。
1 傳統(tǒng)教學(xué)中出現(xiàn)的問題
在整個計算機科學(xué)與技術(shù)知識體系中,操作系統(tǒng)課程具有承上啟下的重要作用。由于課程較強的邏輯性和抽象性決定了該課程的難度較大,在教學(xué)實踐中出現(xiàn)了學(xué)生難學(xué)、教師難教的普遍反映??傮w來說存在如下問題。
教師授課主要以講授理論知識為主,課程中的概念和原理抽象,難以理解,學(xué)生常?!爸淙?,不知其所以然”缺乏主動學(xué)習(xí)的意識。作業(yè)以知識點復(fù)習(xí)為主,需要發(fā)散思維的主觀內(nèi)容不多,而且網(wǎng)絡(luò)上的參考資料也較豐富,學(xué)生習(xí)慣了這種快餐式的學(xué)習(xí),很難做到獨立思考和舉一反三。
實驗課時有限,實驗內(nèi)容大多是算法驗證項目,而設(shè)計性、綜合性和探索創(chuàng)新性實驗偏少,沒有適當(dāng)?shù)姆绞郊ぐl(fā)學(xué)生的編程興趣,使學(xué)生獲得快樂和成就感,因而也會影響學(xué)生探討問題的積極性和創(chuàng)新能力的提高。
筆者作為課程負責(zé)人承擔(dān)操作系統(tǒng)課程的教學(xué)工作已有十載,從2013年開始探索課程教學(xué)改革,借鑒構(gòu)思-設(shè)計-實施-運行的培養(yǎng)模式[3],從學(xué)生的學(xué)習(xí)潛能考慮,以操作系統(tǒng)的教學(xué)基本內(nèi)容為依據(jù),依托現(xiàn)代信息技術(shù)和現(xiàn)代教育技術(shù),對操作系統(tǒng)的教育理念、多媒體課件、教學(xué)內(nèi)容、教學(xué)資源等進行改革探索,以求提高操作系統(tǒng)的教學(xué)質(zhì)量,提升學(xué)生的學(xué)習(xí)興趣和自主學(xué)習(xí)能力,實現(xiàn)學(xué)以致用。
2 教學(xué)改革實施
2.1 教學(xué)觀念的轉(zhuǎn)變
教學(xué)改革,首要任務(wù)是教師轉(zhuǎn)變教學(xué)觀念,樹立以學(xué)生為中心,充分發(fā)揮學(xué)生的主動性,激發(fā)學(xué)生創(chuàng)造精神的教學(xué)思想。從以知識為重心逐漸轉(zhuǎn)移到以能力為重心,力求做到知識與能力的最佳結(jié)合;從以接受學(xué)習(xí)為重心逐漸轉(zhuǎn)移到以發(fā)現(xiàn)學(xué)習(xí)為重心,力求做到接受學(xué)習(xí)與發(fā)現(xiàn)學(xué)習(xí)的最佳結(jié)合。充分利用現(xiàn)代教育技術(shù),專注于學(xué)習(xí)資源的建設(shè)、研究和評價。通過教學(xué)過程信息和學(xué)生學(xué)習(xí)的互動狀況,評價教學(xué)內(nèi)容及其組織形式是否符合教學(xué)目標(biāo),并及時作合理調(diào)整,為學(xué)生提供有針對性的學(xué)習(xí)信息。根據(jù)在教學(xué)實踐中出現(xiàn)的各種現(xiàn)象,不斷總結(jié)和改進教學(xué)思維和教學(xué)方式,形成理性認識。教師想要把一門課教好,不僅僅需要過硬的專業(yè)技能,更需要具有管理學(xué)習(xí)資源、管理學(xué)習(xí)過程和教育教學(xué)研究的能力。
2.2 多媒體化課件優(yōu)化
多媒體教學(xué)對傳統(tǒng)的操作系統(tǒng)教學(xué)技術(shù)起著補充和輔助作用,增加操作系統(tǒng)教學(xué)內(nèi)容的表現(xiàn)形式,從而達到化繁為簡、化難為易、化抽象為具體、化艱澀為通俗的效果。許多計算機教材都有配套課件,但是這些課件并不能完全滿足授課需求,筆者所在的團隊花了相當(dāng)多的精力對授課課件做完善,通過圖片、動畫、視頻同時輔以文字對操作系統(tǒng)的難點進行展示,這樣可以減少理論的抽象性,加深理解、增強記憶。運用多媒體課件對調(diào)動起學(xué)生的求知欲望和學(xué)習(xí)操作系統(tǒng)的興趣很有幫助。
2.3 網(wǎng)絡(luò)教學(xué)平臺的應(yīng)用
筆者所在學(xué)校的U-MOOCS網(wǎng)絡(luò)教學(xué)平臺,集課程管理、教學(xué)資源、教學(xué)活動、課程建設(shè)等功能于一身。操作系統(tǒng)課程自開課起的全部教學(xué)資料都會在教學(xué)資料模塊中積累保存,形成小型“資料庫”,供教師隨時調(diào)用。教學(xué)活動包括課程論壇、課程作業(yè)、調(diào)查問卷、題庫卷庫在線測試等,全面支持基于項目的小組協(xié)作式研究型教學(xué)模式。網(wǎng)絡(luò)平臺同時配有移動客戶端,支持學(xué)生在手機等移動設(shè)備上進行在線學(xué)習(xí),滿足學(xué)生利用閑暇時間隨時隨地“碎片化”的學(xué)習(xí)需求,實現(xiàn)線上學(xué)習(xí)與線下學(xué)習(xí)相互補充,推進泛在學(xué)習(xí)和終身學(xué)習(xí)有效實踐。借助網(wǎng)絡(luò)教學(xué)平臺,在期中和期末階段進行在線測試,讓學(xué)生及時把握自己的學(xué)習(xí)情況,查漏補缺;在授課結(jié)束后開展調(diào)查問卷工作,及時聽取學(xué)生的意見反饋,作為教學(xué)反思的一個參照,更好地為下一輪教學(xué)服務(wù)。
2.4 實驗教學(xué)改革
實驗是整個操作系統(tǒng)教學(xué)環(huán)節(jié)的重要組成部分,對促進學(xué)生更深人、全面地理解理論知識起著至關(guān)重要的作用[4]。但是操作系統(tǒng)實踐環(huán)節(jié)一直相對薄弱,已經(jīng)不能適應(yīng)現(xiàn)代高等教育的要求。2015年筆者申購了北京海西慧學(xué)科技有限公司研發(fā)的操作系統(tǒng)集成實驗環(huán)境OS Lab,采用“實例學(xué)習(xí)”法引導(dǎo)學(xué)生詳細分析一個小型操作系統(tǒng)的實例,在充分理解操作系統(tǒng)原理的同時,對實際操作系統(tǒng)獲得直接經(jīng)驗。OS Lab主要包含了小型開源操作系統(tǒng)EOS(可直接運行于x86硬件平臺)和可視化的IDE環(huán)境(界面和操作習(xí)慣都類似于Visual Studio,見圖1)[5]。一方面,EOS操作系統(tǒng)對X86平臺中的各種硬件進行統(tǒng)一管理,提高系統(tǒng)資源的利用率;另一方面,EOS提供了一個“虛擬機”和一組API函數(shù),EOS應(yīng)用程序通過調(diào)用這些API函數(shù)獲得服務(wù),從而在此“虛擬機”上運行。在IDE中可以編譯、調(diào)試EOS操作系統(tǒng),同時可以借助Virtual PC、Bochs等虛擬機軟件,對EOS內(nèi)核進行交叉調(diào)試。IDE還支持C源碼級的內(nèi)核調(diào)試,支持反匯編,可在內(nèi)核中設(shè)置斷點和監(jiān)視,可隨意查看、修改內(nèi)核變量或CPU寄存器的值,為學(xué)生調(diào)試、分析源代碼提供了極大的便利。
EOS的源代碼主要使用C語言編寫,總量不超過10000行,并配有大量的中文注釋,閱讀方便。EOS融合了Windows和Linux的設(shè)計理念,并且提供了和Windows一致的API函數(shù)和應(yīng)用程序功能,對學(xué)生參加工作后進行Windows開發(fā)有很大幫助。EOS從學(xué)習(xí)者的角度進行了功能模塊劃分,主要包括了進程管理、存儲器管理、設(shè)備管理、文件系統(tǒng)等模塊,各個模塊間的耦合性低,完全可以與理論課上采用的經(jīng)典操作系統(tǒng)教材配套使用。學(xué)生在深入分析和理解EOS內(nèi)核源代碼后,可按照個人意愿對感興趣的模塊進行修改,甚至添加新的模塊,為學(xué)生提供了極大的自由發(fā)揮空間。
OS Lab中配套有12個實驗項目,但因為課時的限制,筆者主要選取了其中的4個項目開展實驗教學(xué),分別是操作系統(tǒng)的啟動、進程的創(chuàng)建、進程的同步、分頁存儲器管理。前兩個以驗證為主,后兩個以設(shè)計為主,由淺入深,將基礎(chǔ)理論知識與實踐很好地結(jié)合,加強了教師與學(xué)生的互動,充分調(diào)動了學(xué)生的學(xué)習(xí)積極性和主動性。筆者認為,為學(xué)生提供學(xué)習(xí)一個實際操作系統(tǒng)的機會是非常必要的,在他們的學(xué)習(xí)生涯中至少應(yīng)該閱讀并理解一個具有相當(dāng)規(guī)模的程序,這會使他們獲益匪淺。后續(xù)在OS Lab中還可以增加課程設(shè)計教學(xué)環(huán)節(jié),進一步加深對操作系統(tǒng)課程的基礎(chǔ)理論知識、具體實現(xiàn)機制的理解,全面深入地了解操作系統(tǒng)設(shè)計思想的具體實施策略。應(yīng)用卡內(nèi)基梅隆大學(xué)提出的口號“Learning By Doing”,聯(lián)系到操作系統(tǒng)課程設(shè)計的項目實踐中,使這種以項目為驅(qū)動的教學(xué)理念得到更好地發(fā)展。
3 典型案例分析
進程同步是操作系統(tǒng)進程管理中的重點也是難點。以生產(chǎn)者-消費者問題(P-C問題)為例,借助于信號量機制,解決生產(chǎn)者和消費者之間的同步互斥關(guān)系。一旦緩沖池中所有緩沖區(qū)均裝滿產(chǎn)品時,生產(chǎn)者必須等待消費者提供空緩沖區(qū);一旦緩沖池中所有緩沖區(qū)全為空時,消費者必須等待生產(chǎn)者提供滿緩沖區(qū);由于緩沖池是臨界資源,所以任何進程在對緩沖區(qū)進行存取操作時都必須和其他進程互斥進行。在理論課中講授完這個知識點后,實驗課上立刻跟進完成進程同步實驗項目。P-C問題中main函數(shù)、producer函數(shù)、consumer函數(shù)流程圖如圖2所示。EOS中使用CreateSemaphore這個API函數(shù)創(chuàng)建信號量,分等待信號量(不阻塞)、釋放信號量(不喚醒)、等待信號量(阻塞)、釋放信號量(喚醒)四種情況進行調(diào)試。驗證完后再嘗試修改信號量算法,使信號量對象支持等待超時喚醒功能和批量釋放功能。最后再對修改過的算法進行測試。最后實驗教師會引導(dǎo)學(xué)生對實驗結(jié)果進行剖析,再次證明信號量機制是解決進程同步問題的一個利器。對于能力較強的學(xué)生,還有課后思考題來對進程同步進行深層次的分析。學(xué)生通過即學(xué)即用,提高了發(fā)現(xiàn)問題、分析問題和解決問題的能力,同時引導(dǎo)學(xué)生由淺入深、由基礎(chǔ)到綜合、由驗證到創(chuàng)新地進行實踐,多層次地加強學(xué)生對理論知識的理解,增強了學(xué)生的實踐與創(chuàng)新能力。
4 總結(jié)
時代在變遷,信息的獲取更加便捷,學(xué)生的學(xué)習(xí)積極性在某種程度上也發(fā)生了蛻變,所以教學(xué)方式也應(yīng)與時俱進。本文探討了操作系統(tǒng)課程教學(xué)改革實踐,從教學(xué)理念、多媒體課件、教學(xué)網(wǎng)絡(luò)平臺、實踐教學(xué)等多角度出發(fā),采取重基礎(chǔ)、重實踐、重創(chuàng)新的多方位教學(xué)模式,通過開拓思維、研究分析實例和實踐操作,激發(fā)學(xué)習(xí)興趣,掌握分析和解決問題的方法,培養(yǎng)學(xué)生從理論中來,到理論中去,再進一步升華為理論的創(chuàng)新能力,為后續(xù)課程如網(wǎng)絡(luò)操作系統(tǒng)、編譯原理等課程奠定了扎實的理論和實踐基礎(chǔ)。實踐證明,這樣的改革提高了教學(xué)質(zhì)量,同時也獲得了學(xué)生和同行的認可。
參考文獻(References):
[1] 湯小丹.計算機操作系統(tǒng)[M].西安電子科技大學(xué)出版社,2009.
[2] 張堯?qū)W,史美林.計算機操作系統(tǒng)教程[M].清華大學(xué)出版社,2003.
[3] 楊柳,胡志剛,李璽,譚長庚,任勝兵,宋虹.面向CDIO的“操作系統(tǒng)”教學(xué)改革探討與實踐[J].計算機教育,2009.14:24-26
[4] 葉保留,費翔林,葛季棟,駱斌.“操作系統(tǒng)”實驗課程建設(shè)與教學(xué)探討[J].計算機教育,2009.14:122-125
[5] 操作系統(tǒng)集成實驗環(huán)境內(nèi)皮書[M].海西慧學(xué)科技有限公司,2010.