摘要:操作系統(tǒng)是一門綜合性課程, 內(nèi)容龐雜涉及面廣,使得該課程的教學(xué)過程相比其他專業(yè)課更加復(fù)雜。本文針對操作系統(tǒng)課程內(nèi)容抽象、講解內(nèi)容有限等特殊問題,分析了傳統(tǒng)操作系統(tǒng)課程教學(xué)中的不足,提出了運用圖形化教學(xué)方式輔助課程講解的思想,介紹了基于Solaris操作系統(tǒng)中DTrace的圖形化教學(xué)方式的實踐。結(jié)果表明,圖形化教學(xué)方式可以將課程中的抽象概念具體化,有助于教師的講解與學(xué)生的理解實踐。
關(guān)鍵詞:操作系統(tǒng);圖形化;教學(xué)方式
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A
操作系統(tǒng)課程是理論性和實踐性都很強(qiáng)的學(xué)科,也是計算機(jī)學(xué)科最為重要的專業(yè)基礎(chǔ)課程之一。隨著計算技術(shù)進(jìn)入各個行業(yè),與信息技術(shù)相關(guān)的專業(yè),如通信工程、軟件工程、信息安全、自動化控制等,也將計算機(jī)操作系統(tǒng)列入到專業(yè)課程計劃中。近年來操作系統(tǒng)在理論和技術(shù)上都有很多發(fā)展,原來的課程內(nèi)容和實踐內(nèi)容顯得有些過時,教學(xué)內(nèi)容與方法的改革就顯得非常必要?!皩τ脩粲押谩边@一口號出現(xiàn)于上世紀(jì)80年代,隨著IT產(chǎn)業(yè)的發(fā)展,這一口號逐漸演變成時下最流行的“可用性”的概念[1]。圖形化應(yīng)用程序極大地方便了用戶的使用,人們不用像DOS時代那樣要記一大堆枯燥的指令來操作計算機(jī)。將圖形化教學(xué)方式應(yīng)用于操作系統(tǒng)教學(xué)中,向?qū)W生形象地展現(xiàn)操作系統(tǒng)的理論知識,不僅可以提高學(xué)生的學(xué)習(xí)興趣,還可以幫助學(xué)生更好地理解操作系統(tǒng)的知識。
1傳統(tǒng)教學(xué)中的不足
操作系統(tǒng)課程教學(xué)長期以來以理論教學(xué)為主,輔以少量的實驗教學(xué)。學(xué)生學(xué)習(xí)操作系統(tǒng),往往局限于基本理論知識的掌握和一些典型算法的實踐,很少有機(jī)會去了解操作系統(tǒng)的內(nèi)部結(jié)構(gòu)和實現(xiàn)技術(shù)[2]。當(dāng)前,開源軟件日益深入人心,開源操作系統(tǒng)軟件已成為學(xué)生尤其是研究性學(xué)生學(xué)習(xí)、研究計算機(jī)基礎(chǔ)支撐軟件的首選,這為操作系統(tǒng)課程提供了更好的實驗平臺,但也提出了更高的要求。
對于學(xué)生而言,由于學(xué)習(xí)過程有很大的難度,教學(xué)效果很難達(dá)到較為理想的水平。目前,教學(xué)中存在的問題主要表現(xiàn)在以下幾個方面:
(1) 教學(xué)方法不夠靈活,形成一種“灌輸式”的教學(xué)方法,對啟發(fā)式、討論式的教學(xué)方法采用得比較少,沒有充分調(diào)動學(xué)生的主觀能動性,忽略了學(xué)生的主體地位。
(2) 教學(xué)內(nèi)容理論性過強(qiáng)。由于該課程知識點多、概念性強(qiáng)而抽象,一些教師在教學(xué)中又缺少理論與實踐相結(jié)合的具體內(nèi)容,授課枯燥抽象,學(xué)生在學(xué)習(xí)過程中感到不易理解。實踐性環(huán)節(jié)也薄弱。學(xué)生缺少自己動手設(shè)計或解剖一個具體的操作系統(tǒng)實例的過程,參與研究性學(xué)習(xí)的機(jī)會少,不能激發(fā)學(xué)生學(xué)習(xí)的興趣。很多學(xué)生雖然學(xué)了操作系統(tǒng)課程,但是由于沒有親手編寫過操作系統(tǒng)源代碼,沒有看到操作系統(tǒng)是如何對資源進(jìn)行分配與回收的過程,所以只掌握了一些的概念,而對操作系統(tǒng)的基本原理仍是似懂非懂,學(xué)習(xí)效果不佳。
(3) 缺乏一本好的教材。長期以來,國內(nèi)操作系統(tǒng)課程的教材都是理論性較強(qiáng),內(nèi)容抽象,內(nèi)容較陳舊或較窄,缺乏與前沿技術(shù)的結(jié)合,教材中的知識點多且雜,因此一本好的教材是重要的。作為一本好的操作系統(tǒng)教材,不僅要注重論述經(jīng)典的操作系統(tǒng)原理,緊密聯(lián)系當(dāng)代流行的設(shè)計問題以及當(dāng)前操作系統(tǒng)的發(fā)展方向,又要做到基本原理與當(dāng)代流行操作系統(tǒng)實例相結(jié)合。
2圖形化教學(xué)方式
2.1圖形化教學(xué)方式的優(yōu)勢
開源操作系統(tǒng)在近幾年發(fā)展迅速,它為操作系統(tǒng)課程教學(xué)提供了良好的實驗平臺,使得學(xué)習(xí)者可以深入了解操作系統(tǒng)的內(nèi)核,觀察操作系統(tǒng)的內(nèi)部結(jié)構(gòu)和系統(tǒng)運行的狀態(tài)[3]。但是由于其圖形化應(yīng)用程序開發(fā)方法及標(biāo)準(zhǔn)的不統(tǒng)一導(dǎo)致開發(fā)效率低、界面不友好,教師無法高效地將操作系統(tǒng)知識教授給學(xué)生。
圖形化教學(xué)方式是一種學(xué)習(xí)容易、成本低、效率高的教學(xué)方式,從教師和學(xué)生兩個方面來看,其優(yōu)點主要如下:
(1) 有利于教師教授知識。操作系統(tǒng)知識偏于理論化、復(fù)雜化,教師單純的講解,很難讓學(xué)生快速地理解教師所講述的知識,很多學(xué)生在尚未真正理解操作系統(tǒng)知識時便失去了興趣,沒有正確地對待這么門課程,使得老師的講解也興趣索然。采用圖形化教學(xué)方式,教師可以將枯燥復(fù)雜的理論知識在圖形化界面上形象地展示給學(xué)生,講述與展示兼?zhèn)洌沟媒處煹闹v解更加方便。
(2) 有利于提高學(xué)生的學(xué)習(xí)興趣,促進(jìn)學(xué)生自主學(xué)習(xí)。對于復(fù)雜知識的學(xué)習(xí),學(xué)生很容易在未能深入了解時失去興趣,放棄對該課程的學(xué)習(xí)。通過圖形化方式,使得學(xué)生可以更好地入門,不再只有枯燥簡單的文字和命令,而是可以深入系統(tǒng)的內(nèi)部觀察系統(tǒng)真正的運行狀態(tài)。有了良好的開始后,學(xué)生才能更自主地深入學(xué)習(xí)操作系統(tǒng)知識。
2.2教學(xué)方式的實現(xiàn)
利用多媒體和計算機(jī)模擬技術(shù),將深奧、抽象的概念和原理用生動的圖片或動畫來表現(xiàn),便于學(xué)生理解?;蛘卟捎锰釂柺绞谡n方式,在課堂中實現(xiàn)互動[4]。也可以采取小組討論的形式。圖形化系統(tǒng)不僅可以滿足上述的教學(xué)目的還可以拓展更多的形勢輔助課程講解。
首先,教師在需要講解的內(nèi)容中確定抽象的課程概念,在圖形化系統(tǒng)的輔助下,教師通過形象化即可表達(dá)抽象概念。圖形化系統(tǒng)可以由教師自行設(shè)計,也可以作為課程作業(yè)布置給同學(xué),讓學(xué)生在理解概念的前提下嘗試具體化的過程更加有助于理解課程中的抽象概念。如圖1所示。圖形化系統(tǒng)的教學(xué)方式可以進(jìn)行實際操作演示,例如在多媒體電腦上安裝圖形化系統(tǒng)軟件,學(xué)生可以通過系統(tǒng)中提供的演示進(jìn)行課程內(nèi)容的學(xué)習(xí)與實際操作,為后面的上機(jī)實習(xí)和課程設(shè)計打下基礎(chǔ)。同時,圖形系統(tǒng)的網(wǎng)絡(luò)接口,豐富了課程的答疑形式。在課堂中教師與學(xué)生一起討論問題,學(xué)生在課后產(chǎn)生疑問時,可以通過圖形化系統(tǒng)在網(wǎng)絡(luò)中發(fā)送問題,老師可以及時解答學(xué)生的問題。
3具體實現(xiàn)
操作系統(tǒng)課程以原理、概念和算法等基礎(chǔ)知識為主,所以必須設(shè)置與之配套的實驗課程。計算機(jī)專業(yè)的學(xué)生不應(yīng)僅僅是一個普通的計算機(jī)用戶和一般程序員,更應(yīng)該系統(tǒng)深入地學(xué)習(xí)計算機(jī)操作系統(tǒng)的原理、相關(guān)算法和理論,具備開發(fā)系統(tǒng)程序和進(jìn)行系統(tǒng)分析的能力。以下將闡述基于Solaris操作系統(tǒng)中DTrace的圖形化教學(xué)方式的實踐[5]。圖形化教學(xué)方式可以將課程中的抽象概念具體化,有助于教師的講解與學(xué)生的理解實踐。
3.1Solaris操作系統(tǒng)的優(yōu)勢
采用Solaris操作系統(tǒng)作為教學(xué)實例,優(yōu)勢如下。
(1)Solaris作為一個開源的操作系統(tǒng),近幾年發(fā)展迅速,由于其源代碼公開,學(xué)生可以仔細(xì)閱讀、分析,并與書中介紹的原理、方法進(jìn)行比較,探究它是如何實現(xiàn)現(xiàn)在操作系統(tǒng)的常規(guī)功能的。剖析一個操作系統(tǒng)代碼對于掌握操作系統(tǒng)設(shè)計與實現(xiàn)的精髓是大有裨益的。
(2)Solaris是一種多用戶、多任務(wù)的操作系統(tǒng),在大型公司和教育機(jī)構(gòu)中有了越來越廣泛的應(yīng)用,基于Solaris的應(yīng)用程序也是未來的發(fā)展趨勢之一。
(3)Solaris不再只能安裝在Sun公司的SPARC平臺的計算機(jī)上,現(xiàn)在的Solaris 10擁有了專門針對普通用戶計算機(jī)的x86版本,它支持目前的大多數(shù)臺式計算機(jī),可以在學(xué)校的實驗機(jī)房安裝,教師也可以將PC機(jī)作為服務(wù)器進(jìn)行教學(xué)工作。
(4) Solaris中多個調(diào)度程序可以并行操作,每個調(diào)度程序擁有自己的調(diào)度算法和優(yōu)先級別,調(diào)度程序以內(nèi)核模塊的形式提供,被動態(tài)裝入操作系統(tǒng)。提供這種可配置的調(diào)度環(huán)境便于學(xué)生更深入細(xì)致地了解操作系統(tǒng)的內(nèi)核。
(5) 在Solaris操作系統(tǒng)中,虛擬文件系統(tǒng)(VFS)框架允許多個文件系統(tǒng)配之在系統(tǒng)中,該框架實現(xiàn)了幾個基于磁盤的文件系統(tǒng)(UNIX文件系統(tǒng)、MS-DOS文件系統(tǒng)、CD-ROM文件系統(tǒng)等等)以及網(wǎng)絡(luò)文件系統(tǒng)(NFS V2、V3和V4)。學(xué)習(xí)Solaris的多文件系統(tǒng),有利于學(xué)生全面深入地了解各個系統(tǒng)的文件系統(tǒng)。
(6)Solaris 10提供的DTrace工具,用戶能夠動態(tài)檢測操作系統(tǒng)內(nèi)核和用戶進(jìn)程。使用DTrace,可以讓學(xué)生更精確地掌握系統(tǒng)的資源使用狀況,發(fā)現(xiàn)先前隱蔽的系統(tǒng)問題,讓學(xué)生更主動更明了地觀察操作系統(tǒng)的內(nèi)核。
(7) 利用Solaris containers技術(shù),甚至可以在同一系統(tǒng)中同時運行Linux和Solaris應(yīng)用程序,使用戶既可以保護(hù)在現(xiàn)有Linux應(yīng)用上的投資,又充分享受Solaris帶來的創(chuàng)新體驗。
以Solaris為學(xué)生學(xué)習(xí)操作系統(tǒng)課程的實驗平臺,不僅可以教授學(xué)生經(jīng)典的操作系統(tǒng)理論知識,同時由于其是開源的操作系統(tǒng),可以讓學(xué)生更深入透徹地了解操作系統(tǒng)的內(nèi)部結(jié)構(gòu)和工作原理[6]。
3.2圖形化系統(tǒng)體系結(jié)構(gòu)
DTrace(Dynamic Tracing)是一個構(gòu)建到Solaris內(nèi)的綜合動態(tài)跟蹤工具,可以讓系統(tǒng)管理員、應(yīng)用開發(fā)者、技術(shù)支持人員對系統(tǒng)內(nèi)核和用戶程序的行為進(jìn)行采樣、監(jiān)控、診斷而不影響生產(chǎn)系統(tǒng)的運行。DTrace包含一種新的腳本語言,D語言。使用D語言,用戶可以很容易地編寫一下用于動態(tài)啟用系統(tǒng)探測器、收集信息和處理信息的腳本,用戶可以方便地與他人共享其信息和故障排除方法。通過DTrace,用戶不再只是簡單地使用這個操作系統(tǒng),更可以深入了解操作系統(tǒng)的內(nèi)核,這在很大程度上可以讓學(xué)生真正地理解操作系統(tǒng),而不是死記硬背理論知識[7]。
雖然DTrace有強(qiáng)大的功能,但是目前Solaris平臺下DTrace工具還只局限于命令行操作,對于學(xué)生而言,如果對該操作系統(tǒng)平臺或者命令行操作不熟悉,就無法享受這個工具帶來的便利,深入透徹地了解操作系統(tǒng)的內(nèi)部原理。通過圖形化的界面,學(xué)生可以通過簡單的操作快速地進(jìn)行實驗,認(rèn)識并分析操作系統(tǒng)的內(nèi)部結(jié)構(gòu)。由于圖形化界面的簡潔、可操作性,可以有效地提高學(xué)生學(xué)習(xí)操作系統(tǒng)課程的興趣,使學(xué)生不再因枯燥復(fù)雜的理論知識而卻步,能更有效地調(diào)動起學(xué)生學(xué)習(xí)操作系統(tǒng)的積極性。系統(tǒng)框架如圖2所示。
3.3系統(tǒng)實現(xiàn)
DTrace圖形化系統(tǒng)能有效地輔助操作系統(tǒng)課程教學(xué),該系統(tǒng)主要界面如圖3所示。
選擇Solaris操作系統(tǒng)作為實驗環(huán)境,可以使用DTrace統(tǒng)運行狀態(tài),觀察操作系統(tǒng)內(nèi)核結(jié)構(gòu),使學(xué)生不再只是聽老師講解理論知識,而能真正深入到系統(tǒng)內(nèi)部,將所學(xué)的理論知識運用于實際操作。
操作系統(tǒng)內(nèi)核本身相當(dāng)復(fù)雜,深入了解其內(nèi)部結(jié)構(gòu)更是一個復(fù)雜的過程。通過圖形化界面,教師可以方便地向?qū)W生展示內(nèi)核結(jié)構(gòu)。上圖顯示的是查詢Solaris平臺DTrace探針圖形化界面。Solaris中有30000多個位置分散著指針探測器,DTrace可激活成千上萬的探測器,記錄所關(guān)注的位置指定的數(shù)據(jù),如命中,即可從該地址顯示用戶進(jìn)程或系統(tǒng)內(nèi)核的數(shù)據(jù),從而了解系統(tǒng)。但是DTrace的使用也有一定的難度,學(xué)生初學(xué)時掌握的知識較少,無法靈活地使用各種命令查看各種信息。通過圖形化界面,即使學(xué)生對DTrace中使用的D腳本語言尚未熟悉,也可以通過系統(tǒng)提供的D程序,實現(xiàn)對系統(tǒng)的跟蹤。
通過圖形化界面,教師可以更方便地教授知識,學(xué)生也不會因為不熟悉DTrace的使用而無法了解系統(tǒng)內(nèi)部結(jié)構(gòu),不會對初學(xué)的學(xué)生造成很大的困難,致使學(xué)生喪失學(xué)習(xí)的興趣。當(dāng)然圖形化系統(tǒng)的學(xué)習(xí)也不單單局限在已有的系統(tǒng)上,該系統(tǒng)提供了相應(yīng)的擴(kuò)展接口。學(xué)生通過圖形界面,掌握足夠的原理和知識后,可以更深入地分析源碼,展開研究,自己編寫擴(kuò)展該系統(tǒng),一方面,將所學(xué)的知識應(yīng)用于實際操作;另一面,擴(kuò)展的圖形系統(tǒng)又可以用于后續(xù)的操作系統(tǒng)課程教學(xué),如此循環(huán)往復(fù),可以有效地促進(jìn)學(xué)生學(xué)習(xí)該門課程,進(jìn)一步提高教學(xué)質(zhì)量。
4結(jié)語
操作系統(tǒng)是一門抽象的課程,也是一個復(fù)雜的系統(tǒng)工程。掌握最新操作系統(tǒng)原理、提高對現(xiàn)代操作系統(tǒng)的實踐能力,依賴于教、學(xué)雙方的不懈努力和教學(xué)方法的不斷創(chuàng)新。通過圖形化方式進(jìn)行抽象概念的輔助講解有助于在講授理論原理的同時,加強(qiáng)實踐環(huán)節(jié),為學(xué)生建立一個形象的知識架構(gòu),充分發(fā)揮學(xué)生的能動作用,培養(yǎng)學(xué)生發(fā)現(xiàn)問題、分析問題、解決問題的綜合能力,真正培養(yǎng)學(xué)生在系統(tǒng)軟件開發(fā)方面的綜合能力。
參考文獻(xiàn)
[1] 肖竟華,陳建勛. “計算機(jī)操作系統(tǒng)”教學(xué)改革探索與實踐[J].高等理科教育,2007,(3):68-70.
[2] 宋廣華. 邊學(xué)邊干:操作系統(tǒng)課程教學(xué)改革的探索與實踐[J]. 計算機(jī)教育,2006,(7):27-29.
[3] 陸慶,蒲曉蓉. “計算機(jī)操作系統(tǒng)”實驗教學(xué)的改革與創(chuàng)新[J]. 計算機(jī)教育,2007,(11):61-63.
[4] 季賽. “操作系統(tǒng)”課程教學(xué)改革的探討[J]. 氣象教育與科技,2008,(82):18-22.
[5] 王知非,徐鵬. 操作系統(tǒng)課程教學(xué)改革與實踐[J]. 計算機(jī)教育,2008,(6):107-108.
[6] 趙毅,馬捷. 利用Python和GTK+的Linux GUI應(yīng)用的快速開發(fā)[J]. 計算機(jī)工程,2004,(8):80-82.
[7] 徐小良,劉陽等. 圖形化編程平臺的結(jié)構(gòu)設(shè)計及實現(xiàn)[J]. 計算機(jī)工程與應(yīng)用,2001,(4):4-5,8.