奇宝库 > tinyos系统(tinyos官网)

tinyos系统(tinyos官网)

TinyOS是一个免费开源的基于组件的操作系统和平台,主要针对无线传感器网络(WSN)。TinyOS是用nesC程序编写的嵌入式操作系统,是一系列合作项目的成果。它最早是作为加州大学伯克利分校和英特尔研究合作实验室的杰作出现的,用来嵌入智能灰尘,后来慢慢演变成一个国际合作项目,即TinyOS联盟。

内容

TinyOS的应用是用C编程语言的一个分支nesC编写的,它优化了认知网络的内存限制。其配套工具主要来自Java表单和shell脚本前端。其他相关的库和工具,如NesC编译器和Atmel AVRbinutils工具链,大多是用C编写的.

TinyOS程序由基于组件的软件工程软件组件构造而成,其中一些组件表现出硬件的抽象概念,组件之间通过接口相互连接。TinyOS为常见的抽象提供了接口和组件,比如包通信、路由、传感、驱动和存储。

TinyOS 2.x版本后完全无阻塞:配备独立堆栈。因此,所有持续时间超过几百微秒的I/O操作都是用回调函数异步执行的。为了让本地编译器更好地优化交叉调用边界,Tinyos将这些回调与nesC特性连接起来,这些特性称为事件。非阻塞系统可以使TinyOS在单个内存中保持高度并发。它迫使程序用拼接许多小事件处理程序的方法来编写复合逻辑。为了支持更大的计算量,TinyOS提供了比延迟过程调用和中断处理程序下半部分更小的任务。

TinyOS构建可以发布一个任务,操作系统可以将它排队等待以后执行。任务没有优先级,按照FIFO运行。这种简单的协作模型对于以I/O为中心的应用程序来说是典型的,但是这种模型对于CPU负载重的应用程序来说不是很好,因为它会导致对操作系统的多个线程间协作请求(但是它与CPU负载重的应用程序的差异导致了将线程合并到操作系统中的严重提议。).

TinyOS代码与程序代码静态连接,然后使用GNU toolchain。编译成小的二进制。它的联盟为TinyOS的应用提供了完整的开发平台。

本文来自网络,不代表本站立场,转载请注明出处: