首页 > 代码库 > TinyOS总体介绍

TinyOS总体介绍

TinyOS 体系结构图

  • TinyOS 硬件抽象层
TinyOS 引入了三层的硬件抽象结构:硬件表示层(HPL)、硬件适应层(HAL)、硬件接口层(HIL)
HPL:接对硬件资源进行访问,隐藏复杂的硬件处理细节;进行能量管理,提供初始化、启动、终止功能命令。
HAL:利用 HPL 提供的接口,建立一个硬件描述资源,实现对硬件的仲裁控制,提高系统性能。
HIL:将 HAL 层提供的功能进行标准的跨平台接口转换,最终实现隐藏硬件差异性,并向上层提供统一的硬件 API 接口。

TinyOs硬件抽象架构的设计理念:在设计组件时,存在着一条分界线,在分界线以上的软件组件具有平台无关性,而分界以下的组件则需要根据具体的硬件平台特别编写代码
  • 基于组件结构

TinyOS 是由 nesC 语言编写和实现的,nesC 应用程序由一个调度器和一些组件组成应用程序和组件一起编译成系统;
高层组件向底层组件发出命令,底层组件向高层组件报告事件。组件之间通过接interface进行连接,这些接口是双向的,定义了一簇命令command和事件event.命令由接口的提供者实现,事件的具体操作由接口的使用者实现
  • 事件驱动模式
一个任务完成后,再触发一个事件,然后系统进入相应的处理函数,在事件处理过程中需要完成必要事件通告;
TinyOS中有两种事件:硬件事件(硬件中断处理程序)和软件事件(通过signal 来触发)。
  • 主动消息机制
一般应用于并行分布式处理系统中。为了让主动消息机制更适合于传感器网络的需求,要求主动消息至少提供3中最基本的通
信机制:带确认消息的消息传递、有明确的消息地址、消息分发。应用程序可以进一步增加其他通信机制以满足特定要求。
TinyOS 采用非阻塞方式处理数据,发送不会等待相应的接收完成后才执行下一步操作,而是将消息缓存起来,直到网络端可
用时,再将消息发送到接收端。接收端亦同样如此。当主动消息到达时,AM 组件会将该事件分派给所有带有相关消息处理程
序的组件
  • 并行处理
无线传感器网络节点上的数据收发具有突发性,在不确定的时间点可能需要处理大量数据。
TinyOS采用硬件中断的方法来处理外界事件发生的不确定性
  •  调度机制
,它实际上是一种延迟计算机制。
任务之间互相平等,没有优先级之分,所以任务的调度采用简单的 FIFO。任务间互不抢占,而事件 (大多数情况下是中断) 可抢占。

附件列表

     

    TinyOS总体介绍