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