[发明专利]多核处理器上实时操作系统与非实时操作系统之间的通信方法无效
申请号: | 201410072756.7 | 申请日: | 2014-03-03 |
公开(公告)号: | CN103942178A | 公开(公告)日: | 2014-07-23 |
发明(设计)人: | 李红;杨国青;金曦;刘子阳;吴朝晖 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F15/163 | 分类号: | G06F15/163 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 处理器 实时 操作系统 之间 通信 方法 | ||
技术领域
本发明属于嵌入式多核处理器领域,尤其涉及一种多核处理器上实时操作系统与非实时操作系统之间的通信方法。
背景技术
多核处理器在计算机领域中的应用日益广泛,不仅是在服务器、桌面系统中,在嵌入式领域,采用多核处理器作为系统的硬件平台也是一个发展趋势。多核处理器的硬件环境为多个不同类型的操作系统运行同一平台奠定了硬件基础。在这些嵌入式操作系统中,包括嵌入式实时操作系统和非实时操作系统。嵌入式实时操作系统具有响应及时、可裁剪、可靠性高的特点,且很多嵌入式实时操作系统是静态的,即运行在操作系统中的任务数量、优先级、任务栈大小、所占用资源多少等等都是运行前静态配置好的。而非实时操作系统不具备硬实时性能(即所有任务的运行不允许发生超时),但可以提供丰富的人机交互、多媒体等服务,如Android操作系统。在同一硬件平台上,将嵌入式实时操作系统和非实时操作系统结合起来可以优势互补,提供更多的功能,获得更高的硬件利用率,而二者之间的通信功能是其能够协同工作的重要保障。
目前,实现多个不同类型嵌入式操作系统运行在同一硬件平台的一种方法是采用基于嵌入式的虚拟化技术,即在硬件和操作系统之间增加一个独立的软件层来统一管理各种资源,抽象出虚拟的资源和标准的访问接口。而运行在该软件层的操作系统及其应用作为一个虚拟机通过该软件层提供的机制与其他虚拟机上的系统进行通信。例如IPC(Inter-Process Communication,即进程间通信)机制。然而,虚拟化技术会给系统带来较大的额外开销,进程间的通信机制也往往是虚拟化方法中系统的瓶颈所在,影响系统的运行效率。另外,大部分用于嵌入式领域的虚拟化技术需要对操作系统的源代码进行修改从而实现操作系统内核和设备驱动的虚拟化移植。因此,为了弥补性能上的开销,采用嵌入式虚拟化技术的方法对硬件的性能要求较高,针对系统的开发人员来说,其工作量也较为繁重,系统的开发成本也比较大。
利用多核处理器丰富的硬件资源,采用分区隔离等技术将不同类型的操作系统绑定在不同的物理核心上运行也是一种可行的方法。在这种方法中,操作系统间的通信需要依靠到多核处理器间的核间通信。公开号为101266561的专利文献公布了一种在多核多线程处理器中的核间通信方法。它提供了一种在同一操作系统的统一管理下,在多核处理器中利用处理器核间中断实现了一种对多核处理器不同内核线程之间的通信方法。根据消息的类型在操作系统中建立映射表,使得运行在不同的处理器内核上的进程之间可以根据不同的消息类型保持同步或异步执行操作,从而实现了不同处理器核心进程间的通信。在该专利文献公开的方法中,操作系统通过映射表来同一查询消息的传递方式。但此方法针对于在同一操作系统的条件下,需要在该操作系统中维护统一的映射表、进程状态、中断等等功能结构及信息。这种方式在两个操作系统的环境下无法统一管理。对于在多核的处理器上,不同类型的操作系统绑定在不同处理器核心的前提下,此种方法还有待改进。
发明内容
本发明提供一种方法,预先规定消息采用的通信方式,而且由非实时系统和实时系统上分别的占用进程和任务完成通信,不需要统一的映射表。
一种多核处理器上实时操作系统与非实时操作系统之间的通信方法,包括如下步骤:
步骤1,静态配置每帧消息的长度以及共享内存的大小;
步骤2,将共享内存划分为用于同步消息的缓冲区和用于异步消息的队列,为实时操作系统以及非实时操作系统创建用于消息处理的进程,在多核处理器上注册核间中断;
步骤3,操作系统之间进行通信,发送消息的操作系统将消息存入共享内存中对应的部分,并触发核间中断,由接收消息的操作系统响应核间中断,从共享内存拷贝出消息并向发送消息的操作系统发送反馈,完成通信。
两个操作系统没有统一维护的结构,而大多数实时操作系统是静态的操作系统,采用静态配置的方式配置共享内存使共享内存容易管理,每帧消息采用定长的格式进行静态配置也方便管理,能够较好判断队列是否溢出。
当需要传输的消息为CAN总线的协议数据时,在步骤1中将每帧消息的长度静态配置为10个字节。
每帧消息包括消息头和消息体,其中消息体头为2个字节。由于大部分传输的消息为CAN总线的协议数据,而CAN总线传输的最大长度为8个字节。因此可以将每帧消息长度设为8个字节。
其中,在步骤2中创建用于消息处理的进程处于挂起状态。
在创建时,进程处于挂起状态,有通信任务时才通过中断服务程序激活,可以减少系统开销。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410072756.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钢筋网片样架装置
- 下一篇:一种矩形截面柱竖向钢筋定位装置