TinyOS

   TinyOS是Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,操作系统基于构件(component-based)的架构使得快速的更新成为可能,而这又减小了受传感网络存储器限制的代码长度。

   TinyOS是一个具备较高专业性,专门为低功耗无线设备设计的操作系统,主要应用于传感器网络、普适计算、个人局域网、智能家居和智能测量等领域。

   TinyOS相对于主流操作系统成百上千MB的庞大体积来说显得十分迷你,只需要几KB的内存空间和几十KB的编码空间就可以运行的起来,而且功耗较低,特别适合传感器这种受内存、功耗限制的设备。

   TinyOS提供了一系列的组件如网络协议、分布式服务器、传感器驱动及数据识别工具等,使用者可以通过简单方便的编程将多个组件连接起来。

   Tiny OS在构建无线传感器网络时,通过一个基地控制台控制各个传感器子节点,聚集和处理各子节点采集到的信息。Tiny OS只要在控制台发出管理信息,然后由各个节点通过无线网络互相传递,最后达到协同一致的目的。

   TinyOS已经有很多产品,如用于神经信号接收、调解、显示的接收器、用于能源领域中的石油和气体监控、用于传感网络的控制和优化、用于无线传感网络进行健康监测等。

   nesC是对C语言的一种扩展,加州大学伯克利分校研发人员为TinyOS开发的编程语言,它体现TinyOS的结构化概念和执行模型而设计。TinyOS 是为传感器网络节点而设计的一个事件驱动的操作系统,传感器网络节点拥有非常有限的资源 ( 举例8K字节的程序储存器,512个字节的随机存取储存器)。

   为啥对这个不太出众的系统感兴趣?

   因为无线传感器网络(WSN),现在成为一个国际合作项目,包括硬件平台,已经成为WSN领域的事实标准平台,如果胜出,在物联网领域具有举足轻重的作用。

   问题是:有必要设计一个专门的系统吗?

   现有的嵌入式实时系统,诸如UCOS/RTX/FREERTOS等,在驱动各种传感器的时候,还是需要写硬件驱动直接对器件进行业务处理,再通过系统调度各个业务模块,在操作过程中会遇到很多问题,面向传感器网络开发的难度加大,对于经验丰富的和新手开发效率差距太大,技术的进步就应该是冲着消灭“经验丰富”去的,让开发没有那么对不确定性。

   通过组件的方式,标准化和同一化开发,让每个组件成为硬件出厂的标配,可能是我对Tiny OS的最大期待了,但是前路漫漫啊,所谓的优势并不是独占的,会被人学走,所以组件化平台统一还有很长的路要走。

   总结下Tiny OS的最大优势:小巧,最精简的系统了,核心代码400B,对于低成本的传感器来说很有价值;基于事件驱动,组件化;开源,支持协议替换,特别是在通信协议上意义重大。

   最大的劣势:开发语言nesC,有点反人类的开发语言和开发环境;目前国内资源少,还不够吸引人。






你可能感兴趣的:(嵌入式系统)