- 1、本文档共83页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lec10 操作系统
内容提要 WSN 操作系统概述 TINYOS 操作系统 MANTIS 操作系统 SOS 操作系统 三种操作系统的设计实现比较 WSN OS必威体育精装版研究进展 内容提要 WSN 操作系统概述 TINYOS 操作系统 MANTIS 操作系统 SOS 操作系统 三种操作系统的设计实现比较 WSN OS必威体育精装版研究进展 WSN操作系统的设计目标 WSN是应用相关的网络,其硬件节点功能、结构、组织方式会随应用而不同。由此要求WSN操作系统能够良好的模块化设计,使应用/协议/服务与硬件资源之间可以随意搭配 WSN节点资源非常有限(通信带宽资源/能量资源/计算资源),操作系统必须能够高效地使用各种资源 WSN是一个网络系统,其操作系统也必然是面向网络化开发的。网络化系统要求操作系统必须为应用提供高效的组网和通信机制 本章讲解的操作系统 本章讲解三个有代表性的开源的无线传感器网络操作系统: Tiny OS 2.0:美国加州大学伯克利分校开发 Mantis OS 0.9.5 (Multimodal Networks of In-situ Sensors) :美国克罗拉多大学开发 SOS 1.7:美国加州大学洛杉矶分校开发 内容提要 WSN操作系统概述 TINYOS 操作系统 MANTIS 操作系统 SOS 操作系统 三种操作系统的设计实现比较 WSN OS必威体育精装版研究进展 TinyOS 2.0 操作系统 事件驱动,基于组件 使用nesC编写 支持的平台:eyesIFXv2、intelmote2、mica2、 mica2dot、micaZ、telosb、tinynode、btnode3 nesC:使用C作为其基础语言,支持所有的C语言词法和语法 增加了组件(component)和接口(interface)的关键字定义 定义了接口及如何使用接口表达组件之间关系的方法 目前只支持组件的静态连接,不能实现动态连接和配置 组件模型 组件,接口,命令和事件 组件(component) Module组件(模件) Configuration组件(配件) 组件特征 组件内变量、函数可以自由访问,但组件之间不能访问和调用 组件可以提供(provide)和使用(use)接口 接口是一组相关函数的集合,它是双向的并且是组件间的唯一访问点。接口声明了一组函数,称为命令(command),接口的提供者必须实现它们;接口还声明了另外一组函数,称为事件(event),接口的使用者必须实现它们 组件,接口,命令和事件 接口的特点 Provides未必一定有组件使用,但uses一定要有人提供,否则编译会提示出错。在动态组件配置语言中uses也可以动态配置 接口可以连接多个同样的接口,叫做多扇入/扇出 一个module可以同时提供一组相同的接口,又称参数化接口,表明该Module可提供多份同类资源,能够同时给多个组件分享 组件命名规则 C和P的命名规则 :TinyOS 所有的终端程序组件都以字母C或P为结尾。以C结尾所命名的组件表示它是一个可用的抽象,而以P结尾的组件则表示它是私有的。以P结尾的组件不能被直接的连接,但可以对它做一些封装以使它变成可用(变成名字以C结束的) 硬件平台抽象命名规则 :TinyOS 2.0中的硬件抽象通常是三级抽象架构,称作HAA(Hardware Abstraction Architecture)。 HAA的最底层是HPL( Hardware Platform Layer) HAA的中间层是HAL (Hardware Abstraction Layer) HAA的最高层是HIL (Hardware Independent Layer) TinyOS2.0 的任务 基本任务模型 :基本任务模型中任务的原型声明如下: task void taskname(){……..} 用户使用post关键字抛出任务,调用方式如下: result_t ret = post tastname() 任务接口模型 :任务接口扩展了任务的语法和语义。通常情况下,任务接口包含一个异步(async)的post命令和一个run事件,这些函数的具体声明由接口决定。 实例: Interface TaskParameter { async error_t command postTask(uint16_t param); event void runTask(uint16_t param); } 调用方式: call TaskParameter.postTask(34);//抛出任务 TinyOS2.0调度器 TinyOS的调度器实现了任务和事件的两级调度 任务
文档评论(0)