919659-无线传感器网络课件-第十章 面向无线传感器网络的操作系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Contiki简介
Contiki是瑞典计算机科学研究所的Adam Dunkels等人 开发的一个开源嵌入式操作系统。自2003年推出以来 ,Contiki已经被移植到数十种不同类型的硬件平台, 并在众多项目中得到了应用。
Contiki采用基于事件驱动的内核,支持抢占式多任务 调度。
完整的Contiki包括了如下特性:多任务内核、抢占式 多线程、proto-thread模型、TCP\IP协议、IPv6支持、 图形用户接口、web浏览器、个人web服务器、简单的 telnet客户端、虚拟网络计算、屏幕保护程序。
LiteOS
模块
化结 构
线程和事 件
基于优先 级的时间 片轮转调 度
动态内存管
理,提供进 程内存保护
基于文件的通 信机制
序列化访 有 问(通过 互斥量和 信号量)、 优先级冲 顶算法
使用同 无 步原语
谢谢!
2020/9/19
22
OpenWSN
OpenWSN:最早是由国内同济大学推出的开源项目, 其目标是在物联网标准和各种各样的软硬件平台上实 现完整的协议栈。OpenWSN采用了面向对象的设计模 式,整个体系结构采用分层结构并将不同的硬件、软 件功能封装成对象。
OpenWSN的设计定位: 高性能、继承性、跨平台、组件化、低功耗
TinyOS的通信层采用主动消息通信协议
TinyOS组件模型
在TinyOS中,每个模块由一组命令和事件组成,这些命 令和事件成为该模块的接口。
TinyOS的组件有四个相互关联的部分: 一组命令处理程序句柄; 一组事件处理程序句柄; 一个经过封装的私有数据帧; 一组简单的任务。
TinyOS组件模型
Contiki
Contiki操作系统
应用1 应用2 应用3
节点管理
传感 器数 据管

代码 升级 管理
传感 器配 置管

网络 配置 管理
Contiki内核 uIP
加载程序 (loader)
protothread
驱动
无线电
CPU
传感器
振荡器
其他
硬件
无线电
CPUபைடு நூலகம்
传感器
振荡器
其他
Contiki
Contiki体系结构的进程模型和调度 两级调度层次
应用层
请求/响应层
消息层 UDP
CoAP的抽象层结构
CoAP
MANTIS
MANTIS:简称MOS, MOS是一个多线程操作系统。
网络协议栈
命令服务器
线程
线程
线程
1
2
3
MANTIS系统API
内核/调度器
通信层
物理硬件
MOS系统结构图
设备驱动
Nano-RK
Nano-RK:卡内基梅隆大学的研究者提出的面向无线传 感器网络的抢占式多任务实时操作系统 。
执行相关任务 应能满足任务的并发性要求,提供良好的调度机制 应能有效管理硬件资源,向上层的开发人员尽量屏蔽底层硬
件差别,满足透明性要求
TinyOS简介
TinyOS操作系统有轻量级线程(lightweight thread)技术 、主动消息(active message)通信技术、事件驱动(event driven)模式、组件化编程(component-based programmi ng)等。上述技术有助于提高传感网的性能,发挥硬件 的特点,降低其功耗,并且简化了应用的开发。
在TinyOS中,主动消息通信被实现为一系列系统组件, 屏蔽了下层不同的通信硬件,为上层应用提供了基本 、统一的通信原语。
TinyOS 2.x版本中中提供了4个主动消息通信组件,即A MSenderC、AMReceiverC、AMSnooperC和AMSnooping ReceiverC
TinyOS的事件驱动与任务调度
资源索引:http://openwsn.Berkeley.edu/
OpenWSN
OpenWSN---可视化工具
OpenWSN
OpenWSN硬件架构
传感器模块接口
传感器模块A (主板集成)
传感器模块A (扩展)
编程和调试接口
板载微控制器
板载无线通信装置
无线模块接口
能量管理
OpenWSN硬件结构图
所有事件调度是单一层次的,事件之间是不能相互抢 占的,事件只能被中断抢占,一般中断实现由两个: 硬件中断、潜在的实时执行(软件中断)
contiki支持实时不禁用中断
抢占式多线程在基于事件的内核库中实现
抢占式线程通常,优先采用定时器中断
Contiki
Contiki通信与网络协议
Rime协议栈组成
应用 任务
应用 任务
应用
应用
……
任务
任务
进程间通信(IPC)
资源预留
CPU 网络 传感器
实时调度器 同步管理
端口 套接字
传感器驱动
网络协议栈
任务管理器
定时器
AD转换器
微控制器
Nano-RK的系统体系结构
CC2420
LiteOS
LiteOS:主要由三部分组成:LiteShell、LiteFS以及LiteOS
无线传感器网络
Wireless Sensor Networks
第十章 面向无线传感器网络的操作系统
2020/9/19
1
概述
TinyOS、SOS、MagnetOS、MOS、PEEROS和Contiki。 操作系统设计应当满足如下要求:
系统的代码量必须尽可能的少、复杂度尽可能低 必须提供高效的能量管理策略和方案 操作系统应具备良好的自适应性 操作系统应能满足具体的实时性要求,能够快速处理事件、
OpenWSN
OpenWSN软件架构
应用层
无线调制解调器 应用
无线传感器网络 应用
服务层
时间同步
定位
网络
RTOS (uc/os II、TinyOS、…)
定位
BOOT程序 (只和微控制器相关)
硬件抽象层 (定时器、UART、收发装置、AD转
换、……)
OpenWSN软件架构
OpenWSN
OpenWSN的网络协议栈
声明和提交任务
//声明任务 task void Atask() {
//任务内部代码 } //提交任务 result_t rest = post Atask();
当提交一个任务进入任务队 列时可能会失败,比如当前 任务队列满时。但任务可以 被多次提交,因而可能发生 第一次提交成功,第二次提 交失败。这种情况下会收到 提交失败的消息,但是任务 仍在运行,因为第一次提交 成功了
(后加入TOS Thread支持)
内存管理和保护
通信协议支持
静态内存管理、 主动消息机制 有内存保护
资源共享 实时性支持
虚拟化和完 无
整的事件
Contiki
模块化 事件、protot 类似TinyOS, 动态内存管理和
结构 hread
但支持中断 链接,没有进程
处理
地址空间保护
MANTIS 分层 线程
内核。
安装在基站上 的用户环境
LiteFS文件系统 网络视图
内核 (传感器节点)
LiteShell
设备驱动
多线程内核
数据 缓存
数据 缓存
数据文件
二进制安装 程序
会话 状态
用户应用
系统调用 服务
LiteOS系统结构图
无线传感器网络操作系统总结与对比
操作 系统 TinyOS
体系结 编程模型 构
调度
组件式 主要是事件 FIFO 架构 驱动模型
TinyOS的事件驱动与任务调度
任务接口示例 interface TaskExample {
async error_t command postTask(uint16_t param); event void runTask(uint16_t param); }
TinyOS 2.x系列引入了新的任务类型:任务接口。从而可 以提交带有参数的任务,如上程序所示
应用程序
多跳通信应用程序
消息
主动消息
消息包
无线信息包
串口消息包
软件
字节
Radio Byte
UART
光传感器
时钟 硬件
比特
无线发送模块
TinyOS通信模型和网络协议
主动消息提供了三个基本的通信机制:带消息确认的 消息传递、有明确的消息地址、消息分发。此外应用 程序可以进一步增加其他通信机制以满足特定需求。
基于五种优 先级的调度
支持动态内存管 理(但不鼓励使 用),无内存保 护
uIP和Rime
序列化访问 无
COMM层(内核级)、信号量机制 网络层(用户级), 应用可使用自定义 路由协议
一定程度的 支持
Nano-R 一体 线程
K 化结 构
单调速率 调度、速 率协调调 度
静态内存管理、 类Socket机制 无内存保护
相关文档
最新文档