CN114911703A - 一种实时运行系统的检测方法及计算设备 - Google Patents

一种实时运行系统的检测方法及计算设备 Download PDF

Info

Publication number
CN114911703A
CN114911703A CN202210540258.5A CN202210540258A CN114911703A CN 114911703 A CN114911703 A CN 114911703A CN 202210540258 A CN202210540258 A CN 202210540258A CN 114911703 A CN114911703 A CN 114911703A
Authority
CN
China
Prior art keywords
real
time
completeness
middleware
detecting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210540258.5A
Other languages
English (en)
Inventor
钟俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Deepin Technology Co ltd
Original Assignee
Wuhan Deepin Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Deepin Technology Co ltd filed Critical Wuhan Deepin Technology Co ltd
Priority to CN202210540258.5A priority Critical patent/CN114911703A/zh
Publication of CN114911703A publication Critical patent/CN114911703A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种实时运行系统的检测方法及计算设备,方法在操作系统中执行,操作系统包括内核、实时运行系统,操作系统之上部署有检测模块,方法包括步骤:对内核的完备性进行检测,以确定内核是否切换至实时内核模式;对实时中间件服务程序的完备性进行检测,其中,当检测到实时中间件服务程序的运行状态变更时,将运行状态变更通知主动发送至检测模块;对实时中间件运行环境模块的完备性进行检测,其中,当检测到实时中间件运行环境模块对应的软件包更新时,将软件包更新通知主动发送至检测模块。根据本发明的技术方案,可以提高对实时运行系统进行完备性检测的效率,确保基于实时运行系统运行的实时运行程序能够稳定运行。

Description

一种实时运行系统的检测方法及计算设备
技术领域
本发明涉及操作系统技术领域,尤其涉及一种实时运行系统的检测方法及计算设备。
背景技术
云计算技术通过对资源进行分隔管理,提高了硬件资源的利用率,大大降低了IT信息系统的使用成本,同时也提高了系统的可用性。目前,主流的大型互联网服务都是基于云计算提供的基础设施。
随着5G技术的发展,互联网向更深更广的领域发展,网络终端与网络中心的拓扑距离不断拉长,影响网络应用响应的及时性。网络终端是数字世界与物理世界的分界线,网络终端设备通常具有实时性方面的要求,需要在有限的时间内完成计算任务并反馈计算结果。
现有技术中,因考虑成本等因素,网络终端设备的计算能力普遍较弱,需要利用云中心的计算资源完成核心部分计算任务,再由网络终端设备完成剩余部分的计算任务。但是,由于云中心与网络终端之间的距离较远,导致网络传输过程影响交互的实时性。因此,需要在云中心与网络终端之间,也即在云的边缘,引入一种新的计算方式,以解决计算资源与物理距离之间的矛盾。
其中,多时间特性混合运行系统,通过从内核、中间件、API多个层次对通用操作系统进行改进、构建了一种适合应用在边缘计算应用场景中的混合运行系统,该混合运行系统既可以运行计算型任务,也可以运行实时性任务。从技术架构上来说,多时间特性混合运行系统是在通用操作系统基础上的一个较大的扩展,其中涉及从底层内核到上层运行时库的多个软件模块,这些模块相互配合一致才能形成一个完备的实时运行系统。但,由于涉及到的模块多且复杂,而操作系统中的多种操作可能导致一个或多个模块意外关闭、暂停或者更新,从而破坏了实时运行系统的完备性,进而导致实时应用程序运行过程中出现错误。因此,为了保证实时运行系统的完备性,需要一种检测实时运行系统完备性的方案。
现有的技术中,针对实时运行系统的完备性检测,一般采用被动检测方式,即,由主控发起检测请求,由业务模块进行响应并执行检测过程。这种被动检测方式存在检测延迟的问题。对于具备主动上报能力的模块,可以采用主动上报的检测方式,以避免检测延迟的问题,提高检测效率,进而保证实时应用程序的稳定运行。
为此,需要一种基于主动上报的实时环境完备性检测方法,以提高检测效率,解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种实时运行系统的检测方法及计算设备,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种实时运行系统的检测方法,在操作系统中执行,所述操作系统包括内核、实时运行系统,所述操作系统之上部署有检测模块,所述方法包括步骤:对内核的完备性进行检测,以确定内核是否切换至实时内核模式;对实时中间件服务程序的完备性进行检测,其中,当检测到实时中间件服务程序的运行状态变更时,将运行状态变更通知主动发送至检测模块;对实时中间件运行环境模块的完备性进行检测,其中,当检测到实时中间件运行环境模块对应的软件包更新时,将软件包更新通知主动发送至检测模块。
可选地,在根据本发明的实时运行系统的检测方法中,当检测到实时中间件服务程序的运行状态变更时,将运行状态变更通知主动发送至检测模块的步骤,包括:当检测到实时中间件服务程序的运行状态变更时,判断所述运行状态变更是否导致所述实时运行系统的完备性状态发生变更;如果所述实时运行系统的完备性状态发生变更,则将完备性状态通知主动发送至检测模块;当检测到实时中间件运行环境模块对应的软件包更新时,将软件包更新通知主动发送至检测模块的步骤,包括:当检测到实时中间件运行环境模块对应的软件包更新时,判断所述软件包更新是否导致所述实时运行系统的完备性状态发生变更;如果所述实时运行系统的完备性状态发生变更,则将完备性状态通知主动发送至检测模块。
可选地,在根据本发明的实时运行系统的检测方法中,将运行状态变更通知主动发送至检测模块的步骤包括:收集实时中间件服务程序的运行状态变更信息,将所述运行状态变更信息发送至检测模块;将软件包更新通知主动发送至检测模块的步骤包括:收集实时中间件运行环境模块对应的软件包更新信息,将所述软件包更新信息发送至检测模块。
可选地,在根据本发明的实时运行系统的检测方法中,对内核的完备性进行检测包括:响应于检测模块发送的第一检测请求,对内核的完备性进行检测;对实时中间件服务程序的完备性进行检测包括:响应于检测模块发送的第二检测请求,对实时中间件服务程序的完备性进行检测;对实时中间件运行环境模块的完备性进行检测包括:响应于检测模块发送的第三检测请求,对实时中间件运行环境模块的完备性进行检测。
可选地,在根据本发明的实时运行系统的检测方法中,所述方法还包括步骤:在对内核的完备性进行检测之后,生成内核检测结果,将所述内核检测结果发送至检测模块;在对实时中间件服务程序的完备性进行检测之后,生成实时中间件服务程序检测结果,将所述实时中间件服务程序检测结果发送至检测模块;在对实时中间件运行环境模块的完备性进行检测之后,生成实时中间件运行环境模块检测结果,将所述实时中间件运行环境模块检测结果发送至检测模块。
可选地,在根据本发明的实时运行系统的检测方法中,所述操作系统还包括通用运行系统;所述内核是基于实时内核、通用内核融合形成的融合内核,适于在实时内核模式与通用内核模式之间进行切换。
可选地,在根据本发明的实时运行系统的检测方法中,对实时中间件服务程序的完备性进行检测包括:检查实时中间件服务程序提供的CPU管理服务、内存管理服务是否完成切换。
可选地,在根据本发明的实时运行系统的检测方法中,对实时中间件运行环境模块的完备性进行检测包括:检查与实时中间件相对应的实时依赖库是否替换与通用中间件相对应的通用依赖库。
可选地,在根据本发明的实时运行系统的检测方法中,所述实时中间件服务程序包括:快速中断服务程序,适于在接收到中断信号时,打断正在执行的实时性任务并进行中断处理;实时调度服务程序,适于利用实时调度算法从实时性任务队列中获取紧急程度最高的实时性任务,以便立即执行所述紧急程度最高的实时性任务;实时运行组件,适于为所述紧急程度最高的实时性任务提供内存管理服务。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的实时运行系统的检测方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的实时运行系统的检测方法。
根据本发明的技术方案,提供了一种实时运行系统的检测方法,可以在启动实时运行系统后对实时运行系统的完备性进行检测,其中,通过检测内核是否切换至实时运行系统对应的实时内核模式,并对实时中间件服务程序的运行状态、实时中间件运行环境模块对应的软件包进行检测,其中,当检测到实时中间件服务程序的运行状态变更时和/或实时中间件运行环境模块对应的软件包更新时,主动上报至上层的检测模块。这样,本发明在对实时运行系统进行完备性检测的过程中,基于主动上报的方式来向上层的检测模块上报检测出的运行状态变更、软件包更新事件,这样可以提高对实时运行系统进行完备性检测的效率,避免检测延迟的问题,从而确保基于实时运行系统运行的实时运行程序能够稳定、正确地运行。
进一步地,根据本发明的实时运行系统的检测方法,在检测到实时中间件服务程序的运行状态变更时和/或实时中间件运行环境模块对应的软件包更新时,还判断是否会导致实时运行系统的完备性状态发生变更,只有在确定实时运行系统的完备性状态发生变更时,才会向检测模块主动上报完备性状态变更通知。这样,能确保向检测模块精准上报实时运行系统的完备性状态变更通知,避免不必要的上报事件。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100中部署有混合运行系统120的示意图;
图2示出了根据本发明一个实施例的计算设备100中部署有检测模块131的示意图;
图3示出了根据本发明一个实施例的实时运行系统的检测方法300的流程图;
图4示出了根据本发明一个实施例的步骤S320的流程图;
图5示出了根据本发明一个实施例的步骤S330的流程图;
图6示出了根据本发明一个实施例的计算设备100的硬件结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的计算设备100中部署有混合运行系统120的示意图。根据一个应用实例,计算设备100例如可以是应用在边缘计算领域的边缘计算服务器。
如图1所示,计算设备100可以包括硬件层110、混合运行系统120、应用层130。其中,在一些实施例中,混合运行系统120可以为操作系统的一部分,即计算设备100的操作系统中包括混合运行系统120。在又一些实施例中,计算设备100的操作系统可以实现为本发明的混合运行系统120。
具体地,应用层130可以包括一个或多个应用、运行时库、混合运行系统提供的接口,这里,本发明对应用的种类和数量不做限制。开发人员也可以根据实际业务需求来开发应用。每个应用可以调用混合运行系统提供的接口来请求业务运行系统执行任务。在一个实施例中,应用例如包括用于混合环境监控的应用、用于混合业务调试的应用、用于混合业务分析的应用等。
硬件层110可以为混合运行系统及应用的运行提供硬件环境。硬件层110可以包括处理器(CPU)、内部存储器,还可以包括网卡、硬盘、键盘等外部硬件设备。
混合运行系统120可以为一个或多个应用请求执行的任务(包括实时性任务和计算型任务)提供软件运行环境。
根据本发明的混合运行系统120,可以同时运行实时性任务和计算型任务。需要说明的是,实时性任务即是需要在规定时间内及时做出响应的任务,例如对交通灯信号的控制任务。计算型任务是指需要对大量数据进行处理的对计算能力要求较高的任务,例如音视频处理、数据库应用等。
实时性任务与计算型任务在中断处理、调度处理、内存管理等方面的需求存在差异。具体地,在中断处理方面,实时性任务需要通过中断处理来尽快执行紧急程度最高的任务;而对于计算型任务,则不希望当前执行的任务频繁被中断。在调度处理方面,实时性任务需要在事件到达后尽快被调度;而对于计算型业务,则不希望当前执行的任务频繁被调度出去。在内存管理方法,实时性任务需要全部存放在内存中,而不是被虚拟内存换出;计算型任务由于有大量数据需要处理,因此需要充分利用虚拟内存才能实现大规模的数据计算。
鉴于实时性任务与计算型任务在中断处理、调度处理、内存管理等方面的需求,本发明提供了一种能够同时调度执行实时性任务和计算型任务的混合运行系统120。
根据本发明的实施例,如图1所示,混合运行系统120包括抢占式内核121、布置在抢占式内核121之上的中断预处理模块122、布置在中断预处理模块122之上的运行时系统。其中,运行时系统包括实时运行系统123和通用运行系统124(非实时运行系统),实时运行系统123可以为实时性任务提供实时运行环境,通用运行系统124可以为计算型任务提供非实时运行环境。
需要说明的是,本发明中的抢占式内核121采用完全抢占式内核,以确保基础的实时响应能力和对资源的融合调度能力。每个运行系统采用完整的独立的核心软件栈,使得两个运行系统之间相互隔离,以保证不同时间特性的实时性任务和计算型任务在运行时的独立性。
在一个实施例中,如图1所示,混合运行系统120还包括位于实时运行系统123和通用运行系统124之上的应用域管理模块126,应用域管理模块126可以为上层应用层的一个或多个应用提供统一的域控制接口,以便应用通过调用域控制接口来请求执行任务。应用域管理模块126可以接收一个或多个应用发送的任务执行请求,并根据任务的类型将任务分配给相应的域来执行。即,当任务为实时性任务时,将实时性任务分配给实时运行系统123来执行,实时运行系统123可以为实时性任务的运行提供实时运行环境。当任务为计算型任务时,将计算型任务分配给通用运行系统124来执行,通用运行系统124可以为计算型任务的运行提供通用运行环境。
根据本发明的实施例,实时运行系统123中的各个模块用于实现优先处理紧急程度最高的实时性任务,通用运行系统124中的各个模块用于实现优先处理最高优先级的计算型任务。
具体地,抢占式内核121可以接收到硬件产生的中断信号,即硬件中断信号。硬件中断信号是与混合运行系统120通信相连的硬件设备(例如网卡、硬盘、键盘等)自动产生的。随后,抢占式内核121可以将来自于硬件的中断信号发送至中断预处理模块122,以便通过中断预处理模块122将中断信号分配给对应的运行系统进行处理。
中断预处理模块122可以响应于硬件产生的中断信号,根据中断信号确定中断类型,根据中断类型将中断信号分配给对应的运行系统(实时运行系统123或通用运行系统124)来进行处理。这里,中断信号中包括中断来源信息,中断预处理模块122可以从中断信号中获取中断来源信息,并根据中断来源信息确定中断类型。中断类型也即是确定需要立即执行的是紧急程度最高的实时性任务、还是最高优先级的计算型任务。
其中,实时运行系统123在接收到中断信号时,首先立即打断正在执行的实时性任务并进行中断处理,随后,可以利用实时调度算法从处理器(CPU)的实时性任务队列中获取紧急程度最高的实时性任务,以便处理器(CPU)立即执行该紧急程度最高的实时性任务。此时,相当于紧急程度最高的实时性任务抢占了处理器的使用权。可以理解,实时运行系统123在接收到中断信号时,首先对正在执行的任务进行中断处理,然后再进行调度处理。
通用运行系统124在接收到中断信号时,首先从处理器的计算型任务队列中获取最高优先级计算型任务,例如可以基于公平调度算法从计算型任务队列中获取最高优先级计算型任务。进而,可以打断正在执行的低优先级计算型任务并进行中断处理,以便处理器立即执行最高优先级计算型任务。
进一步而言,通用运行系统124在从计算型任务队列中选择最高优先级的计算型任务之后,需要判断选择的最高优先级的计算型任务是否是正在执行的计算型任务。如果最高优先级的计算型任务不是正在执行的计算型任务,说明正在执行的计算型任务当前属于低优先级计算型任务,则打断正在执行的低优先级计算型任务(该低优先级计算型任务也即先前的最高优先级计算型任务)并进行中断处理,以便处理器立即转而执行最高优先级计算型任务。此时,相当于最高优先级计算型任务抢占了处理器的使用权。
另外,如果选择的最高优先级计算型任务即是正在执行的计算型任务,便无需打断正在执行计算型任务、无需进行中断处理,这样也就避免了计算型任务频繁被中断的情况。可以理解,通用运行系统124在接收到中断信号时首先进行调度处理,然后确定是否需要进行中断处理。
根据本发明的一个实施例,实时运行系统123包括快速中断服务程序1231、实时调度服务程序1232、实时运行组件1233。在紧急程度最高的实时性任务运行期间,实时运行组件1233可以为紧急程度最高的实时性任务的运行提供内存管理服务。
快速中断服务程序1231运行在处理器之上,快速中断服务程序1231可以在接收到中断信号时,打断正在执行的实时性任务并进行中断处理。
进一步地,快速中断服务程序1231可以与中断处理程序进行绑定。快速中断服务程序1231在接收到中断信号时,可以将中断信号发送至处理器,处理器通过从快速中断向量表中查找对应的中断处理程序(即,与快速中断服务程序1231绑定的中断处理程序),并将中断信号发送至中断处理程序,以便通过中断处理程序打断正在执行的实时性任务并进行中断处理。
需要说明的是,中断处理是指当出现需要优先执行的新任务时,处理器暂时中止对当前任务的执行转而执行新任务(例如上述实施例中的紧急程度最高的实时性任务或者最高优先级计算型任务)的处理过程。
实时调度服务程序1232可以利用实时调度算法从实时性任务队列中获取紧急程度最高的紧急程度最高的实时性任务,以便处理器立即执行该紧急程度最高的实时性任务。
在一个实施例中,实时调度算法可以实现为最低松弛度优先调度算法,即,可以利用最低松弛度优先调度算法从实时性任务队列中获取紧急程度最高的实时性任务。需要说明的是,最低松弛度优先调度算法是根据任务紧急(或松弛)的程度,来确定任务的优先级。对于本发明的实施例而言,实时性任务的紧急程度越高,为实时性任务所赋予的优先级越高,以便优先执行紧急程度最高的实时性任务。在实时性任务队列中,每个实时性任务按照松弛度从低到高(也即,紧急程度从高到低)进行排序,其中,松弛度最低(紧急程度最高)的实时性任务排在实时性任务队列的最前面,被优先调度执行。松弛度的计算方法如下:实时性任务的松弛度=必须完成的时间-其本身的运行时间-当前时间。根据该算法,当一实时性任务的最低松弛度减为0时,实时调度服务程序1232必须立即调度该实时性任务以使该任务立即抢占处理器,保证该实时性任务按照截止时间的要求执行完成。
根据本发明的一个实施例,通用运行系统124包括通用调度服务程序1242、线程化中断服务程序1241、通用运行组件1243。在最高优先级计算型任务运行期间,通用运行组件1243可以为最高优先级计算型任务提供内存管理服务。
通用调度服务程序1242可以在接收到中断信号时,可以利用公平调度算法从处理器的计算型任务队列中选择并获取最高优先级计算型任务,以便处理器立即执行该最高优先级计算型任务。在一种实现方式中,公平调度算法可以实现为CFS调度算法。通用调度服务程序1242可以利用CFS调度算法从处理器的任务队列中选择最高优先级计算型任务。具体地,根据CFS调度算法,通用调度服务程序1242总是会从计算型任务队列中选择运行最慢的计算型任务来作为最高优先级计算型任务,以便运行越慢的计算型任务可以得到更多的运行机会。
需要说明的是,如果最高优先级计算型任务即是正在执行的计算型任务,则继续执行该正在执行的计算型任务,不需要对正在执行的计算型任务进行中断处理。
如果最高优先级计算型任务不是正在执行的计算型任务,换言之,正在执行的计算型任务为低优先级计算型任务,则,进一步通过线程化中断服务程序1241打断正在执行的低优先级计算型任务并进行中断处理。
在一个实施例中,线程化中断服务程序1241运行在处理器之上。线程化中断服务程序1241具体可以根据以下方法来打断正在执行的低优先级计算型任务并进行中断处理:可以将中断信号发送至处理器,处理器通过将中断信号转换为相应的中断请求(IRQ),并从中断请求注册表中查找与该中断请求相关联的一个或多个中断处理程序。并且,处理器依次唤醒与一个或多个中断处理程序相对应的一个或多个处理线程,以便经由一个或多个处理线程来打断正在执行的低优先级计算型任务并进行中断处理。
具体而言,与中断请求相关联的中断处理程序可以包括多个。处理器在从中断请求注册表中查找与该中断请求相关联的多个中断处理程序的过程中,每查找到一个相关联的中断处理程序,便会唤醒与中断处理程序相对应的处理线程,以便经由处理线程打断正在执行的低优先级计算型任务并进行中断处理,在等待该处理线程执行完成后,接着从中断请求注册表中查找下一个相关联的中断处理程序,唤醒与下一个中断处理程序相对应的下一个处理线程,并等待下一个处理线程执行完成。以此类推,直至与中断请求相关联的所有中断处理程序对应的处理线程均执行完成,从而完成中断处理。
另外,在一个实施例中,如图1所示,实时运行系统123与通用运行系统124之间还可以部署域资源管理服务程序125,域资源管理服务程序125用于分隔实时运行系统123和通用运行系统124的资源,确保实时运行系统123与通用运行系统124之间的资源和特性的隔离性。
在根据本发明的实施例中,计算设备100被配置为执行根据本发明的实时运行系统的检测方法300。计算设备100中包含用于执行本发明的实时运行系统的检测方法300的多条程序指令,以便计算设备100通过执行本发明的实时运行系统的检测方法300来对实时运行系统的完备性进行检测并进行主动上报。
根据本发明的一个实施例,计算设备100的应用层130还部署有检测模块131,以便基于检测模块131来控制对实时运行系统进行完备性检测。
图2示出了根据本发明一个实施例的计算设备100中部署有检测模块131的示意图。
如图2所示,计算设备100中包括硬件层110、操作系统、布置在操作系统之上的应用层130。其中,应用层130包括检测模块131、运行时库、操作系统提供的接口。硬件层110包括处理器、内部存储器。
在根据本发明的实施例中,计算设备100的操作系统可以实现为图1中所示的混合运行系统120。具体地,操作系统中包括内核、实时运行系统123、通用运行系统124(非实时运行系统)。操作系统中的内核(抢占式内核)可以实现为基于实时内核、通用内核(非实时内核)融合形成的融合内核,融合内核可以在实时内核模式与通用内核模式之间进行切换。应当理解,本发明中的融合内核是抢占式内核的一种具体实现。
在本发明的计算设备100中,操作系统与应用之间连接有中间件,以便操作系统与应用进行通信。其中,实时运行系统对应的是实时中间件,通用运行系统对应的是通用中间件。
在本发明的一个实施例中,中间件包括接口、运行时库、应用域管理模块126、域资源管理服务程序125、实时运行组件1233、实时调度服务程序1232、快速中断服务程序1231、通用运行组件1243、通用调度服务程序1242、线程化中断服务程序1241。
在本发明的一个实施例中,针对实时运行系统、通用运行系统对中间件进行了区分。具体地,与实时运行系统相对应的实时中间件包括接口、运行时库、应用域管理模块126、域资源管理服务程序125、实时运行组件1233、实时调度服务程序1232、快速中断服务程序1231。与实时运行系统相对应的实时中间件服务程序包括应用域管理模块126、域资源管理服务程序125、实时运行组件1233、实时调度服务程序1232、快速中断服务程序1231。也就是说,实时中间件包括接口、运行时库以及实时中间件服务程序。
与通用运行系统相对应的通用中间件包括接口、运行时库、应用域管理模块126、域资源管理服务程序125、通用运行组件1243、通用调度服务程序1242、线程化中断服务程序1241。与通用运行系统相对应的通用中间件服务程序包括应用域管理模块126、域资源管理服务程序125、通用运行组件1243、通用调度服务程序1242、线程化中断服务程序1241。也就是说,通用中间件包括接口、运行时库以及通用中间件服务程序。
可以理解,实时中间件与通用中间件的共用中间件包括接口、运行时库、应用域管理模块126、域资源管理服务程序125。
应当指出,各个中间件和中间件服务程序的具体执行逻辑参见前文在计算设备100中的描述,这里不再赘述。
图3示出了根据本发明一个实施例的实时运行系统的检测方法300的流程图。方法300适于在计算设备100的操作系统中执行。
需要说明的是,计算设备100的操作系统在运行过程中,可以在通用运行系统与实时运行系统之间进行即时切换,例如在一种应用场景中,可以在通用运行系统的运行过程中启动实时运行系统,即从通用运行系统切换至实时运行系统,以便操作系统从通用运行系统即时切换到实时运行系统的运行模式。另外,在另一种应用场景中,也可以在操作系统的启动阶段,直接启动实时运行系统。在启动实时运行系统后,实时运行系统上可以运行一个或多个实时应用程序。实时应用程序即是对运行环境具有实时性要求的应用程序。
在启动实时运行系统后,操作系统通过执行本发明的实时运行系统的检测方法300,来对实时运行系统的完备性进行检测。
应当指出,实时运行系统对应的内核模式是实时内核模式,且实时运行系统对应的中间件服务程序是实时中间件服务程序,实时运行系统对应的中间件运行环境模块是实时中间件运行环境模块。相应地,通用运行系统对应的内核模式是通用内核模式,且通用运行系统对应的中间件服务程序是通用中间件服务程序,通用运行系统对应的中间件运行环境模块是通用中间件运行环境模块。
如图3所示,方法300包括步骤S310~S330。
在步骤S310中,在启动实时运行系统后,对内核的完备性进行检测,以检查内核是否成功切换至实时内核模式。
在一个实施例中,检测模块131首先会向操作系统的内核发送第一检测请,例如可以调用操作系统提供的接口来发送第一检测请求,以请求对操作系统的内核进行完备性检测。内核响应于检测模块发送的第一检测请求,对内核的完备性进行检测。
需要说明的是,在启动实时运行系统后,需要确保内核成功切换至实时运行系统对应的实时内核模式,确保中间件服务程序切换至实时中间件服务程序,以及确保中间件运行环境模块切换至实时中间件运行环境模块。在一种实现方式中,操作系统的内核(融合内核)具有调试开关,通过控制调试开关的开启或关闭可以实现将内核在通用内核模式与实时内核模式之间进行切换。
基于此,在对内核的完备性进行检测的过程中,包括检查内核是否成功切换至实时内核模式。具体地,检查内核是否从通用内核模式切换至实时内核模式。在一种实现方式中,通过检查内核的调试开关是否处于关闭状态,如果调试开关处于关闭状态,则可以确定内核切换至实时内核模式,即当前处于实时内核模式,在该情况下,确定内核满足完备性,对内核的完备性检测通过。如果调试开关处于打开开启状态,则确定内核未切换至实时内核模式,当前处于通用内核模式,在该情况下,确定内核不满足完备性。
此外,在对内核的完备性进行检测之后,可以生成内核检测结果,并将内核检测结果发送至检测模块131。
随后,在步骤S320中,对实时中间件服务程序的完备性进行检测,其中,当检测到实时中间件服务程序的运行状态变更时,将运行状态变更通知主动发送至位于操作系统上层的检测模块131。
在一个实施例中,检测模块131通过向实时中间件服务程序发送第二检测请求,例如可以调用实时中间件服务程序提供的接口来发送第二检测请求,以请求对实时中间件服务程序进行完备性检测。实时中间件服务程序响应于检测模块发送的第二检测请求,对实时中间件服务程序的完备性进行检测。
在对实时中间件服务程序的完备性进行检测的过程中,包括检查实时中间件服务程序是否完成切换。例如,检查中间件服务程序是否从通用中间件服务程序成功切换至实时中间件服务程序。
如前文所述,在一个实施例中,实时中间件服务程序包括快速中断服务程序、实时调度服务程序、实时运行组件。其中,快速中断服务程序在接收到中断信号时,打断正在执行的实时性任务并进行中断处理。实时调度服务程序可以利用实时调度算法从实时性任务队列中获取紧急程度最高的实时性任务,以便CPU立即执行紧急程度最高的实时性任务。实时运行组件可以为紧急程度最高的实时性任务提供内存管理服务。在启动实时运行系统的过程中,需要启动包括快速中断服务程序、实时调度服务程序、实时运行组件在内的各个实时中间件服务程序,基于这些实时中间件服务程序,可以向基于实时运行系统运行的实时应用程序提供相应的CPU管理服务、内存管理服务。
在对实时中间件服务程序的完备性进行检测的过程中,具体可以检查快速中断服务程序是否完成切换、实时调度服务程序是否完成切换、实时运行组件是否完成切换。换言之,可以检查实时中间件服务程序提供的CPU管理服务、内存管理服务是否完成切换并处于就绪状态。
应当指出,在对实时中间件服务程序的完备性进行检测的过程中,如果实时中间件服务程序未完成切换、或者实时中间件服务程序的内存池处于耗尽状态,便会检测到实时中间件服务程序的运行状态变更,随后将运行状态变更通知主动发送至位于操作系统上层的检测模块131。
图4示出了根据本发明一个实施例的步骤S320的流程图。
如图4所示,在一个实施例中,当检测到实时中间件服务程序的运行状态变更的事件发生时,通过收集实时中间件服务程序的运行状态变更信息,将收集的运行状态变更信息主动发送至检测模块131,以便及时通知检测模块131实时中间件服务程序的运行状态发生变更。进一步地,可以基于本次收集的实时中间件服务程序的运行状态变更信息、来对本地存储的实时中间件服务程序的运行状态信息进行更新,以便更新实时中间件服务程序的当前运行状态。
在一个实施例中,当检测到实时中间件服务程序的运行状态变更、收集实时中间件服务程序的运行状态变更信息后,实时中间件服务程序还检查实时运行系统的完备性状态是否发生变更,具体地,通过获取本地存储的实时运行系统的当前完备性状态信息,确定实时运行系统的当前完备性状态,进而判断实时中间件服务程序的运行状态变更是否会导致实时运行系统的完备性状态发生变更,如果确定实时运行系统的完备性状态发生变更(即实时中间件服务程序的运行状态变更后的实时运行系统的完备性状态与当前完备性状态不一致),则确定需要向检测模块上报,并将实时运行系统的完备性状态变更通知主动上报至检测模块。并且,可以对本地存储的实时运行系统的完备性状态信息进行更新。另外,如果确定实时运行系统的完备性状态没有发生变更,则不用向检测模块主动上报实时运行系统的完备性状态变更通知。这样,能实现在确定实时中间件服务程序的运行状态变更而导致实时运行系统的整体完备性状态发生变更时,才会将实时中间件服务程序的运行状态变更通知主动上报给检测模块131,这样能避免不必要的上报事件。
此外,在一个实施例中,在对实时中间件服务程序的完备性进行检测完成之后,可以生成相应的实时中间件服务程序检测结果,并将实时中间件服务程序检测结果发送至检测模块131。
最后,在步骤S330中,对实时中间件运行环境模块的完备性进行检测,其中,当检测到实时中间件运行环境模块对应的软件包更新时,将软件包更新通知主动发送至位于操作系统上层的检测模块131。
在一个实施例中,检测模块131会向实时中间件运行环境模块发送第三检测请求,以请求对实时中间件运行环境模块进行完备性检测。实时中间件运行环境模块响应于检测模块发送的第三检测请求,对实时中间件运行环境模块的完备性进行检测。
在对实时中间件运行环境模块的完备性进行检测的过程中,包括检查实时中间件运行环境模块是否完成切换。
在一个实施例中,中间件运行环境模块包括底层的依赖库(共享库),例如,通用中间件运行环境模块包括与通用中间件相对应的通用依赖库(不具有实时性),实时中间件运行环境模块包括与实时中间件相对应的实时依赖库(具有实时性)。实时运行系统对应的依赖库是具有实时性的实时依赖库,通用运行系统对应的依赖库是通用依赖库,通用依赖库不具有实时性。
在启动实时运行系统、将通用运行系统切换至实时运行系统时,为了满足实时性要求,需要相应将通用中间件运行环境模块切换至实时中间件运行环境模块,具体包括:启动与实时中间件相对应的实时依赖库,以替换与通用中间件相对应的通用依赖库。其中,依赖库例如包括用于内存管理的依赖库、用于进程间通信的依赖库、用于网络通信的依赖库等。在启动实时运行系统时通过启动实时依赖库,以便满足基于实时运行系统运行的任务在运行时对实时性的要求,使其能够实时访问内存、实时进行进程间通信等。
基于此,在对实时中间件运行环境模块的完备性进行检测的过程中,具体可以包括:检查与实时中间件相对应的实时依赖库是否已替换与通用中间件相对应的通用依赖库。
应当指出,在对实时中间件运行环境模块的完备性进行检测的过程中,如果实时中间运行环境模块未完成切换(例如实时依赖库未完成替换),便会检测到实时中间件运行环境模块对应的软件包更新,随后将软件包更新通知主动发送至位于操作系统上层的检测模块131。
图5示出了根据本发明一个实施例的步骤S330的流程图。
如图5所示,在一个实施例中,当检测到实时中间件运行环境模块对应的软件包更新时,通过收集实时中间件运行环境模块对应的软件包更新信息,将收集的软件包更新信息主动发送至检测模块131,以便及时通知检测模块131实时中间件运行环境模块对应的软件包更新。
进一步地,可以基于本次收集的实时中间件运行环境模块对应的软件包更新信息、来对本地存储的实时中间件运行环境模块对应的软件包信息进行更新,以便更新实时中间件运行环境模块对应的软件包信息。
在一个实施例中,当检测到实时中间件运行环境模块对应的软件包更新、收集实时中间件运行环境模块对应的软件包更新信息后,实时中间件运行环境模块还检查实时运行系统的完备性状态是否发生变更,具体地,通过获取本地存储的实时运行系统的当前完备性状态信息,确定实时运行系统的当前完备性状态,进而判断实时中间件运行环境模块对应的软件包更新是否会导致实时运行系统的完备性状态发生变更,如果确定实时运行系统的完备性状态发生变更(即实时中间件运行环境模块对应的软件包更新后的实时运行系统的完备性状态与当前完备性状态不一致),则确定需要向检测模块上报,并将实时运行系统的完备性状态变更通知主动发送至检测模块。并且,可以对本地存储的实时运行系统的完备性状态信息进行更新。另外,如果确定实时运行系统的完备性状态没有发生变更,则不用向检测模块主动上报实时运行系统的完备性状态变更通知。这样,能实现在确定实时中间件运行环境模块对应的软件包更新而导致实时运行系统的整体完备性状态发生变更时,才会将实时中间件运行环境模块对应的软件包更新通知主动上报给检测模块131,这样能避免不必要的上报事件。
此外,在一个实施例中,在对实时中间件运行环境模块的完备性进行检测之后,可以生成相应的实时中间件运行环境模块检测结果,并将实时中间件运行环境模块检测结果发送至检测模块131。
在一个实施例中,检测模块131可以汇总内核检测结果、实时中间件服务程序检测结果以及实时中间件运行环境模块检测结果,判断内核检测结果、实时中间件服务程序检测结果、实时中间件运行环境模块检测结果中是否存在至少一个完备性检测失败的检测结果。
如果存在至少一个完备性检测失败的检测结果,则确定实时运行系统未通过完备性检测,即,确定对实时运行系统整体的完备性检测失败。也就是说,如果存在任意一个或多个完备性检测失败的检测结果,则确定实时运行系统未通过完备性检测,对实时运行系统整体的完备性检测失败。可以理解,当实时运行系统整体的完备性检测失败时,可以基于检测模块汇总的检测结果来分析实时运行系统发生变化的原因,以便对实时运行系统进行维护。
如果内核检测结果、实时中间件服务程序检测结果以及实时中间件运行环境模块检测结果均成功,则确定实时运行系统通过完备性检测,即,确定对实时运行系统整体的完备性检测成功。
根据本发明的实时运行系统的检测方法300,可以在启动实时运行系统后对实时运行系统的完备性进行检测,其中,通过检测内核是否切换至实时运行系统对应的实时内核模式,并对实时中间件服务程序的运行状态、实时中间件运行环境模块对应的软件包进行检测,其中,当检测到实时中间件服务程序的运行状态变更时和/或实时中间件运行环境模块对应的软件包更新时,主动上报至上层的检测模块。这样,本发明在对实时运行系统进行完备性检测的过程中,基于主动上报的方式来向上层的检测模块上报检测出的运行状态变更、软件包更新事件,这样可以提高对实时运行系统进行完备性检测的效率,避免检测延迟的问题,从而确保基于实时运行系统运行的实时运行程序能够稳定、正确地运行。
进一步地,根据本发明的实时运行系统的检测方法,在检测到实时中间件服务程序的运行状态变更时和/或实时中间件运行环境模块对应的软件包更新时,还判断是否会导致实时运行系统的完备性状态发生变更,只有在确定实时运行系统的完备性状态发生变更时,才会向检测模块主动上报完备性状态变更通知。这样,能确保向检测模块精准上报实时运行系统的完备性状态变更通知,避免不必要的上报事件。
图6示出了根据本发明一个实施例的计算设备100的硬件结构示意图。如图6所示,该计算设备100可以包括输入设备90、处理器91、输出设备92、存储器93和至少一个通信总线94。通信总线94用于实现元件之间的通信连接。存储器93可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器93中可以存储各种程序指令,用于完成各种处理功能以及实现本发明实施例中的实时运行系统的检测方法。
可选的,上述处理器91例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器91通过有线或无线连接耦合到上述输入设备90和输出设备92。
可选的,上述输入设备90可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备92可以包括显示器、音响等输出设备。
在本发明的一个实施例中,计算设备100包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质。当程序指令被配置为由一个或多个处理器执行时,使得计算设备执行本发明实施例中的实时运行系统的检测方法。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的实时运行系统的检测方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (11)

1.一种实时运行系统的检测方法,在操作系统中执行,所述操作系统包括内核、实时运行系统,所述操作系统之上部署有检测模块,所述方法包括步骤:
对内核的完备性进行检测,以确定内核是否切换至实时内核模式;
对实时中间件服务程序的完备性进行检测,其中,当检测到实时中间件服务程序的运行状态变更时,将运行状态变更通知主动发送至检测模块;
对实时中间件运行环境模块的完备性进行检测,其中,当检测到实时中间件运行环境模块对应的软件包更新时,将软件包更新通知主动发送至检测模块。
2.如权利要求1所述的方法,其中,当检测到实时中间件服务程序的运行状态变更时,将运行状态变更通知主动发送至检测模块的步骤,包括:
当检测到实时中间件服务程序的运行状态变更时,判断所述运行状态变更是否导致所述实时运行系统的完备性状态发生变更;
如果所述实时运行系统的完备性状态发生变更,则将完备性状态通知主动发送至检测模块;
当检测到实时中间件运行环境模块对应的软件包更新时,将软件包更新通知主动发送至检测模块的步骤,包括:
当检测到实时中间件运行环境模块对应的软件包更新时,判断所述软件包更新是否导致所述实时运行系统的完备性状态发生变更;
如果所述实时运行系统的完备性状态发生变更,则将完备性状态通知主动发送至检测模块。
3.如权利要求1或2所述的方法,其中,将运行状态变更通知主动发送至检测模块的步骤包括:
收集实时中间件服务程序的运行状态变更信息,将所述运行状态变更信息发送至检测模块;
将软件包更新通知主动发送至检测模块的步骤包括:
收集实时中间件运行环境模块对应的软件包更新信息,将所述软件包更新信息发送至检测模块。
4.如权利要求1-3中任一项所述的方法,其中,
对内核的完备性进行检测包括:
响应于检测模块发送的第一检测请求,对内核的完备性进行检测;
对实时中间件服务程序的完备性进行检测包括:
响应于检测模块发送的第二检测请求,对实时中间件服务程序的完备性进行检测;
对实时中间件运行环境模块的完备性进行检测包括:
响应于检测模块发送的第三检测请求,对实时中间件运行环境模块的完备性进行检测。
5.如权利要求1-4中任一项所述的方法,其中,所述方法还包括步骤:
在对内核的完备性进行检测之后,生成内核检测结果,将所述内核检测结果发送至检测模块;
在对实时中间件服务程序的完备性进行检测之后,生成实时中间件服务程序检测结果,将所述实时中间件服务程序检测结果发送至检测模块;
在对实时中间件运行环境模块的完备性进行检测之后,生成实时中间件运行环境模块检测结果,将所述实时中间件运行环境模块检测结果发送至检测模块。
6.如权利要求1-5中任一项所述的方法,其中,
所述操作系统还包括通用运行系统;
所述内核是基于实时内核、通用内核融合形成的融合内核,适于在实时内核模式与通用内核模式之间进行切换。
7.如权利要求1-6中任一项所述的方法,其中,对实时中间件服务程序的完备性进行检测包括:
检查实时中间件服务程序提供的CPU管理服务、内存管理服务是否完成切换。
8.如权利要求1-7中任一项所述的方法,其中,对实时中间件运行环境模块的完备性进行检测包括:
检查与实时中间件相对应的实时依赖库是否替换与通用中间件相对应的通用依赖库。
9.如权利要求1-8中任一项所述的方法,其中,所述实时中间件服务程序包括:
快速中断服务程序,适于在接收到中断信号时,打断正在执行的实时性任务并进行中断处理;
实时调度服务程序,适于利用实时调度算法从实时性任务队列中获取紧急程度最高的实时性任务,以便立即执行所述紧急程度最高的实时性任务;
实时运行组件,适于为所述紧急程度最高的实时性任务提供内存管理服务。
10.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-9中任一项所述的方法的指令。
11.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-9中任一项所述方法。
CN202210540258.5A 2022-05-17 2022-05-17 一种实时运行系统的检测方法及计算设备 Pending CN114911703A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210540258.5A CN114911703A (zh) 2022-05-17 2022-05-17 一种实时运行系统的检测方法及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210540258.5A CN114911703A (zh) 2022-05-17 2022-05-17 一种实时运行系统的检测方法及计算设备

Publications (1)

Publication Number Publication Date
CN114911703A true CN114911703A (zh) 2022-08-16

Family

ID=82768542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210540258.5A Pending CN114911703A (zh) 2022-05-17 2022-05-17 一种实时运行系统的检测方法及计算设备

Country Status (1)

Country Link
CN (1) CN114911703A (zh)

Similar Documents

Publication Publication Date Title
CN107291547B (zh) 一种任务调度处理方法、装置及系统
EP2701074B1 (en) Method, device, and system for performing scheduling in multi-processor core system
CN114579285B (zh) 一种任务运行系统、方法及计算设备
CN103294544B (zh) 嵌入式系统及其中断处理方法与装置
US8756613B2 (en) Scalable, parallel processing of messages while enforcing custom sequencing criteria
EP2431876A1 (en) Method and device for exception handling in embedded system
KR20120062768A (ko) 멀티-코어 아키텍처들을 위한 사용자-레벨 인터럽트 메커니즘
WO2009075913A1 (en) Interrupt controller for invoking service routines with associated priorities
US10423550B2 (en) Managing efficient selection of a particular processor thread for handling an interrupt
US20110219373A1 (en) Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform
CN112099975B (zh) 一种消息处理方法及系统、存储介质
CN111274019A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN113157411B (zh) 一种基于Celery的可靠可配置任务系统及装置
JP2007148746A (ja) ヘテロマルチプロセッサシステムおよびそのos構成方法
CN115237556A (zh) 调度方法及装置、芯片、电子设备及存储介质
CN116414534A (zh) 任务调度方法、装置、集成电路、网络设备及存储介质
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
CN114911538A (zh) 一种运行系统的启动方法及计算设备
US20060184948A1 (en) System, method and medium for providing asynchronous input and output with less system calls to and from an operating system
CN114911703A (zh) 一种实时运行系统的检测方法及计算设备
CN101976206B (zh) 一种中断处理方法和装置
WO2020001427A1 (zh) 一种分析任务执行方法、装置、系统及电子设备
CN114911658A (zh) 一种实时运行系统的检测方法及计算设备
CN100576175C (zh) 用于多个内核的并行执行的方法和系统
CN115499493A (zh) 异步事务处理方法、装置、存储介质及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination