TinyOS

TinyOS
开发者TinyOS 联盟
编程语言nesC
作業系統家族嵌入式操作系统
運作狀態支援中
源码模式开放源代码
首次发布2000年,​24年前​(2000
当前版本
  • 2.1.2 (август 2012 г.)
編輯維基數據鏈接
市場取向無線感測網路
支持的语言英语
内核类别宏内核
许可证BSD
官方網站www.tinyos.net
仓库
  • github.com/tinyos/tinyos-main
編輯維基數據鏈接

TinyOS是一款自由和开源的基于组件的(component-based)嵌入式操作系统,主要针对无线传感器网络(WSN, wireless sensor network)开发。TinyOS使用nesC语言编写,经由一系列合作项目得以完善。TinyOS最初是加州伯克利分校和英特尔研究院为嵌入智能微塵而开发的合作项目,之后逐渐演变成一个国际合作项目,即TinyOS联盟。

内容

TinyOS中的程序使用nesC编写,这种语言是C语言的一个分支,针对无线传感器网络的内存限制进行过特别的优化。相关的辅助工具则主要是由Java和Shell脚本编写的前端。其他相关的库和工具,例如NesC编译器和Atmel AVR二进制工具链则大部分用C编写。

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

TinyOS 2.x版本后引入了完全的非阻塞式行为:它配备了一个单独的堆栈。因此所有的持续超过几百微秒I/O操作都以异步进行并且带有回叫功能(callback)。为了使本地的编译器更加出色地优化交叉调用边界(optimize across call boundaries),TinyOS用nesC的特性,通过事件的方式去连接这些调用。非阻塞式系统可以让TinyOS在单一存储器下保持高度的协同性(concurrency)。它强迫程序将很多个小的事件处理例程合并成一个复合逻辑。为了支持更高的计算量,TinyOS提供了任务(tasks),其比推迟的过程调用和中断处理例程的下半部小。

一个TinyOS组件可以发布一个任务,操作系统可以把它排入列表以待之后执行。任务是没有优先权的并且按照FIFO运行。这个简单的协同模型满足了以I/O为中心的应用,但对于CPU负荷重的应用程序来说是不太好的,因为它会导致向OS多次提出线程间协同处理的请求。这个问题已经导致了几个试图将线程合并进OS内核里的提案。

TinyOS代码与程序代码进行静态连接,然后用GNU工具链生成系统的一整个二进制映像。

开放源代码
  • Mynewt OS英语Apache Mynewt OS
  • BeRTOS英语BeRTOS
  • ChibiOS/RT
  • Contiki
  • Composite
  • Djyos
  • ECOS
  • ERIKA Enterprise英语ERIKA Enterprise
  • FreeRTOS
  • Fuchsia
  • FunkOS英语FunkOS
  • Nano-RK英语Nano-RK
  • NuttX
  • One os
  • QP
  • RIOT
  • RTAI英语RTAI
  • RTEMS
  • RTLinux
  • RT-Thread
  • seL4英语seL4
  • Talon DSP RTOS英语Talon DSP RTOS
  • TI-RTOS英语TI-RTOS
  • TinyOS
  • TockOS
  • TRON
  • Wombat OS英语Wombat OS
  • Xenomai
  • Zephyr
专有软件
  • 4690 OS英语4690 Operating System
  • DioneOS英语DioneOS
  • INTEGRITY
  • Junos OS英语Junos OS
  • LynxOS
  • µC/OS-II英语Micro-Controller Operating Systems
  • MQX英语MQX
  • Multiuser DOS英语Multiuser DOS
  • Nucleus RTOS
  • OpenComRTOS英语OpenComRTOS
  • OSE英语Operating System Embedded
  • OS-9英语OS-9
  • OS2000英语OS2000
  • PikeOS英语PikeOS
  • QNX
  • REX OS英语REX OS
  • ScreenOS英语ScreenOS
  • L4微内核系列
  • ThreadX
  • TPF英语Transaction Processing Facility
  • VRTX
  • VxWorks
  • Windows Embedded Compact
  • SylixOS
历史上的
  • DNIX英语DNIX
  • DSOS英语DSOS
  • EROS英语EROS (microkernel)
  • CoyotOS英语CoyotOS
  • FlexOS英语FlexOS
  • MERT/UNIX-RT英语Multi-Environment Real-Time
  • pSOS英语pSOS (real-time operating system)
  • RMX
  • RSX-11
  • RT-11英语RT-11
  • Sintran III英语Sintran III
  • Symbian
  • THEOS英语THEOS
  • UNOS英语UNOS (operating system)
  • 分类:实时操作系统