tinyos是什么

来源: 电脑维修教程 阅读:     发表时间:

【OAwhy-这里有全面的电脑维修知识- 电脑维修教程让你从此处蜕变 】tinyos是一款自由和开源的基于组件(component-based)的操作系统和平台,它主要针对无线传

【OAwhy-这里有全面的电脑维修知识- 电脑维修教程让你从此处蜕变 】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 2.x版本后完全的non-blocking:它配备了一个单独的堆栈。因此所有的持续超过几百微秒i/o操作都以异步进行并且带有回叫功能(callback)。为了使本地的编译器更加出色地优化交叉调用边界(optimize across callboundaries),tinyos用nesc的特性去连接这些回叫,叫作事件(events)。non-blocking系统可以让tinyos在单一存储器下保持高度的协同性(concurrency)。它强迫程序用stitching together many small event handlers的方法编写复合逻辑。为了支持更高的计算量,tinyos提供了任务(tasks),其比deferred procedure call and interrupt handlerbottom 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的应用,提供完整的开发平台。

电脑维修入门

以上是:解决tinyos是什么问题的详细资料教程