王敏 劉紅日 梁永先 孫艷霞
【摘要】針對(duì)現(xiàn)有操作系統(tǒng)實(shí)踐教學(xué)環(huán)節(jié)的不足之處,基于前沿領(lǐng)域和社會(huì)的需求,建立了以Linux實(shí)驗(yàn)平臺(tái)為基礎(chǔ),TinyOS系統(tǒng)為補(bǔ)充的操作系統(tǒng)實(shí)踐教學(xué)方法,這種基于多平臺(tái)多層次的實(shí)驗(yàn)具有多樣性和靈活性,為學(xué)生提供了選擇的余地,激勵(lì)了個(gè)性化學(xué)習(xí),有利于多專業(yè)方向?qū)W生的培養(yǎng)。
【關(guān)鍵詞】操作系統(tǒng) TinyOS 多層次
【中圖分類號(hào)】G64 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2015)10-0246-01
一、操作系統(tǒng)實(shí)踐教學(xué)的現(xiàn)狀與問(wèn)題
操作系統(tǒng)一直是計(jì)算機(jī)專業(yè)的必修課程,在培養(yǎng)計(jì)劃和教學(xué)工作中備受重視。作為計(jì)算機(jī)系統(tǒng)上的最核心的系統(tǒng)軟件,操作系統(tǒng)本身一直與時(shí)俱進(jìn),不斷發(fā)展。國(guó)外的學(xué)校如Princeton University的操作系統(tǒng)實(shí)驗(yàn)課程在于構(gòu)造一個(gè)真正的操作系統(tǒng)。另一部分國(guó)外的學(xué)校,采用了模擬仿真平臺(tái),如University of California at Berkeley在仿真MIPS平臺(tái)構(gòu)造操作系統(tǒng)。國(guó)內(nèi)的部分學(xué)校采用如WRK等模擬平臺(tái),但其實(shí)際應(yīng)用價(jià)值較低??紤]操作系統(tǒng)的實(shí)踐教學(xué)過(guò)程中既要有實(shí)用價(jià)值又要兼顧知識(shí)先進(jìn)性的特點(diǎn),在Linux應(yīng)用性實(shí)驗(yàn)的基礎(chǔ)上,增加基于TinyOS的簡(jiǎn)單的分析性實(shí)驗(yàn),以及具有梯度難度的設(shè)計(jì)創(chuàng)新實(shí)驗(yàn),在操作系統(tǒng)的實(shí)踐教學(xué)環(huán)節(jié)中具有十分廣闊的應(yīng)用前景和潛在的實(shí)用價(jià)值。
二、構(gòu)建實(shí)踐教學(xué)體系
1.知識(shí)體系的構(gòu)建
對(duì)于操作系統(tǒng)教學(xué)大綱中前導(dǎo)課程,如C或者VC程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、組成原理等課程要有一定的掌握,此外,本校將Linux操作系統(tǒng)課程和操作系統(tǒng)原理同時(shí)開(kāi)課,有助于實(shí)踐課程的開(kāi)展。
2.實(shí)驗(yàn)環(huán)境的構(gòu)建
基于多平臺(tái)的實(shí)驗(yàn)環(huán)境搭建比較復(fù)雜,環(huán)境主要分為軟件和硬件兩個(gè)部分。軟件方面:在win7系統(tǒng)下安裝了WMWare10軟件,在WMWare10的基礎(chǔ)之上,創(chuàng)建了CentOS5.5虛擬機(jī)和TOS虛擬機(jī),并安裝gcc用于程序編譯和運(yùn)行。TOS是集成了UBUNTU和TinyOS2.x的系統(tǒng),用于TinyOS的分析和開(kāi)發(fā)實(shí)驗(yàn)平臺(tái)。硬件方面主要有MSP430微處理器和溫濕度傳感器等。
3.基于TinyOS的分析性設(shè)計(jì)
第一層TinyOS內(nèi)核分析與改寫實(shí)驗(yàn),實(shí)驗(yàn)?zāi)康脑谟谏钊胝莆詹僮飨到y(tǒng)原理,培養(yǎng)初步的系統(tǒng)分析與設(shè)計(jì)能力。實(shí)驗(yàn)一是TinyOS內(nèi)核分析階段,通過(guò)閱讀TinyOS內(nèi)核源代碼,學(xué)習(xí)操作系統(tǒng)各個(gè)組成部分的實(shí)現(xiàn)機(jī)理,鞏固操作系統(tǒng)原理知識(shí)。實(shí)驗(yàn)過(guò)程中,首先對(duì)TinyOS系統(tǒng)的應(yīng)用范圍、文件夾的功能和Nesc語(yǔ)言做簡(jiǎn)單的講解,在此基礎(chǔ)上,由學(xué)生分析TOS/system文件夾的內(nèi)核文件,并生成相應(yīng)的分析報(bào)告。實(shí)驗(yàn)二是通過(guò)Blink應(yīng)用來(lái)看組件、接口、command和event在實(shí)際應(yīng)用中的作用,來(lái)理解TinyOS的簡(jiǎn)單編程模式。
4.基于Linux的應(yīng)用性實(shí)驗(yàn)設(shè)計(jì)
第二層實(shí)驗(yàn)是基于Linux內(nèi)核的綜合性實(shí)驗(yàn),難度適中。TinyOS內(nèi)核雖然簡(jiǎn)單,易于理解,但是只基于TinyOS的實(shí)驗(yàn)并不完整,還要借助于Linux實(shí)驗(yàn)平臺(tái)。因此基于Linux平臺(tái)設(shè)計(jì)了3個(gè)實(shí)驗(yàn)。
實(shí)驗(yàn)一為通過(guò)分析代碼,學(xué)習(xí)Linux 模塊機(jī)制的實(shí)現(xiàn)過(guò)程。通過(guò)該實(shí)例掌握如何編寫模塊程序,并進(jìn)一步掌握內(nèi)核模塊的機(jī)理。實(shí)驗(yàn)二是統(tǒng)計(jì)操作系統(tǒng)缺頁(yè)次數(shù),以及總運(yùn)行時(shí)間,來(lái)學(xué)習(xí)虛擬內(nèi)存的基本原理和Linux虛擬內(nèi)存管理技術(shù),并深入理解和掌握Linux 的按需調(diào)頁(yè)過(guò)程。實(shí)驗(yàn)三是使用共享內(nèi)存來(lái)完成進(jìn)程間通信。要求建立一個(gè)利用共享內(nèi)存機(jī)制的,關(guān)于經(jīng)典同步問(wèn)題readers/writers 的解決方案。writer 從用戶處獲得輸入,然后將其寫入共享內(nèi)存,reader 從共享內(nèi)存獲取信息,然后再在屏幕上打印出來(lái)。通過(guò)該實(shí)驗(yàn)理解 Linux 關(guān)于共享內(nèi)存的概念,掌握Linux支持進(jìn)程間內(nèi)存共享的系統(tǒng)調(diào)用,進(jìn)一步鞏固掌握進(jìn)程同步的概念。
5.基于TinyOS的設(shè)計(jì)創(chuàng)新性實(shí)驗(yàn)設(shè)計(jì)
第三層實(shí)驗(yàn)是基于TinyOS的設(shè)計(jì)創(chuàng)新性實(shí)驗(yàn),該類實(shí)驗(yàn)以TinyOS提供的一系列的組件為基礎(chǔ),通過(guò)驅(qū)動(dòng)的編寫和協(xié)議的實(shí)現(xiàn),實(shí)現(xiàn)具有應(yīng)用價(jià)值和參賽價(jià)值的實(shí)驗(yàn)。第一個(gè)實(shí)驗(yàn)是任務(wù)調(diào)度算法改進(jìn)實(shí)驗(yàn),通過(guò)改變部分內(nèi)核源程序,改變系統(tǒng)行。TinyOS系統(tǒng)中的任務(wù)調(diào)度非常簡(jiǎn)單,只使用了事件驅(qū)動(dòng)的單線程任務(wù)調(diào)度機(jī)制,和傳統(tǒng)OS的多線程調(diào)度機(jī)制截然不同,因此,通過(guò)編寫部分調(diào)度算法的代碼,來(lái)理解任務(wù)調(diào)度的理論和算法。第二個(gè)實(shí)驗(yàn)是TinyOS下大棚溫濕度感知,通過(guò)該應(yīng)用程序的設(shè)計(jì)和實(shí)現(xiàn),來(lái)學(xué)習(xí)設(shè)備驅(qū)動(dòng)程序的編寫,理解I/O設(shè)備的層次,設(shè)備控制和中斷等概念。
三、效果分析
通過(guò)以上三層實(shí)驗(yàn),使學(xué)生能夠在有限的時(shí)間內(nèi)系統(tǒng)地掌握操作系統(tǒng)基本概念、主要功能、工作原理和實(shí)現(xiàn)技術(shù);能夠熟練使用至少一種操作系統(tǒng)操作環(huán)境;能夠在熟練操作的基礎(chǔ)上進(jìn)行嵌入式開(kāi)發(fā);能夠設(shè)計(jì)簡(jiǎn)單的操作系統(tǒng)組成模塊;能夠引導(dǎo)本科生,深入理解計(jì)算機(jī)五大功能的實(shí)現(xiàn)機(jī)理和過(guò)程,創(chuàng)造性地構(gòu)造新算法、添加新功能,提高創(chuàng)新和參賽能力;基于團(tuán)隊(duì)的多平臺(tái)的實(shí)驗(yàn)?zāi)J剑兄诩ぐl(fā)學(xué)生學(xué)習(xí)操作系統(tǒng)的興趣和主動(dòng)性,訓(xùn)練其分析問(wèn)題、解決問(wèn)題的綜合能力,培養(yǎng)團(tuán)隊(duì)協(xié)作能力。
四、結(jié)束語(yǔ)
操作系統(tǒng)本身的復(fù)雜性和包含學(xué)科知識(shí)的多樣性,給操作系統(tǒng)的實(shí)踐教學(xué)帶來(lái)了高難度,因此,采用不拘形式的實(shí)踐教學(xué)方法和手段,為學(xué)生提供多樣化的靈活的實(shí)驗(yàn)平臺(tái)和實(shí)驗(yàn)方法,不僅可以鼓勵(lì)學(xué)生根據(jù)自身水平,選擇適合學(xué)習(xí)方式、數(shù)量和難度的實(shí)驗(yàn),而且有助于提高學(xué)生的學(xué)習(xí)興趣,使學(xué)生的能力得到充分的發(fā)展和提高。
參考文獻(xiàn):
[1]http://www.tinyos.net/tinyos-2.x/doc/html/.
[2]ArieiT,AltunbasakY.Adap tiveSensingforEnvironmentMoni toringUsingWirelessSensorNetworks[J].IEEEWCNC,2004,5(I).
[3]李紅衛(wèi),殷常鴻.構(gòu)建操作系統(tǒng)實(shí)踐教學(xué)體系.計(jì)算機(jī)教育.2008(6).
[4]劉文峰,李程遠(yuǎn),李善平.嵌入式LINUX操作系統(tǒng)的研究。浙江大學(xué)學(xué)報(bào).2004(4).