物联网作业程序.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Nesc概况 简介 1 结构和内容的分离: 程序由组件构成, 它们装配在一起 ( 配线 ) 构成完整程序. 组件定义两类域, 一类用于它们的描述 ( 包含它们的接口请求名称) ,另一类用于它们的补充。组件内部存在作业形式的协作。 控制线程可以通过它的接口进入一个组件。这些线程产生于一件作业或硬件中断。 2 根据接口的设置说明组件功能。 接口可以由组件提供或使用。被提供的接口表现它为使用者提供的功能,被使用的接口表现使用者完成它的作业所需要的功能。 3 接口有双向性: 它们叙述一组接口供给者 (指令)提供的函数和一组被接口的使用者(事件)实现的函数。这允许一个单一的接口能够表现组件之间复杂的交互作用 (举例来说.,当某一事件在一个回调之前发生时,对一些事件的兴趣登记)。 这是危险的,因为 TinyOS 中所有的长指令 (举例来说. 发送包)是非中断的; 他们的完成由一个事件( 发送完成)标志。 通过叙述接口,一个组件不能调用发送指令除非它提供 sendDone 事件的实现。通常指令向下调用,比如, 从应用组件到那些比较靠近硬件的调用,而事件则向上调用。特定的原始事件与1 结构和内容的分离: 程序由组件构成, 它们装配在一起 ( 配线 ) 构成完整程序. 组件定义两类域, 一类用于它们的描述 ( 包含它们的接口请求名称) ,另一类用于它们的补充。组件内部存在作业形式的协作。 控制线程可以通过它的接口进入一个组件。这些线程产生于一件作业或硬件中断。 2 根据接口的设置说明组件功能。 接口可以由组件提供或使用。被提供的接口表现它为使用者提供的功能,被使用的接口表现使用者完成它的作业所需要的功能。 3 接口有双向性: 它们叙述一组接口供给者 (指令)提供的函数和一组被接口的使用者(事件)实现的函数。这允许一个单一的接口能够表现组件之间复杂的交互作用 (举例来说.,当某一事件在一个回调之前发生时,对一些事件的兴趣登记)。 这是危险的,因为 TinyOS 中所有的长指令 (举例来说. 发送包)是非中断的; 他们的完成由一个事件( 发送完成)标志。 通过叙述接口,一个组件不能调用发送指令除非它提供 sendDone 事件的实现。通常指令向下调用,比如, 从应用组件到那些比较靠近硬件的调用,而事件则向上调用。特定的原始事件与硬件中断是关联的 (这种关联是由系统决定的,因此在本参考手册中不作进一步描述)。 4 组件通过接口彼此静态地相连。 这增加运行时效率,支持 rubust 设计, 而且允许更好的程序静态分析。 5 nesC基于由编译器生成完整程序代码的需求设计。这考虑到较好的代码重用和分析。这方面的一例子是 nesC 的编译-时间数据竞争监视器。 6 nesC 的协作模型基于一旦开始直至完成作业 , 并且中断源可以彼此打断作业. nesC 编译器标记由中断源引起的潜在的数据竞争。 中断是关联的 (这种关联是由系统决定的,因此在本参考手册中不作进一步描述)。 4 组件通过接口彼此静态地相连。 这增加运行时效率,支持 rubust 设计, 而且允许更好的程序静态分析。 5 nesC基于由编译器生成完整程序代码的需求设计。这考虑到较好的代码重用和分析。这方面的一例子是 nesC 的编译-时间数据竞争监视器。 6 nesC 的协作模型基于一旦开始直至完成作业 , 并且中断源可以彼此打断作业. nesC 编译器标记由中断源引起的潜在的数据竞争。 二、语言背景编辑 nesc是一种扩展C的编程语言,主要用于传感器网络的编程开发,加州大学伯克利分校研发人员为这个平台开发出微型操作系统TinyOS和编程语言nesC,同时国内外很多大学和机构利用这一平台进行相关问题的研究。nesc主要用在Tinyos中,tinyos也是由nesc编写完成的。TinyOS操作系统就是为用户提供一个良好的用户接口。基于以上分析,研发人员在无线传感器节点处理能力和存储能力有限情况下设计一种新型的嵌入式系统TinyOS,具有更强的网络处理和资源收集能力,满足无线传感器网络的要求。为满足无线传感器网络的要求,研究人员在TinyOS中引入4种技术:轻线程、主动消息、事件驱动和组件化编程。轻线程主要是针对节点并发操作可能比较频繁,且线程比较短,传统的进程/线程调度无法满足(使用传统调度算法会产生大量能量用在无效的进程互换过程中)的问题提出的。 由于传感器网络的自身特点,面向其的开发语言也有其相应的特点。主动消息是并行计算机中的概念。在发送消息的同时传送处理这个消息的相应处理函数ID和处理数据,接收方得到消息后可立即进行处理,从而减少通信量。整个系统的运行是因为事件驱动而运行的,没有事件发生时,微处理器进入睡眠状态,从而可以达到节能的目的。组件就是对软硬件进行功能抽象。整个系统是由组件

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档