[发明专利]一种基于混合多系统核间实时通信的方法和系统有效
申请号: | 201910239745.6 | 申请日: | 2019-03-27 |
公开(公告)号: | CN109976925B | 公开(公告)日: | 2020-04-03 |
发明(设计)人: | 焦进星;弓羽箭;李孝成;陈健;王翾;闫佳伟;王东方;韩辉 | 申请(专利权)人: | 北京翼辉信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京智乾知识产权代理事务所(普通合伙) 11552 | 代理人: | 于宏超 |
地址: | 100095 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 混合 系统 实时 通信 方法 | ||
本发明提供一种基于混合多系统核间实时通信的方法和系统,所述方法包括:当实时操作系统采集到数据时,通过网络应用将所述数据填充到网络应用层数据包中,通过网络协议栈发送所述数据包到底层网络驱动,所述底层网络驱动将所述数据包解析后封装成新的数据包格式,将所述数据包填充到对应的映射的共享内存数据区;填充完成后,设置核间通信的标志位,触发核间中断或者核间通知,通知另一操作系统处理器核接收所述数据包;另一操作系统处理器核检测并检查其标志位是否为另一核产生的核间通知,如果是,则响应所述中断,从所述共享内存数据区中获取数据,提交到自身的协议栈,并提交到用户层进行处理,屏蔽了用户层对底层的直接操作,实现混合多系统或者AMP模式下的数据通信。
技术领域
本发明涉及核间通信领域,具体涉及一种基于混合多系统核间实时通信的方法和系统。
背景技术
本发明涉及到嵌入式领域多核处理器在同时运行不同系统的同时,实时的进行核间数据交换方案。近些年随着处理器技术的发展,多核同构、多核异构处理器的出现使得嵌入式领域的软硬件方案更多元化。在多核处理器中可以利用多核特性让不同核心并行运行不同的操作系统进而解决应用生态、实时性等特异性整合需求,在这种类型的环境中各个操作系统和处理器核间的数据交换的方式和性能就尤为重要。
目前,公知的多系统核间通信有以下两种:
(1)虚拟化技术,即在硬件和操作系统之间增加一个独立的软件层来统一管理各种资源,抽象出虚拟的资源和标准的访问接口,而运行在该软件层的操作系统及其应用作为一个虚拟机通过该软件层提供的机制与其他虚拟机上的系统进行通信。
(2)共享内存+IPC消息队列,即静态配置每帧消息的长度及共享内存的大小,将共享内存划分为用于同步消息的缓冲区和用于异步消息的队列,操作系统之间进行通信,发送消息的操作系统将消息存入共享内存中的对应的部分,并触发核间中断,由接收消息的操作系统响应核间中断,从共享内存拷贝出消息并向发送消息的操作系统发送反馈,完成通信。
但是,目前这两种方法有着自身的缺陷和不足。
首先,虚拟化技术的方法有以下几点不足:
(1)实时性不足,多核多操作系统之间数据交换需要通过中间的虚拟机处理,势必造成实时性降低。
(2)增加系统资源的开销,虚拟机的创建需要额外的硬件资源提供支持。
(3)技术系数实现比较难,虚拟化技术实现上需要虚拟操作系统的实现。
其次,共享内存+IPC消息队列的方法有以下几点不足:
(1)在消息发送和接收时,共享内存中早已规定,消息的长度大小被限制,灵活性能差。
(2)对共享内存的数据分区比较多,为了应对不同的消息如同步消息和异步消息,分别划分了不同数据分区内存。
(3)对于多核多SMP系统并不支持,只能支持多核AMP系统模式。
(4)实现上比较繁琐,不同的传输的消息需要不同的驱动程序和应用程序实现,没有统一的传输框架支持。
发明内容
为了克服上述这种虚拟化技术的多核间多系统通信方法的不足,本发明提供了一种适用于嵌入式领域的新的多核间多系统通信方法的方案,不仅实现了通信之间的实时性,而且提供了虚拟网卡框架的技术来进行通信,使应用层可以直接通过网络编程的方式发送要通信的数据包,用户只需要知道各个系统的IP地址,而不必考虑具体的底层实现;
本发明解决问题所采用的技术方案是:共享内存+核间中断的方式实现一个虚拟网卡设备来实现混合多系统或者AMP模式下的数据通信。
一种基于混合多系统核间实时通信的方法,其特征在于,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京翼辉信息技术有限公司,未经北京翼辉信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910239745.6/2.html,转载请声明来源钻瓜专利网。