一种基于Linux平台的冷火实时处理方法及系统技术方案

技术编号:8190879 阅读:267 留言:0更新日期:2013-01-10 01:47
本发明专利技术公开了一种基于Linux平台的冷火实时处理方法,包括:预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断;出现高优先级的中断条件时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断;根据实时通信层中断的请求内容,运行相应的高优先级的实时任务进程;所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性业务程序。本发明专利技术实施例还提供相应的系统。本发明专利技术技术方案解决了现有的Linux平台实时性不强的问题,所提供的技术方案具有实时性强,可靠性高,相关应用的开发移植难度低等有益效果。

【技术实现步骤摘要】

本专利技术涉及计算机处理
,具体涉及一种基于Linux平台的冷火实时处理方法及系统
技术介绍
Linux系统具有免费、源代码开放、内核稳定可靠、支持众多CPU体系架构、网络通讯功能强大等优点,故在嵌入式系统中得到广泛的应用。但是在嵌入式系统中,Linux也有一个致命的缺陷,即,实时性不强。在电力行业的变配电系统,尤其是在配网监控终端的各项功能当中,数据采样和故障判别功能对于实时性的要求很高,这就导致现有的Linux不能充分满足需要
技术实现思路
本专利技术实施例提供一种基于Linux平台的冷火实时处理方法及系统,以解决现有的Linux平台实时性不强的问题。一种基于Linux平台的冷火实时处理方法,包括 预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断; 出现高优先级的中断条件时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断; 根据实时通信层的请求内容,运行相应的高优先级的实时任务进程;所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性任务进程。一种基于Linux平台的冷火实时处理系统,包括 预设单元,用于预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断; 检测单元,用于检测是否出现高优先级的中断条件,当出现高优先级的中断条件时,向中断单元发出中断请求; 中断单元,用于接收到所述中断请求时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断; 运行单元,根据实时通信层的请求内容,运行相应的高优先级的实时任务进程,当所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性任务进程。本专利技术实施例采用为Linux内核和实时任务分别分配较低和较高的优先级,有需要时,利用实时通信层将Linux内核中运行的低优先级的非实时性任务进程中断,然后运行高优先级的实时任务,并在实时任务运行结束后返回运行低优先级的非实时性任务的技术方案,具有实时性强,可靠性高,相关应用的开发移植难度低等有益效果。附图说明图I是本专利技术实施例提供的基于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平台本文档来自技高网...

【技术保护点】
一种基于Linux平台的冷火实时处理方法,其特征在于,包括:预先将低优先级分配给Linux内核,将高优先级分配给实时任务,并禁止Linux内核屏蔽高优先级中断;出现高优先级的中断条件时,利用实时通信层将Linux内核中正在运行的低优先级的非实时性任务进程中断;根据实时通信层的请求内容,运行相应的高优先级的实时任务进程;所述高优先级的实时任务进程运行结束后,返回运行所述低优先级的非实时性任务进程。

【技术特征摘要】

【专利技术属性】
技术研发人员:童湘彪刘田豹
申请(专利权)人:深圳市金宏威技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1