TinyOS简介

 转自: http://blog.chinaunix.net/u/22751/showart_157616.html

一、什么是TinyOS?

·一种操作系统

·一种开源的开发环境

    -一种程序设计语言和程序设计模型

    -服务集

·主要思想

    -快速启动和睡眠

       ·尽可能地睡眠以节省电能

    -高并发,中断驱动(无轮询)

二、数据存储模型

·静态内存分配

    -无堆

    -无函数指针

·全局变量

    -按帧可用

·局部变量

    -栈中存储

    -方法中声明

三、程序设计模型

·构造与组合分离

·程序由components组成

·每个component由interface制定

    -提供hook将component连接起来

·components在它们的interfaces的基础上静态地连接起来

    -增加了运行时效率

四、Components

·Components使用和提供interfaces,commands和events

    -由component的interface指定

    -在TinyOS里interface有两种意思

·Components实现自己使用的events和提供的commands

Component
 Commands
 Events
 
使用
 可调用
 必须实现
 
提供
 必须实现
 可产生信号
 

五、Components的类型

·两种类型的components:

    -Modules:实现应用行为

    -Configurations:连接components

·component并不关心另一个component是module还是configuration

·component可以由其它components组成

六、TinyOS的线程模型

·任务(Tasks):

    -时间可变性

    -更长的后台处理工作

    -对其它任务(单线程)的原子性

    -事件抢占

·事件(Events):

    -实时

    -更短的宽度(如果必要,不去碰任务)

    -任务中断

    -后进先出的语义(事件中无优先级)

·不要把event和NesC中的关键词event弄混淆

·TinyOS 1.1最多支持7个未决任务(task),从1.1.5起,你可以在makefile的PFLAGS行中添加DTOSH_MAX_TASKS_LOG2=n,使任务数达到2^n

七、Component的层次

·components之间靠把使用者和提供者连接起来相连

·Commands:

    -向下流动

    -控制返回调用者

·Events:

    -向上流动

    -控制返回信号产生者

·Events能调用commands,但反之不成立

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值