无线传感器网络操作系统TinyOS

简介:

   TinyOS是一款自由和开源的基于元件(component-based)的操作系统和平台,它主要针对无线传感器网络(WSN, wireless sensor network)。TinyOS是用nesC程序编写的嵌入式操作系统,其作为一系列合作项目的结果。 它的首先出现是做为UC Berkeley和Intel Research合作实验室的杰作,用来嵌入智能微塵当中,之后慢慢演变成一个国际合作项目,即TinyOS联盟。

   TinyOS应用程序是用nesC编写,它是C programming language的一个分支对于感知网络的内存限制问题作了优化。它的补充工具主要来自于Java形式和shell script的front-ends。其他的相关的库和工具,例如NesC编译器和Atmel AVRbinutils toolchains,大部分用C编写。

   TinyOS程序由基于组件的软件工程software component建构,它们中一些表现了硬件的抽象概念, 组件用接口互相连接。TinyOS为普通的抽象描述(abstractions)提供了接口和组件,例如数据包通信(packet communication),路由,感知(sensing),行为(actuation)和储存。

   TinyOS完全的non-blocking:它配备了一个单独的堆栈。因此所有的持续超过几百微秒I/O操作都以异步进行并且带有回叫功能(callback)。为了使本地的编译器更加出色地优化交叉呼叫边界(optimize across call boundaries),TinyOS用nesC的特性去连接这些回叫,叫作事件(events)。non-blocking系统可以让TinyOS在单一存储器下保持高度的协同性(concurrency)。它强迫程序用stitching together many small event handlers的方法编写复合逻辑。为了支持更高的计算量,TinyOS提供了任务(tasks),其比Deferred Procedure Call and interrupt handler bottom halves小。

   一个TinyOS组建可以发布一个任务,操作系统可以把它排入列表以待之后执行。任务是没有优先权的并且按照FIFO运行。 这个简单的协同模型是典型的满足了以I/O为中心的应用,但这样的模型对于CPU负荷重的应用程序来说不是太好的,因为它会导致向OS多次提出线程间协同处理的请求(but its difficulty with CPU-heavy applications has led to several proposals for incorporating threads into the OS.)。

   TinyOS代码与程序代码进行静态连接,然后用GNU toolchain。编译到一个小的二进制系统中。 它的联盟为TinyOS的应用,提供完整的开发平台。

http://www.tinyos.net/





     本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1869393,如需转载请自行联系原作者



相关文章
|
1月前
|
安全 物联网 调度
【软件设计师备考 专题 】网络操作系统和嵌入式操作系统基础知识
【软件设计师备考 专题 】网络操作系统和嵌入式操作系统基础知识
63 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
【Shell 命令集合 网络通讯 】⭐Linux 显示当前系统的主机名和操作系统类型 uuname命令 使用教程
29 0
|
6月前
|
安全 Unix Linux
《计算机系统与网络安全》 第八章 操作系统安全基础
《计算机系统与网络安全》 第八章 操作系统安全基础
78 0
|
2月前
|
网络协议 Unix Linux
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
67 0
|
4月前
|
网络协议 测试技术 网络安全
2022年中职“网络安全“江西省赛题解析—B-1:Windows操作系统深入
2022年中职“网络安全“江西省赛题解析—B-1:Windows操作系统深入
45 1
|
4月前
|
网络协议 测试技术 网络安全
2021年中职“网络安全“江西省赛题—B-9:Windows操作系统深入测试
2021年中职“网络安全“江西省赛题—B-9:Windows操作系统深入测试
36 0
|
4月前
|
安全 关系型数据库 测试技术
2021年中职“网络安全“江西省赛题—B-2:Linux操作系统深入测试
2021年中职“网络安全“江西省赛题—B-2:Linux操作系统深入测试
75 1
|
9月前
|
SQL 数据库
计算机基础书的学习 计算机网络原理 操作系统 编译原理 数据库原理 计算机网络原理 五本基础书学习
计算机基础书的学习 计算机网络原理 操作系统 编译原理 数据库原理 计算机网络原理 五本基础书学习
|
9月前
|
网络协议 Ubuntu Linux
重学操作系统----09 | Linux 中的网络指令:如何查看一个域名有哪些 NS 记录?
远程操作指令用的最多的是ssh,ssh指令允许远程登录到目标计算机并进行远程操作和管理。还有一个比较常用的远程指令是scp,scp帮助我们远程传送文件。
116 0
|
9月前
|
安全 Linux 开发工具
Linux操作系统实验十 Linux网络及服务配置(四)
Linux操作系统实验十 Linux网络及服务配置(四)
124 0