[发明专利]一种嵌入式分区操作系统分区间通信的实现方法有效

专利信息
申请号: 201910023106.6 申请日: 2019-01-10
公开(公告)号: CN109815029B 公开(公告)日: 2023-03-28
发明(设计)人: 朱怡安;欧阳湘臻;史先琛 申请(专利权)人: 西北工业大学
主分类号: G06F9/54 分类号: G06F9/54
代理公司: 西安凯多思知识产权代理事务所(普通合伙) 61290 代理人: 刘新琼
地址: 710072 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种嵌入式分区操作系统分区间通信的实现方法,基于无锁的环形通道缓存,借助条件编译配置分区通信,配置使用用户通道缓存时,通道缓存在用户分区空间中定义,任务若要构造发送消息,不需要切换内核态就能对用户分区空间中的通道缓存操作,省去了用户分区空间向通道缓存的一次拷贝。本发明采用基于环形队列的通道缓冲,不依赖硬件就能实现一个写者/至少一个读者的无锁通信、或在支持CAS操作的硬件平台上实现多个写者/多个读者的无锁通信,改善了操作系统实时性能与安全性,优化了操作系统验证与测试的开销,同时还提供两个内存优化的条件编译配置选项,启用后比传统实现方式降低两次拷贝,大大降低了通信的空间开销。
搜索关键词: 一种 嵌入式 分区 操作系统 区间 通信 实现 方法
【主权项】:
1.一种嵌入式分区操作系统分区间通信的实现方法,其特征在于包括下述步骤:步骤一、配置分区间通信机制用户根据需要,通过条件编译声明的方式配置分区通信,配置项依次是用户空间的通道缓存配置项与采用内存映射机制的优化配置项;若用户将操作系统应用在安全关键领域,就必须严格遵循标准,不能使用用户空间通道缓存与内存映射机制;若用户将操作系统应用在非安全关键领域,则用户空间通道缓存配置项与内存映射优化配置项根据用户需求而定,若用户需求强调可靠性,选择关闭用户空间的通道缓存配置项与采用内存映射机制的优化配置项,启用后通信消息有两次复制;若用户需求可靠性与性能兼顾,则选择开启内存映射优化配置项,启用后通信消息只有从用户空间到系统空间的一次复制;若用户需求强调性能,则选择开启内存映射优化与用户空间通道缓存配置项,启用后通信消息存储在用户空间,不需要复制;其中用户空间的通道缓存配置项只有两个选择:Enable或False,即启用和关闭;其中采用内存映射机制的优化配置项有两个选择:Enable或False,即启用通道内存直接映射机制和关闭,只有在启用用户空间的通道缓存时,才可启用该项优化,且该项优化依赖硬件的内存管理单元,即要求MMU的支持,若硬件不支持MMU,则该配置项只能选择False;用户完成条件配置后,进入步骤二;步骤二、配置用户通道缓存若步骤一中用户配置不使用用户通道缓存,即用户通道缓存配置项为False时,直接跳转到步骤三;否则在本步骤中,用户应在用户分区空间中定义通道缓存,通道缓存CHBUFF由若干个数据块构成一组连续空间,每个数据块包含固定长度的数据;应用程序通过操作系统提供的系统调用函数,调用操作系统提供的端口操作函数从通道缓存中读写数据,通道缓存长度由用户在步骤五所描述的通道的Manifest文件中定义,位于操作系统内核分区空间中;若在用户分区空间定义通道缓存则分区拥有对通道缓存直接读写的权限,分区内的任务若要构造发送消息,无需切换内核态就能操作通道缓存,省去了用户分区空间向操作系统分区空间的通道缓存的一次拷贝和从用户态到内核态以及从内核态返回用户态两次内核态切换;步骤三、配置内存映射机制若步骤一中用户配置不使用内存映射机制优化,即内存映射机制配置项为False时,直接跳转到步骤四,否则在本步骤中,内存映射机制配置项会修改操作系统发送消息的动作,操作系统不再执行从发送分区用户空间的通道缓存到接收分区用户空间的拷贝,而是利用MMU机制将发送分区的通道缓存直接映射到接收分区的用户空间中,由接收分区直接读取;接收分区对内存映射的通道缓存只有读取权限,没有写入的权限,因而没有破坏分区的内存隔离,该方式省去了从发送分区的通道缓存到接收分区的一次拷贝;步骤四、通道静态配置通道为一个由数据块以及通道描述符组成的结构体,由用户的Manifest文件静态配置,一个通道的Manifest文件描述ARINC‑653标准规定的通道标识符、通道的发送分区标识符、通道的接收分区标识符、数据块大小和数据块数量;嵌入式分区操作系统与应用程序编译前读取Manifest中的通道描述信息,依据该描述信息在内核所在的系统分区静态分配对应的通道结构;当用户配置完成,向操作系统请求分区通信服务时,进入步骤五;步骤五、发送分区向操作系统申请端口若步骤一中用户配置使用用户通道缓存,则首先通过系统调用函数向操作系统注册通道缓存空间,传入通道缓存结构体指针,该系统调用函数执行结束后返回一个唯一的通道标识符,否则,用户向操作系统申请使用静态配置的通道;发送分区向操作系统申请分配端口,需要传入的参数包括:发送分区标识符与接收分区标识符以及使用的通道标识符,分区标识符为嵌入式分区操作系统分配给分区的唯一标识符,用户分区可通过系统调用函数向操作系统请求获得该分区的分区标识符;通道标识符为嵌入式分区操作系统分配给通道的唯一标识符,由用户分区通过系统调用函数向操作系统请求获得;嵌入式分区操作系统的端口是通道的操作者,提供通道操作,包括读、写、清空通道、申请端口和释放端口;端口有两种工作方式:采样方式与队列方式;采样方式新消息总会覆盖旧消息,用户端口读到的消息总是为最新的,队列方式新消息会插入到队列末尾,消息以先入先出的顺序依次被用户端口读取;采样方式支持一个写者/多个读者的无锁通信,队列方式支持一个写者/一个读者的无锁通信,用户发送分区向操作系统申请端口时,操作系统首先查找空闲端口队列首端是否有端口,若有,则初始化该端口并返回给发送分区,否则发送分区申请端口失败;若端口初始化成功,进入步骤六,否则结束;步骤六、发送分区通过端口写入消息若步骤一中用户配置使用用户通道缓存,发送分区使用端口直接操作本地的通道缓存就能完成消息的写入,否则发送分区将通过端口的系统调用函数向通道缓存写入消息;端口中定义了一个写指针和读指针,以环形队列的方式读写通道缓存,每当写完一个数据块,端口的写指针向队列末端移动,当端口的写指针向环形队列尾端推进遇到读指针时,即通道缓存已满,写入失败;在写入消息的过程中,若步骤一中用户配置使用用户通道缓存,发送分区直接操作本地的通道缓存就能完成消息的写入,不需要再经过一次从发送分区到操作系统分区通道缓存的拷贝;若步骤一中用户配置不使用用户通道缓存,则发送分区将通过端口的系统调用函数向通道缓存写入消息;端口的采样方式每次写入数据都会从通道缓存的起始位置0开始,逐步向环形队列通道缓存的末端推进,直到写入完成或者写指针回到起始位置,端口的队列方式每次写入数据从写指针位置,逐步向环形队列通道末端推进,直到写入完成或者写指针与读指针相遇;该基于环形队列的通道缓存仅能保证一个端口写的并发安全;在硬件支持的情况下,写入环形队列通道以Compare And Set原子操作或Compare And Swap原子操作,均以CAS操作的方式令发送端写指针向队列尾端移动,保证并发安全性,若CAS操作失败,则返回写入失败,该方式可实现无锁的多个读者/多个写者通信;等待接收分区申请端口建立连接时,进入步骤七;步骤七、接收分区向操作系统申请端口接收分区申请端口过程同步骤五,当且仅当发送分区端口与接收分区端口共用同一块通道缓存时才能建立起连接,否则申请端口失败;当申请端口成功,接收分区从端口读入消息,进入步骤八;步骤八、接收分区从端口读入消息若步骤二中用户配置使用内存映射优化配置项,接收分区使用端口直接操作映射到本地的通道缓存,完成消息的读取,不需要再进行从通道缓存到用户接收分区空间的拷贝,否则接收分区将通过端口的系统调用函数向通道缓存申请读取消息并拷贝到接收分区;用户通过系统调用函数读取消息时,需指定每次读取的数据块数量,从通道读指针处读取数据块,当读完一个数据块时,读指针向队列末端移动,当读指针追上写指针说明通道缓存清空,本次读取失败;端口的采样方式每次读入数据,读指针都会初始化指向通道缓存的起始位置0,逐步向环形队列通道缓存的末端推进,直到读入完成或者读指针与写指针相遇,端口的队列方式每次读入数据从读指针开始,逐步向环形队列通道末端推进,直到读入完成或者读指针与写指针相遇;当用户分区的应用程序不再需要分区通信时,进入步骤九;该基于环形队列的通道缓存保证一个端口以队列方式读或多个端口以采样方式读的并发安全;在硬件支持的情况下,环形队列通道读入CAS操作的方式令接收端读指针向队列尾端移动,保证并发安全性,若CAS操作失败,则返回读取失败,该方式可实现无锁的多个读者/多个写者通信;步骤九、关闭并释放端口当发送分区或者接收分区的应用程序依据设定的程序逻辑要求断开通信时,发送分区或接收分区的任一方通过操作系统系统调用函数关闭并释放端口,随后操作系统将释放的端口重新加入空闲端口队列的末端,留待其他分区使用。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201910023106.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top