公开/公告号CN102866917A
专利类型发明专利
公开/公告日2013-01-09
原文格式PDF
申请/专利权人 深圳市金宏威技术股份有限公司;
申请/专利号CN201210373354.1
申请日2012-09-27
分类号G06F9/48(20060101);
代理机构
代理人
地址 518000 广东省深圳市南山区高新南九道9号威新软件园8号楼7层701-712室
入库时间 2024-02-19 16:29:48
法律状态公告日
法律状态信息
法律状态
2017-02-15
专利权的转移 IPC(主分类):G06F9/48 登记生效日:20170123 变更前: 变更后: 申请日:20120927
专利申请权、专利权的转移
2015-12-23
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F9/48 变更前: 变更后: 申请日:20120927
专利权人的姓名或者名称、地址的变更
2015-09-09
著录事项变更 IPC(主分类):G06F9/48 变更前: 变更后: 申请日:20120927
著录事项变更
2015-08-19
授权
授权
2015-08-05
著录事项变更 IPC(主分类):G06F9/48 变更前: 变更后: 申请日:20120927
著录事项变更
2013-02-20
实质审查的生效 IPC(主分类):G06F9/48 申请日:20120927
实质审查的生效
2013-01-09
公开
公开
查看全部
技术领域
本发明涉及计算机处理技术领域,具体涉及一种基于Linux平台的冷火实时处理方法及系统。
背景技术
Linux系统具有免费、源代码开放、内核稳定可靠、支持众多CPU体系架构、网络通讯功能强大等优点,故在嵌入式系统中得到广泛的应用。但是在嵌入式系统中,Linux也有一个致命的缺陷,即,实时性不强。在电力行业的变配电系统,尤其是在配网监控终端的各项功能当中,数据采样和故障判别功能对于实时性的要求很高,这就导致现有的Linux不能充分满足需要。
发明内容
本发明实施例提供一种基于Linux平台的冷火实时处理方法及系统,以解决现有的Linux平台实时性不强的问题。
一种基于Linux平台的冷火实时处理方法,包括:
预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断;
出现高优先级的中断条件时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断;
根据实时通信层的请求内容,运行相应的高优先级的实时任务进程;
所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性任务进程。
一种基于Linux平台的冷火实时处理系统,包括:
预设单元,用于预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断;
检测单元,用于检测是否出现高优先级的中断条件,当出现高优先级的中断条件时,向中断单元发出中断请求;
中断单元,用于接收到所述中断请求时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断;
运行单元,根据实时通信层的请求内容,运行相应的高优先级的实时任务进程,当所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性任务进程。
本发明实施例采用为Linux内核和实时任务分别分配较低和较高的优先级,有需要时,利用实时通信层将Linux内核中运行的低优先级的非实时性任务进程中断,然后运行高优先级的实时任务,并在实时任务运行结束后返回运行低优先级的非实时性任务的技术方案,具有实时性强,可靠性高,相关应用的开发移植难度低等有益效果。
附图说明
图1是本发明实施例提供的基于Linux平台的冷火实时处理方法的流程图;
图2是本发明实施例提供的基于Linux平台的冷火实时处理系统的结构图;
图3是本发明实施例提供的基于Linux平台的冷火实时处理系统的架构原理框图。
具体实施方式
本发明实施例提供一种基于Linux平台的冷火实时处理方法,以解决现有的Linux平台实时性不强的问题。本发明实施例还提供相应的系统。以下分别进行详细说明。
实施例一、
请参考图1,本发明实施例提供一种基于Linux平台的冷火实时处理方法,包括:
101、预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断。
本发明实施例提供的技术方案基于Linux平台,利用了CPU中断可分优先级控制的特点,采用了“实时中断+内核进程”的应用模式。具体的,将Linux内核及其中运行的进程或程序分配不同的优先级,包括:将低优先级分配给Linux内核以及Linux内核中持续运行的非实时性任务进程,将高优先级分配给实时任务。从而实现在后续根据优先级对非实时性和实时性的进程进行区别控制,并且,为了避免失效,还需要禁止Linux内核屏蔽高优先级中断。具体应用中,可以修改Linux内核中的中断屏蔽函数,使其只能屏蔽Linux内核中的低优先级中断,而不能屏蔽高优先级中断。
102、出现高优先级的中断条件时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断。
Linux系统在上电或复位或完成初始化之后,一般运行在连续不断的低优先级中断的非实时性任务进程或程序中。可以在Linux内核中运行一个检测进程,以检测是否出现高优先级的中断条件。例如,将本发明实施例方法应用于变配电系统的配网监控终端时,数据采样和故障判别功能要求很高的实时性,因此,可认为需要进行数据采样和故障判别时,出现了高优先级的中断条件。
当出现高优先级的中断条件时,本发明实施例利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断。所说的实时通信层包括:实时软中断,实时FIFO(First Input First Output:先进先出队列)和实时消息中的至少一种。
103、根据实时通信层的请求内容,运行相应的高优先级的实时任务进程。
实时通信层的请求内容中已经包含了所说的高优先级的中断条件对应的实时任务,Linux内核可以根据该实时通信层的请求内容,运行相应的高优先级的实时任务进程。此时,非实时性的任务进程已被中断,该高优先级的实时任务进程则在运行中。
104、所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性业务程序。
Linux内核中运行的检测进程,检测到高优先级的实时任务进程运行结束后,则Linux内核返回原先的非实时性业务程序的运行状态。
在某些应用场景中,实时性的任务进程需要非实时任务进程同步执行,此时,可以采用实时软中断服务函数触发需要执行的非实时性任务进程,使非实时性任务进程同步执行。
综上,本发明实施例提供了一种基于Linux平台的冷火实时处理方法,该方法采用为Linux内核和实时任务分别分配较低和较高的优先级,有需要时,利用实时通信层中断将Linux内核中运行的低优先级的非实时性任务进程中断,然后运行高优先级的实时任务,并在实时任务运行结束后返回运行低优先级的非实时性任务的技术方案,具有实时性强,可靠性稿高,相关应用的开发移植难度低等有益效果,可以解决现有的Linux平台实时性不强的问题。
实施例二、
请参考图2和图3,本发明实施例提供一种基于Linux平台的冷火实时处理方法,包括:
预设单元201,用于预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断;
检测单元202,用于检测是否出现高优先级的中断条件,当出现高优先级的中断条件时,向中断单元发出中断请求;
中断单元203,用于当接收到所述中断请求时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断;
运行单元204,根据实时通信层的请求内容,运行相应的高优先级的实时任务进程,当所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性业务程序。
可选的,所述实时通信层包括:
实时软中断,实时FIFO和实时消息中的至少一种。
可选的,所述系统还可以包括:
触发单元,用于当所述高优先级的实时任务需要连带通知执行低优先级的非实时性任务时,采用实时软中断服务函数触发需要执行的非实时性任务进程。
综上,本发明实施例提供了一种基于Linux平台的冷火实时处理系统,该系统为Linux内核和实时任务分别分配较低和较高的优先级,有需要时,利用实时通信层将Linux内核中运行的低优先级的非实时性任务进程中断,然后运行高优先级的实时任务,并在实时任务运行结束后返回运行低优先级的非实时性任务,解决了现有的Linux平台实时性不强的问题,该系统具有实时性强,可靠性稿高,相关应用的开发移植难度低等有益效果。
以上对本发明实施例所提供的基于Linux平台的冷火实时处理方法及系统进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
机译: 基于计算机的用于处理地下矿井中的多次潜水的方法,存在的介质,基于计算机的用于基于矿井中的矿物处理井底数据的方法的方法一个基于计算机的地下信息系统。根据地下矿井中的矿物来处理数据,并基于计算机对地下矿井中的数据进行处理的方法,仓储腿目前的计算机系统是基于计算机的,用于处理基于地下的一种形式的多次潜水。计算机根据地下矿井中的矿物质来处理数据u00e7o地下,以及基于计算机的数据处理方法
机译: 基于步骤的实时设备控制系统,一种用于控制设备系统的装置,以及基于步骤控制设备系统的方法
机译: 基于对象识别的实时图像实时交通流量管理系统及处理方法