- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.4.2 系统架构 SOS由动态加载的模块和静态内核组成,如图6-5所示。 静态内核可以先烧写到节点上,节点运行过程中用户还可以根据任务的需要动态地增删模块。 模块实现了系统大多数的功能,包括驱动程序、协议、应用程序等。这些模块都是独立的,对模块的修改不会中断系统的操作。 6.4.2 系统架构 图6-5 SOS系统体系结构 6.4.2 系统架构 下面讨论SOS架构中的关键设计。 1.模块 在SOS中,模块是可以实现某些功能或者任务的二进制可执行文件,就相当于TinyOS中的组件。 模块可能会同时负责很多部分的功能,包括底层驱动、路由协议、应用程序等。 在SOS中一个实际的应用程序一般由一个模块或者多个的相互交互的模块组成,模块之间,位置独立,主要是通过消息机制或者函数接口来相互联系。 6.4.2 系统架构 2.模块结构 SOS实现了一个定义完整并且优化的带有入口和出口的模块,这一类模块组成一个模块结构,SOS通过这样的一个结构来维护模块性。 模块之间用两种入口机制来相互流通。第一种是通过内核的调度表,另一种是通过被模块注册的对方使用的函数。 6.4.2 系统架构 3.模块交互 模块之间的交互是通过消息机制,调用被模块注册的函数,调用ker_*system(API)访问内核实现的。 消息本身是灵活变化的,并且传递比较缓慢,所以SOS提供一些直接的调用方法,可以被模块注册使用,这些调用方法可以通过调度表为模块提供反应时间短的联系。 6.4.2 系统架构 4.模块的插入和删除 模块的插入是通过分发协议(Distribution Protocol)侦听新的模块在网络中发送的广播来初始化的。 模块的删除是通过模块发送一个final消息触发内核开始进行的。这个消息通知内核释放模块持有的资源。 6.4.2 系统架构 5.动态内存 无线传感网络嵌入式系统一般不支持动态内存。但静态内存会导致存在大量的垃圾内存碎片,可能对公共任务产生复杂的语义。 SOS中的动态内存就解决了这些问题,而且消除了模块加载过程中本来需要对静态内存的依赖。 6.4.1 SOS简介 6.4.2 系统架构 6.4.3 SOS的通信机制 6.4.4 SOS应用程序开发与发布 6.4 SOS操作系统 6.4.3 SOS的通信机制 在SOS操作系统中,一个应用程序包括一个或多个交互的模块。应用程序使用独立的消息通知和功能接口,它包括独立的执行模块,并且通过开发或配置来维护其模块性。 在模块中,消息处理机制通过一种特定的模块处理功能来实现,消息处理句柄通过识别模块的状态来对模块进行处理。 6.4.3 SOS的通信机制 一个独立的代码实体,它的原型如下: #includemodule.h typedef struct{ sos_pid_t pid; ......//模块状态的其他信息 }app_state_t;//定义模块的状态 static int8_t module (void* state, Message * e); //模块声明 6.4.3 SOS的通信机制 下面的模块头定义是模块拥有的唯一全局变量,该结构可以修改: static mod_header_t mod_header SOS_MODULE_HEADER={ mod_id=DFLT_APP_ID0,//模块的ID号 state_size=sizeof(app_state_t), //模块状态占用多少个字节 num_timers=0,//该模块使用定时器的个数 num_sub_func=0,//该模块订阅函数的个数 num_prov_func=0,//该模块提供函数的个数 …… 6.4.3 SOS的通信机制 1.模块通信 SOS提供了两种模块间的通信机制方式,一种是通过模块的功能指针来进行通信,该种方式提供的是同步通信方式,如图6-6所示。 图6-6 SOS模块间通信方式一 6.4.3 SOS的通信机制 SOS的另一种模块间通信方式如图6-7所示,该方式提供异步通信机制。消息机制虽然灵活,但是执行比较慢,消息分发的优先级也较低。 图6-7 SOS模块间通信方式二 6.4.3 SOS的通信机制 在SOS操作中,模块与内核之间也可以进行通信,内核提供系统服务以及上层应用与硬件的接口,如图6-8所示。 图6
您可能关注的文档
最近下载
- 冶金安全培训课件.pptx VIP
- Yamaha 雅马哈 乐器音响 MG10XU_MG10X_MG10 Owner's Manual 用户手册.pdf
- CANoe--快速入门教程.pdf VIP
- 示波表常用软件使用说明.pdf VIP
- 《数学广角—沏茶问题》说课稿.doc VIP
- 十年高考语文真题分项汇编专题06文言文阅读(人物传记类)原卷版+解析版.docx VIP
- (推荐!)2025北京中考真题语文试题及答案.pdf VIP
- 道德与法治一年级上册第二单元 校园生活真快乐 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx VIP
- 儿童呕吐腹泻家庭护理ppt.pptx
- 2025北京中考真题语文试题及答案.doc VIP
文档评论(0)