张金榜 李志军
摘 要 TinyOS是一个开源微型嵌入式操作系统,具有代码量小,资源消耗低,没有虚拟内存的管理,没有进程或线程的管理,没有过于复杂的IO子系统以及地址空间分配等优势,可以提高CPU利用率,降低能耗;提高了程序的可重用性,缩短了开发周期。
关键词 TinyOS 嵌入式操作系统
中图分类号:TP316 文献标识码:A
1 TinyOS结构简介
1.1 TinyOS的目录结构
在C:Cygwin\opt\tinyos目录下浏览所有文件,其下分为apps、doc、tos、tools和support 5个文件夹,apps文件夹下是操作系统自带的例程;doc文件夹下存放应用程序编译后的组件调用图;tools文件夹下是开发工具和程序源码;support文件夹下是make和sdk工具包,是nesC编译系统和TinyOS工具,tinyOS-2.x目录结构如如图1所示。
1.2 TinyOS的层次架构模型
TinyOS的层次化设计思想是把组成应用程序的所有组件按照某种标准划分层次,以分层的形式来实现特定应用。一般分为以下五层:Main组件、系统组件、应用组件、硬件抽象层和节点硬件层。节点物理硬件层位于TinyOS框架的最底层,负责完成所有硬件功能。硬件抽象组件是底层硬件的封装,屏蔽了硬件功能的实现细节。系统组件用来执行提供给应用层组件的服务。应用组件实现满足具体应用需求的功能。Main组件实现轻量级线程技术和基于FIFO的任务队列调度方法,以及对其他组件的初始化、启动和停止功能。
1.3 TinyOS应用程序框架
应用程序的总体框架有一个顶层配置组件、一个核心逻辑功能组件、及与资源和硬件相关的组件组成。顶层配置组件组装应用所需要的组件以及组件之间接口的连接关系。核心处理组件完成具体应用逻辑功能。其他组件如时钟组件、主动消息组件等通过接口为核心处理组件服务。
2 TinyOS与其它嵌入式操作系统比较
常见的无线传感器网络操作系统有[2-4]: PEEROS、MagnetOS、Contiki以及SOS。从开发语言、编程机制、任务调度及支持的硬件平台等方面对上述操作系统做简单比较。TinyOS操作系统具有如下特点:
(1)事件驱动机制。TinyOS是因事件驱动而运行的,如果没有事件发生,则系统进入休眠状态,从而达到节能的目的。
(2)轻量级线程技术及两层调度方式。TinyOS提供任务和硬件事件处理两级调度体系。TinyOS中的任务比一般的线程更为简单,通过一个先进先出FIFO的队列来实现。硬件处理线程在TinyOS中,中断处理线程可以打断用户的轻量级线程和低优先级的中断处理线程,对硬件中断快速响应。
(3)主动消息通信机制。主动消息通信是一种基于事件驱动的高性能并行通信方式。每个消息都维护一个应用层的处理函数,消息中包含消息地址、处理函数及所属群。当目标节点收到这个消息后,就会把消息中的数据作为参数,并传递给处理函数处理。主动消息通信模式提高了CPU的使用效率,减少了节点的能耗。
(4)组件化编程。组件模型允许开发人员方便快捷地将独立组件组合到各层配置文件中,并在面向应用程序的顶层配置文件中完成应用的整体装配。TinyOS应用程序采用模块化设计,只包含必要组件,提高了操作系统的紧凑性和开发效率,程序的内核代码和数据大概在400B左右,能突破传感器存储资源少的限制。
3结束语
TinyOS操作系统非常适合运行在硬件节点资源有限的传感器节点上,可以提高CPU利用率,降低能耗;提高了程序的可重用性,缩短了开发周期。
参考文献
[1] 李晶, 王福豹. 无线传感器网络中TinyOS研究[J]. 计算机测量与控制, 2006, 14(6):838-840.
[2] H.Abrach, S.Bhatti, J.Carlson, H.Dai, J.Rose, A.Sheth, B.Shucker, J.Deng, R.Han, “MANTIS: System Support for Multimond A1 Networks fo in-situ Sensors”, 2nd ACM International Workshop on Wireless Sensor Networksand pplications(WSNA)2003, 50-59.
[3] Barr R, et. al. On the Need for System-Level Support for Ad hoc and Sensor Networks[J]. Operating System Review, ACM, 2002, 36(2): 1-5.
[4] Mudder J, Dulman S, et, al. PEEROS-System Software for Wireless Sensor Networks[J]. Microsoft Research Limited, Cambridge, UK, August 2003: 175-182.