摘要:本文通過對操作系統(tǒng)實驗課教學內(nèi)容及實驗環(huán)境的分析,提出多實驗平臺下學生通過自由選擇實驗環(huán)境更有利于對課程內(nèi)容的學習的觀點。同時結(jié)合多模式化的實驗教學方式,為不同能力不同基礎的學生提供更有效的實驗指導模式,使操作系統(tǒng)實驗教學盡可能發(fā)揮其輔助教學的最大作用。
關(guān)鍵詞:操作系統(tǒng);實驗教學;多模式化
中圖分類號:G64 文獻標識碼:B
文章編號:1672-5913(2007)02-0045-03
眾所周知,操作系統(tǒng)是計算機軟件領域中核心的工程性技術(shù)。特別是在現(xiàn)代計算機通信系統(tǒng)中,利用操作系統(tǒng)內(nèi)核所提供的強大功能進行大型通信軟件的設計、開發(fā)和維護是極其重要的[1]。
高校的操作系統(tǒng)實驗課,是通過對操作系統(tǒng)功能的模擬和對源代碼的分析實踐,以使學生深入了解操作系統(tǒng)的功能[2],加深對操作系統(tǒng)所涉及的概念、原理的理解,體驗操作系統(tǒng)所涉及的抽象思維的具體實現(xiàn),特別是隨著網(wǎng)絡操作系統(tǒng)的發(fā)展和嵌入式操作系統(tǒng)的廣泛商業(yè)應用,學生對實踐的渴望也越來越強烈。
因此,本文就操作系統(tǒng)實驗課實驗內(nèi)容的設置及實驗環(huán)境和教學方法加以分析探討。
1實驗內(nèi)容及實驗環(huán)境
目前國內(nèi)外有關(guān)操作系統(tǒng)的本科教材基本是圍繞存儲器管理、處理機管理、設備管理、文件管理和用戶與操作系統(tǒng)的接口五大功能展開的,那么與理論相配套的實驗也必然是以這五部分為基點,設計相應的實驗內(nèi)容。由于受到實驗室環(huán)境設備、課程安排和學生自身能力等因素的影響,為大學本科的操作系統(tǒng)課選擇合適的實驗內(nèi)容一直被認為是共性的難題。結(jié)合本院實驗教學經(jīng)驗,筆者對實驗內(nèi)容設置加以分析。
1.1 實驗內(nèi)容的設置
依據(jù)操作系統(tǒng)的五大功能和實驗平臺,設置了進程控制、進程調(diào)度與死鎖、虛擬存儲器管理、設備管理和文件系統(tǒng)5個基本實驗。實驗環(huán)境依照現(xiàn)在操作系統(tǒng)的發(fā)展趨勢和實際應用范圍,采用了與歐美大學一致的實驗平臺:Windows + Unix/Linux。上述的5個實驗都可以在兩種實驗環(huán)境下進行。當然,在不同實驗環(huán)境下,同一個實驗雖然實驗重點相同,但在具體實現(xiàn)時是有很大不同的。所以,學生可以選定任一種操作系統(tǒng)完成實驗,求知欲和個人能力強的學生也可以選擇兩種操作系統(tǒng)。
在操作系統(tǒng)實驗指導書中,除了寫明每個實驗的目的和要求等,還給出了每個實驗在不同實驗環(huán)境下的實驗重點和難點,以及相關(guān)的API函數(shù)、Linux常用命令和系統(tǒng)調(diào)用列表。
例如在進程控制實驗中:
首先,兩種實驗環(huán)境下,實驗目的都是以“生產(chǎn)者—消費者問題”為模型,使學生對新進程的建立以及進程控制塊、進程隊列的概念有一個具體深入的理解,掌握進程的狀態(tài)及其轉(zhuǎn)換、進程控制原語和基本的同步互斥算法。
其次,給出實驗內(nèi)容,即依照“生產(chǎn)者—消費者問題”模型,創(chuàng)建至少4個進程來模仿生產(chǎn)者和消費者,按照實驗指導書規(guī)定的生產(chǎn)和消費規(guī)則,采用信號量機制解決,最后輸出的結(jié)果至少可觀察到每個進程發(fā)出的讀寫操作申請。在實驗中教師會特別給出一個存在死鎖的特例,使學生看到,多個進程并發(fā)雖然可以改善系統(tǒng)的資源利用率,但由于共享資源的競爭可能造成一種僵局,使多個進程永遠都不能再向前推進。由此引出了死鎖的概念,為學生后面的學習作下了鋪墊。
再次,給出相應實驗平臺的提示。在Windows環(huán)境下,給出相關(guān)的API進程管理類函數(shù):CreateThread、CreatMutex、CreateSemaphore、WaitForSingleObject、ReleaseSemaphore、ExitProcess等詳細使用方法。提示學生利用Windows的性能監(jiān)視器提供的圖形窗口界面管理工具觀察系統(tǒng)的工作情況、資源使用情況和進程運行情況。在Linux環(huán)境下詳細給出相關(guān)進程、CPU的管理命令和管理類的系統(tǒng)調(diào)用,并提示學生重點是fork( )、execve( )和clone( )系統(tǒng)調(diào)用。由于大部分學生對Linux不是很熟悉,所以對利用有關(guān)命令觀察進程運行情況和CPU工作情況要單獨列出詳細操作方法。
最后,是給出相應的數(shù)據(jù)結(jié)構(gòu)和程序流程圖。
1.2 實驗環(huán)境選擇
是選擇Linux還是Windows操作系統(tǒng),教師可能有不同的看法。大學本科操作系統(tǒng)實驗課中,在Windows環(huán)境下的實驗,基本以VC為開發(fā)工具。由于其內(nèi)核的不開放性,實驗重點放在Windows的應用程序接口API的使用上,利用這些與操作系統(tǒng)原理直接相關(guān)的API函數(shù),編寫一些實踐操作系統(tǒng)概念的程序,使學生能將抽象的原理與實際的應用程序聯(lián)系起來,便于對抽象概念的理解和具體化。在Linux環(huán)境下的實驗,基本也是在系統(tǒng)調(diào)用的層次上對學生進行訓練,所不同的是Linux是源代碼公開的免費操作系統(tǒng),通過對它的學習,學生可以對系統(tǒng)內(nèi)核代碼進行實際分析,可以無止境地深入學習操作系統(tǒng)的設計原理和技巧[3]。
所以,筆者認為無論哪種操作系統(tǒng)都各有長處,都將拓寬學生的視野,給學生帶來意想不到的收獲,所以在設計實驗內(nèi)容時同時采用了兩種實驗平臺。
2實驗教學多模式化
國內(nèi)高校操作系統(tǒng)的實踐教學已經(jīng)開始向國際先進模式發(fā)展。在這種趨勢的影響下,本院采用了多元化的實驗教學模式,操作系統(tǒng)實驗課采用了以下教學方法:
第一,夯實基礎,充分重視基礎性的實驗教學。沒有扎實的基本理論功底,要想進一步深入就無從談起,而操作系統(tǒng)基本原理和概念相對抽象,學生不易理解,所以,只有進行大量的基礎性實踐,才能使學生很好地接受操作系統(tǒng)工作的原理和實現(xiàn)方法,而且可以使學生在程序設計方面也得到基本的訓練。為保證實驗教學質(zhì)量,我院還采取博士、碩士做TA的制度[4],建立了一支具有較深專業(yè)水平的實驗教學梯隊。
第二,重視個性化培養(yǎng),倡導層次教學法。由于學生的學習能力和興趣的不同,對學生的要求也要分出層次。由于在操作系統(tǒng)課之前,學生已經(jīng)在Windows環(huán)境下用VC做完了高級語言程序設計和數(shù)據(jù)結(jié)構(gòu)實驗,所以要求學生至少要在Windows環(huán)境下用VC完成操作系統(tǒng)實驗。對于少數(shù)表現(xiàn)突出、求知欲強的學生,鼓勵使用兩個操作系統(tǒng)實現(xiàn),當然可以不要求學生在每個操作系統(tǒng)下把實驗都做完,這樣可以拓寬學生知識面并使之從中受益。可見,這種教學方法比較好地體現(xiàn)了“精英式”的個性化教學理念。
第三,積極開展第二課堂。如果單純做操作系統(tǒng)一個功能的實驗,容易使學生感到是在做數(shù)據(jù)結(jié)構(gòu)作業(yè),所以為了更好地使學生建立宏觀概念,用全局的觀念來理解操作系統(tǒng),我院借鑒國外的先進經(jīng)驗,組織專門從事操作系統(tǒng)研究的實驗室成立了團隊形式的學生俱樂部。俱樂部主要實踐內(nèi)容是:操作系統(tǒng)源代碼分析和自行開發(fā)設計一個小而獨立的操作系統(tǒng)。俱樂部主要采取小團隊(通常三人一組)合作形式,在確定題目后,組內(nèi)每個人各自負責相應的部分,并規(guī)定好完成任務的最后期限。在團隊作業(yè)的進行中,相關(guān)指導教師會定期組織成員進行問題解決方案的討論。因為每個成員都不希望因為自己的工作而影響團隊的最終成績,所以都會盡力完成自己的任務。在設計結(jié)束時,指導教師認真給出最后的評價,指出成績與不足。對于完成較好的團隊,給予獎勵,從側(cè)面激發(fā)學生的學習積極性。通過學生俱樂部形式,既解決了由于實踐難度高而師資力量和數(shù)量不足的問題,又可以鍛煉學生的表達與組織能力,同時也是培養(yǎng)學生分工協(xié)作,增強團隊精神的有效方法,為學生今后獨立或合作開發(fā)研制計算機應用軟件奠定了堅實的基礎。
經(jīng)實踐證明這種多模式的實驗教學方法,有利于學生理解和掌握操作系統(tǒng)原理,有利于學生提高編寫軟件系統(tǒng)的能力,有利于學生較全面的建立關(guān)于計算機系統(tǒng)的概念,是一種適應我國國情的實驗教學方式。
3結(jié)論
本文從如何完善操作系統(tǒng)實驗課,使其能夠更好地幫助學生理解消化所學理論的角度出發(fā),依據(jù)理論課內(nèi)容、操作系統(tǒng)的發(fā)展趨勢和實際應用范圍,制定了實驗內(nèi)容并為學生提供了兩種實驗平臺。并在結(jié)合本院自身情況下,提出一種多模式化的實驗教學方式,即通過設置TA、成立俱樂部等措施,來保證實驗質(zhì)量,同時解決了師資不足的問題。通過實際操作,取得了良好的效果。當然,隨著操作系統(tǒng)技術(shù)的不斷發(fā)展更新,我們要不斷總結(jié)實驗教學經(jīng)驗,進行改革和創(chuàng)新,使實驗教學更好的發(fā)揮其應有的作用。
參考文獻:
[1] 王希杰,王立新.《操作系統(tǒng)》教學中的幾點思考[J]. 邢臺學院學報, 2004,19(2):88-89.
[2] 羅宇.操作系統(tǒng)(第三版)[M].北京:機械工業(yè)出版社,2005.
[3] 任愛華,李鵬,劉方毅. 操作系統(tǒng)實驗指導[M]. 北京: 清華大學出版社, 2004.
[4] 廖明宏,徐曉飛. 論哈爾濱工業(yè)大學計算機教育金字塔體系[J]. 計算機教育,2006,(1):14-19.
投稿日期:2006-08-20
作者簡介:婁久(1977.12-),男(漢族),哈爾濱人,工程師,碩士,研究方向:嵌入式操作系統(tǒng)。