摘 要:操作系統(tǒng)課程是計(jì)算機(jī)專業(yè)的核心課程,針對目前操作系統(tǒng)教學(xué)中存在的主要問題,教材內(nèi)容陳舊,教學(xué)模式落后,實(shí)驗(yàn)環(huán)節(jié)薄弱,教學(xué)內(nèi)容沒有考慮與其他課程之間的銜接等提出了課程改革的主要措施。分別在合理選取教材,教學(xué)中采用實(shí)例化教學(xué),把各個(gè)知識(shí)點(diǎn)與實(shí)際操作系統(tǒng)應(yīng)用結(jié)合起來,類比知識(shí)點(diǎn),多種教學(xué)方法相結(jié)合等多種授課方式并用,加強(qiáng)實(shí)驗(yàn)教學(xué)環(huán)節(jié),合理設(shè)置實(shí)驗(yàn)教學(xué)內(nèi)容及建立網(wǎng)絡(luò)輔助教學(xué)平臺(tái)等方面提出了改革的基本方法。
關(guān)鍵詞:操作系統(tǒng) 教學(xué)改革 教學(xué)方法 創(chuàng)新能力 學(xué)習(xí)興趣
中圖分類號(hào):G420 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2015)08(b)-0183-02
Abstract:Operating system is the core of computer professional course, aiming at the main problems existing in the teaching of operating system, teaching content, teaching mode, the link is weak, the teaching content without considering the cohesion between with other courses such as the curriculum reform of the main measures are put forward. Respectively in textbook selection, teaching the instantiation of teaching, combine the knowledge and the actual operating system application, the analogy of knowledge, a variety of teaching methods such as the combination of a variety of teaching methods and, strengthen experiment teaching, setting up reasonable experiment teaching content and build a network auxiliary teaching platform puts forward the basic methods of reform.
KeyWords:Operating system;Teaching reform;Teaching methods;Innovation ability;Interest in learning
操作系統(tǒng)課程是計(jì)算機(jī)專業(yè)的必修課程和專業(yè)主干課,也是許多高等院校的考研課程之一,在計(jì)算機(jī)知識(shí)結(jié)構(gòu)中有著極其重要的地位和作用,在計(jì)算機(jī)專業(yè)教學(xué)中起著承上啟下的作用。該課程主要介紹了操作系統(tǒng)的工作原理、設(shè)計(jì)思想、實(shí)現(xiàn)過程及有關(guān)理論,其主要特點(diǎn)是理論性強(qiáng),算法多,概念較抽象并且難以理解等。學(xué)生不愿意學(xué),老師也不容易教,因此,如何改進(jìn)這門課程的教學(xué)方法是值得我們研究的問題。
1 目前操作系統(tǒng)教學(xué)中存在的主要問題
1.1 教材內(nèi)容陳舊,更新較慢
長期以來,對操作系統(tǒng)教材的編寫內(nèi)容比較固定,知識(shí)更新速度較慢。操作系統(tǒng)課程涉及到許多概念與算法,理論性較強(qiáng)。這些理論知識(shí)都是介紹操作系統(tǒng)本身的原理,與現(xiàn)代操作系統(tǒng)的發(fā)展缺乏實(shí)際的聯(lián)系,造成學(xué)生對該門課程理解的抽象化。而現(xiàn)代操作系統(tǒng)的發(fā)展日新月異,教材中的內(nèi)容遠(yuǎn)遠(yuǎn)落后于當(dāng)前社會(huì)上流行的主流操作系統(tǒng)技術(shù),因此,學(xué)生接收的知識(shí)就顯得過于陳舊。
1.2 教學(xué)模式落后,教法單一
目前,操作系統(tǒng)的教學(xué)基本上都采取課堂教學(xué),雖然很多教師都用多媒體課件授課,但是課堂上基本都是教師講學(xué)生聽“填鴨式”的教學(xué)模式,還有些教學(xué)經(jīng)驗(yàn)不夠豐富的教師甚至照著課件念,這些都不能引起學(xué)生的學(xué)習(xí)興趣,更談不上創(chuàng)新能力的培養(yǎng)。
1.3 實(shí)驗(yàn)環(huán)節(jié)薄弱,不利于創(chuàng)新能力的培養(yǎng)
操作系統(tǒng)是一門理論性和實(shí)踐性較強(qiáng)的課程,理論內(nèi)容相對比較抽象難懂,不易理解,這就需要通過實(shí)踐環(huán)節(jié)來補(bǔ)充,通過實(shí)驗(yàn),讓學(xué)生了解操作系統(tǒng)原理的實(shí)現(xiàn)。但是,目前很多高校由于設(shè)備缺乏,有些院校根本就沒有實(shí)驗(yàn)課程,有些院校即使開設(shè)了實(shí)驗(yàn)課程,也都是一些驗(yàn)證性的實(shí)驗(yàn),對操作系統(tǒng)原理的理解幫助不是很大,不能使學(xué)生有效的了解操作系統(tǒng)的開發(fā)過程。
1.4 教學(xué)內(nèi)容沒有考慮與其他課程之間的銜接
操作系統(tǒng)課程作為計(jì)算機(jī)專業(yè)的主干課程,在專業(yè)課中具有非常重要的地位。它的前導(dǎo)課程有C語言、數(shù)據(jù)結(jié)構(gòu)和計(jì)算機(jī)組成原理,還和計(jì)算機(jī)網(wǎng)絡(luò)、Java程序設(shè)計(jì)、編譯原理、數(shù)據(jù)庫等課程有著緊密的聯(lián)系[1]。很多教師在教學(xué)過程中教學(xué)內(nèi)容沒有考慮到與其他課程的銜接,僅僅是把操作系統(tǒng)作為一門獨(dú)立的課程來講授,只注重介紹其原理與算法,不能夠使課程之間有機(jī)的貫通起來。
2 課程改革主要措施
上述提到的操作系統(tǒng)教學(xué)中存在的種種問題,在計(jì)算機(jī)技術(shù)日益更新的今天,為了提高人才培養(yǎng)的質(zhì)量,必須要有的放矢的進(jìn)行課程教學(xué)改革,因此,在操作系統(tǒng)的教學(xué)方法和教學(xué)手段上我們進(jìn)行了一些探索,提出了一些改革措施。
2.1 合理選取教材
在選擇操作系統(tǒng)教材時(shí),要選取知識(shí)點(diǎn)新穎,容易理解的,且與實(shí)際應(yīng)用結(jié)合緊密的教材。一本教材的內(nèi)容畢竟有限,還可以選取一些優(yōu)秀的教材作為參考資料介紹給學(xué)生。國內(nèi)的教材在原理和技術(shù)上都相對滯后,還可以選擇原版的英文教材,把其中介紹操作系統(tǒng)發(fā)展的新趨勢和先進(jìn)技術(shù)通過課件介紹給學(xué)生,這樣既可以讓學(xué)生了解到操作系統(tǒng)的先進(jìn)技術(shù),又提高了學(xué)生的英文水平,是一舉兩得的事情。
2.2 多種授課方式并用
在操作系統(tǒng)傳統(tǒng)的教學(xué)中,由于該門課程理論性較強(qiáng)、內(nèi)容抽象龐雜,造成很多學(xué)生陷入被動(dòng)和消極的學(xué)習(xí)狀態(tài);另一方面教師“灌輸式”的授課方式也難以吸引和提高學(xué)生的學(xué)習(xí)興趣。因此要不斷拓寬教學(xué)思路,采取多種授課方式并用的模式。
(1)實(shí)例化教學(xué),把各個(gè)知識(shí)點(diǎn)與實(shí)際操作系統(tǒng)應(yīng)用結(jié)合起來。操作系統(tǒng)原理課程包含很多抽象的概念。學(xué)生們剛開始接觸這些概念的時(shí)候,覺著非?;逎y懂。例如在進(jìn)程管理中,進(jìn)程是操作系統(tǒng)中極其重要的基本概念。教學(xué)過程中我們發(fā)現(xiàn),如果只從概念上介紹進(jìn)程的定義、狀態(tài)和進(jìn)程控制塊等,學(xué)生們印象里沒有實(shí)物對應(yīng)仍然會(huì)感覺非常抽象而且難以理解。我們引入實(shí)例教學(xué)法。首先打開操作系統(tǒng)的任務(wù)管理器,讓學(xué)生看到當(dāng)前系統(tǒng)正在運(yùn)行的所有進(jìn)程,學(xué)生立刻就深刻感受到進(jìn)程概念的真實(shí)存在。然后在講解進(jìn)程的概念時(shí),結(jié)合具體的linux的原理和源代碼分析來講述。通過介紹linux的執(zhí)行狀態(tài)、可中斷的睡眠狀態(tài)、不可中斷的睡眠狀態(tài)、暫停狀態(tài)或跟蹤狀態(tài)、僵死態(tài)和死亡態(tài)六種狀態(tài)以及進(jìn)程狀態(tài)變遷圖,學(xué)生可以更為深刻理解我們介紹的進(jìn)程基本狀態(tài)和狀態(tài)轉(zhuǎn)換在我們操作系統(tǒng)中是真實(shí)存在的。對于進(jìn)程控制塊,我們對應(yīng)到linux中進(jìn)程控制塊的數(shù)據(jù)結(jié)構(gòu) task_struct。所謂進(jìn)程控制塊描述進(jìn)程的當(dāng)前情況以及控制進(jìn)程運(yùn)行的全部信息其實(shí)本質(zhì)上就是一個(gè)結(jié)構(gòu)體的屬性。通過這種具體化,形象化的教學(xué)方式,學(xué)生們再也不會(huì)感覺進(jìn)程概念抽象難懂,大大提高了學(xué)習(xí)興趣。
(2)類比知識(shí)點(diǎn)。在操作系統(tǒng)中講解有些知識(shí)點(diǎn)時(shí),可以用日常生活中學(xué)生比較熟悉的事物進(jìn)行類比講授,例如對處理機(jī)調(diào)度算法的講解可以讓學(xué)生想象在超市買東西結(jié)賬時(shí)人多的情況下采取的方法,學(xué)生很容易就能想到排隊(duì)的方式,由此產(chǎn)生了先來先服務(wù)算法。這種方法可以很容易地吸引學(xué)生的注意力,對知識(shí)點(diǎn)的掌握也會(huì)較輕松。
(3)多種教學(xué)方法相結(jié)合。為了引起學(xué)生的學(xué)習(xí)興趣,可以采用提問的方式來展開課程的學(xué)習(xí)[2]。例如第一節(jié)課上可以提出“你們所了解和使用過的操作系統(tǒng)有哪些?都有什么功能?”“進(jìn)程的各種狀態(tài)之間是如何轉(zhuǎn)換的?”“分頁存儲(chǔ)管理方式的缺點(diǎn)是什么?為什么進(jìn)程之間會(huì)產(chǎn)生死鎖?” 學(xué)生帶著這些問題去聽講、去思考,就一定能全身心投入到課堂教學(xué)中認(rèn)真學(xué)習(xí),抓住重點(diǎn)找出問題的答案。在課程教學(xué)中還可以用啟發(fā)式教學(xué)或問題驅(qū)動(dòng)式教學(xué)法, 例如在介紹作業(yè)調(diào)度算法時(shí),可以先讓學(xué)生自己考慮怎么設(shè)計(jì)這個(gè)算法,如果學(xué)生無所適從,可以再啟發(fā)學(xué)生平時(shí)去超市買東西結(jié)賬時(shí)人多的時(shí)候怎么做的,學(xué)生自然會(huì)想到排隊(duì)的方式。然后再引導(dǎo)學(xué)生思考這種方式有沒有缺點(diǎn),什么缺點(diǎn),怎么改進(jìn),改進(jìn)后又是什么算法。帶著這些問題層次深入,使學(xué)生一步步的找到問題的答案,不僅師生之間產(chǎn)生了互動(dòng),教師還能引導(dǎo)學(xué)生自由、自主地思考[3]。此外,課程中的有些重點(diǎn)內(nèi)容還可以采用討論式教學(xué)法,例如對于生產(chǎn)者消費(fèi)者問題可以采用分組討論的形式,先把學(xué)生分成幾個(gè)小組,讓各組討論提出自己的解決方案,然后各組之間再一起討論每個(gè)方案的優(yōu)缺點(diǎn)。這種方法容易調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,培養(yǎng)他們的思考能力和團(tuán)隊(duì)合作意識(shí)。
2.3 加強(qiáng)實(shí)驗(yàn)環(huán)節(jié),提高創(chuàng)新能力的培養(yǎng)
目前,很多高校在操作系統(tǒng)教學(xué)中都是重理論輕實(shí)踐,在實(shí)驗(yàn)環(huán)節(jié)比較薄弱,這不利于學(xué)生對理論知識(shí)的理解,也不利于提高學(xué)生的動(dòng)手能力,因此,要加強(qiáng)實(shí)踐教學(xué)環(huán)節(jié),促進(jìn)對理論內(nèi)容的學(xué)習(xí)。我院學(xué)生在實(shí)踐課程中,通過在Ubuntu平臺(tái)下搭建虛擬實(shí)驗(yàn)室環(huán)境Bochs,使用開源虛擬機(jī)Bochs作為操作系統(tǒng)開發(fā)平臺(tái),采納的是美國德克薩斯AM大學(xué)(TAMU)的操作系統(tǒng)原型系統(tǒng)[4]。在這個(gè)課程設(shè)計(jì)中,指導(dǎo)學(xué)生編程實(shí)現(xiàn)操作系統(tǒng)具體功能,基本涵蓋操作系統(tǒng)重要概念,即系統(tǒng)的啟動(dòng)、存儲(chǔ)器管理、虛擬內(nèi)存管理、多線程調(diào)度及文件系統(tǒng)等,旨在通過該課程設(shè)計(jì)增強(qiáng)學(xué)生對操作系統(tǒng)重要概念和原理的理解。
通過實(shí)驗(yàn),指導(dǎo)學(xué)生編寫一個(gè)“Hello World”版的操作系統(tǒng),對激發(fā)學(xué)生繼續(xù)深入設(shè)計(jì)更高難度的操作系統(tǒng)有很大的興趣。為了避免初學(xué)者迷失于具體的代碼中(比如匯編語言代碼),我們提供了這個(gè)操作系統(tǒng)的絕大部分代碼,僅僅保留輸出語句的修改,學(xué)生很容易完成。我們在宿主操作系統(tǒng)安裝Bochs,Bochs模擬硬件運(yùn)行所設(shè)計(jì)的操作系統(tǒng),即使所設(shè)計(jì)的操作系統(tǒng)有問題(主要是邏輯問題),Bochs會(huì)明確的告知設(shè)計(jì)者。這樣我們可以像調(diào)試普通程序一樣調(diào)試操作系統(tǒng)。通過一番配置“折騰”(在Linux平臺(tái)下,對于初學(xué)者來說,通常不是一次就能配置成功的),學(xué)生對完成這個(gè)“Hello World”版的操作系統(tǒng)很有新鮮感和成就感,對完成后續(xù)難度較高的功能產(chǎn)生了濃厚的興趣。
2.4 提高學(xué)生學(xué)習(xí)興趣,讓學(xué)生認(rèn)識(shí)到課程的有效性
想要學(xué)生完全投入到學(xué)習(xí)中,老師就要完全投入,從學(xué)生內(nèi)心喚醒他們的求知欲,激發(fā)他們的學(xué)習(xí)熱情,使他們成為學(xué)習(xí)的主人。學(xué)生在成功完成一項(xiàng)任務(wù)后,會(huì)產(chǎn)生一種愉悅的感覺,因此,要想提高學(xué)生的學(xué)習(xí)興趣,教師在教學(xué)中就要給學(xué)生創(chuàng)設(shè)成功的機(jī)會(huì),讓學(xué)生獲得成功的體驗(yàn)。要想讓學(xué)生保持對操作系統(tǒng)課程學(xué)習(xí)的興趣,就要讓學(xué)生認(rèn)識(shí)到課程的有效性。比如在各章節(jié)涉及到相應(yīng)部件的硬件知識(shí)時(shí),應(yīng)結(jié)合計(jì)算機(jī)組成原理課程的有關(guān)知識(shí);在講到存儲(chǔ)管理中程序的編譯鏈接時(shí)應(yīng)結(jié)合編譯原理課程的知識(shí);在講到進(jìn)程控制塊的組織方式時(shí)采用隊(duì)列的形式,會(huì)用到數(shù)據(jù)結(jié)構(gòu)中的相關(guān)知識(shí),在講到進(jìn)程通信時(shí),會(huì)用到計(jì)算機(jī)網(wǎng)絡(luò)方面的知識(shí),通過這種聯(lián)系將多門專業(yè)基礎(chǔ)課程有機(jī)地貫穿起來,不僅使該課程的教學(xué)不再枯燥,也使學(xué)生體會(huì)到了該課程的“有效性”,有效地促進(jìn)了整個(gè)專業(yè)理論體系的完善。
2.5 建立網(wǎng)絡(luò)輔助教學(xué)平臺(tái),加強(qiáng)師生之間的交流
為了更好地加強(qiáng)師生之間的交流, 把教學(xué)從課堂上擴(kuò)展到課外,可以建設(shè)一個(gè)“操作系統(tǒng)”教學(xué)網(wǎng)站。網(wǎng)站上把教學(xué)課件、教案、教學(xué)大綱、習(xí)題指導(dǎo)、實(shí)驗(yàn)指導(dǎo)書等內(nèi)容都放上,以方便學(xué)生課下自學(xué)使用。網(wǎng)站還會(huì)經(jīng)常介紹當(dāng)前操作系統(tǒng)發(fā)展的最新動(dòng)向與知識(shí)或技術(shù)更新,還有比較潮流的操作系統(tǒng)(如:android、iOS)的開發(fā)技術(shù)案例等供學(xué)生進(jìn)行學(xué)習(xí)與交流。另外網(wǎng)站還提供了師生互動(dòng)功能,比如:在線輔導(dǎo)、問題交流、網(wǎng)上考核等。這為學(xué)生的學(xué)習(xí)提供了極大的便利。
3 結(jié)語
操作系統(tǒng)課程是計(jì)算機(jī)專業(yè)的核心課程之一,為了讓學(xué)生更好的掌握這門課程,本課程的教學(xué)改革是一項(xiàng)需要長期堅(jiān)持的工作。需要根據(jù)課程的發(fā)展和學(xué)生的實(shí)際情況不斷改進(jìn)教學(xué)方法,不斷強(qiáng)化教學(xué)手段,激發(fā)學(xué)生學(xué)習(xí)的興趣,在課程中逐漸提高學(xué)生分析問題、解決問題的能力,從而達(dá)到創(chuàng)新能力的提高,為國家培養(yǎng)更高質(zhì)量的人才。
參考文獻(xiàn)
[1]柳文濤,李聲,包云.整體法在操作系統(tǒng)教學(xué)中的應(yīng)用[J].福建電腦,2013(11):59-60.
[2]李琳娜.操作系統(tǒng)課程教學(xué)改革研究[J]. 信息系統(tǒng)工程,2010(9):125-126.
[3]吳繼娟,劉曉曉.計(jì)算機(jī)原理課程教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)教育,2013(24):95-98.
[4]Teresa Leyk. Operating Systems. http://courses.cs.tamu.edu/teresa/csce410/csce410-index.html[EB/OL].(2014-12-10)[2014-12-30].