第二章 無線感測器網路技術相關文獻探討
2.7 無線感測器網路作業系統介紹
(a) (b)
圖 2-19 國內感測器節點實體圖(a) SuperNode (Taiwan: Wireless Sensor Network Center, 2007a);(b) OctopusII (Taiwan: Wireless Sensor Network Center, 2007b)
2.7 無線感測器網路作業系統介紹
作業系統主要是用來保護和控制對系統資源的運用,無線感測器網路的作業 系統必須能適應各種應用,例如能達到節能或者是能夠處理不同時間點由不同感 測器所獲取的資訊。目前大多數的無線感測器網路作業系統設計上均是參考以下 幾點:
(1) 無線感測器節點的計算能力受限,所以在設計作業系統時,必須盡可能地 減少系統在各流程時所需要的運算開銷。
(2) 無線感測器節點在一些應用時會利用電池或其他期限性供電來源,而在某 些應用時會需要較長的工作週期,因此這類的作業系統需要設計能量消耗 以及管理的方案及策略。
(3) 無線感測器節點是由許多模組,例如:無線通訊模組、感測模組等,在設 計作業系統時必須要考慮這些模組間的協調機制。
(4) 在某些應用中,無線感測器網路必須要具有即時性,這類應用的作業系統 要能支援實時性。
(5) 無線感測器網路常用於不同類型的環境以及應用中,故作業系統須具備適
應性,以免在不同應用時,要改變作業系統的流程及參數。 及處理器等運算資源,目前主要有 TinyOS、MANTIS OS、SOS、Contiki、EYESOS 等,以下將針對 TinyOS(Philip et al., 2004)及 MANTIS OS(Bhatti et al., 2005)這兩 個作業系統作介紹。
TinyOS 的程序是利用硬體抽象結構(Hardware Abstract Architecture, HAA) 來執行,一般硬體抽象結構會設計成三層,每層的每個組件都有特定的功能 並且提供上下層一個介面來操縱,以一個具備三個硬體元件的系統為例,結 構圖如圖 2-20 所示。硬體表示層(Hardware Presentation Layer, HPL)可以直接 使用 I/O 或是暫存器等功能直接接觸硬體資源,同時硬體的觸發中斷也是經 由這層管理。硬體適應層(Hardware Adaptation Layer, HAL)是硬體抽象結構的
核心,在這層可以使用由 HPL 所提供的介面,並針對硬體的狀態對硬體資源 進行控制 ,同 時也可 以將硬體 資源 複雜性 更進一步 隱藏 。硬體 介面層 (Hardware Interface Layer, HIL)可以將結構的抽象化轉為一個獨立可操縱的 介面,使開發應用程序時更便利。硬體抽象結構可以靈活調整其每個組件功 能,甚至還能結構水平分解,減少在不同硬體平台或應用時的設計開發的複 雜度。TinyOS 的任務排程機制是由硬體處理(Hardware Handles)及任務(Task) 兩者所構成,硬體處理是由硬體的中斷所觸發,而任務則是由先進先出(First In First Out, FIFO)的輕量級執行緒來進行排程,硬體處理具有較高優先性,
當中斷被觸發時,必須先停止正在執行的任務以確保硬體處理能快速進行。
圖 2-20 TinyOS 的硬體抽象結構
MANTIS OS
MANTIS OS 是一個適合多任務無線感測器節點的作業系統,具備了動 態重新編寫流程的特點,MANTIS OS 支援 C 語言。相對於 TinyOS,MANTIS OS 為一個基於執行緒(Thread)管理的作業系統,比起 TinyOS 的先進先出任 務排程,MANTIS OS 可以一次執行多個任務,其系統架構如圖 2-21 所示,
表 2-5 列出了兩個作業系統的比較。
圖 2-21 MANTIS OS 系統架構
表 2-5 TinyOS 與 MANTIS OS 的比較
TinyOS MANTIS OS
排程機制 事件驅動 執行緒驅動
任務調度機制 FIFO 優先級
內存管理 靜態 靜態
系統執行模型 組件 執行緒
實時性 低 高