fbpx
维基百科

TinyOS

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

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

内容 编辑

TinyOS中的程序使用nesC编写,这种语言是C语言的一个分支,针对无线传感器网络的内存限制进行过特别的优化。相关的辅助工具则主要是由JavaShell脚本编写的前端。其他相关的库和工具,例如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工具链生成系统的一整个二进制映像。

tinyos, 此條目需要編修, 以確保文法, 用詞, 语气, 格式, 標點等使用恰当, 2019年4月18日, 請按照校對指引, 幫助编辑這個條目, 幫助, 討論, 此條目過於依赖第一手来源, 2018年9月14日, 请補充第二手及第三手來源, 以改善这篇条目, 是一款自由和开源的基于组件的, component, based, 嵌入式操作系统, 主要针对无线传感器网络, wireless, sensor, network, 开发, 使用nesc语言编写, 经由一系列合作项目得以完善, 最初是加州伯克利分校和英特. 此條目需要編修 以確保文法 用詞 语气 格式 標點等使用恰当 2019年4月18日 請按照校對指引 幫助编辑這個條目 幫助 討論 此條目過於依赖第一手来源 2018年9月14日 请補充第二手及第三手來源 以改善这篇条目 TinyOS是一款自由和开源的基于组件的 component based 嵌入式操作系统 主要针对无线传感器网络 WSN wireless sensor network 开发 TinyOS使用nesC语言编写 经由一系列合作项目得以完善 TinyOS最初是加州伯克利分校和英特尔研究院为嵌入智能微塵而开发的合作项目 之后逐渐演变成一个国际合作项目 即TinyOS联盟 TinyOS开发者TinyOS 联盟编程语言nesC作業系統家族嵌入式操作系统運作狀態支援中源码模式开放源代码首次发布2000年 22年前 2000 当前版本2 1 2 avgust 2012 g 市場取向無線感測網路支持的语言英语内核类别宏内核许可证BSD官方網站www wbr tinyos wbr net仓库github wbr com wbr tinyos wbr tinyos main内容 编辑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工具链生成系统的一整个二进制映像 取自 https zh wikipedia org w index php title TinyOS amp oldid 78043970, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。