TinyOS是适用于无线传感器网络(WSN,Wireless Sensor Network)的操作系统,无线传感器网络是由部署在检测区域内的传感器节点组成,通过无线通信的方式形成一个多跳的自组织网络系统。
TinyOS是一个开源的嵌入式操作系统,它是由加州大学的伯克利分校开发出来的,主要应用于无线传感器网络方面。它是基于一种组件(Component-Based)的架构方式,使的能够快速实现各种应用。
TinyOS的程序采用的是模块化设计,其程序核心往往都很小(一般来说核心代码和数据大概在400Bytes左右),能够突破传感器存储资源少的限制,让TinyOS很有效地运行在无线传感器网络节点上并去执行相应的管理工作等。
TinyOS操作系统采用了组件的结构。系统本省提供了一系列的组件供用户调用,其中包括主组件、应用组件、执行组件、传感器组件、通信组件和硬件抽象组件,如下图所示:
组件由下到上可分为3类:硬件抽象组建、综合硬件组件和高层软件组件。
-硬件抽象组件将物理硬件映射到TinyOS的组件模型;
-综合硬件组件模拟高级的硬件行为,如感知组件、通信组件等;
-高层次的软件组件实现控制、路由以及数据传输等应用层的功能。
每个TinyOS程序应当至少一个应用组件,即用户组件。该应用组件通过接口调用下层组件提供的服务,实现针对应用的具体逻辑功能,如数据采集、数据处理、数据收发等。
一个完整的应用系统由一个内核调度器(简称调度器)和许多功能独立且相互联系的组件构成,可以把TinyOS系统和在其上运行的应用程序看成是一个大的执行程序。
现有的TinyOS系统提供了大多数传感器硬件平台和应用领域里都可用到的组件,例如定时器组件、传感器组件、消息收发组件、电源管理组件等,而把用户和底层硬件隔离开来。在此基础上,用户只需要开发针对特殊硬件和特殊应用需求的少量组件,大大提高了应用的开发效率。