CN109144566B - 实时操作系统、实时内核的访问方法及设备 - Google Patents
实时操作系统、实时内核的访问方法及设备 Download PDFInfo
- Publication number
- CN109144566B CN109144566B CN201710494805.XA CN201710494805A CN109144566B CN 109144566 B CN109144566 B CN 109144566B CN 201710494805 A CN201710494805 A CN 201710494805A CN 109144566 B CN109144566 B CN 109144566B
- Authority
- CN
- China
- Prior art keywords
- kernel
- real
- interface
- time
- layer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例提供一种实时操作系统架构、实时内核的访问方法及设备。该实时操作系统架构包括:底层的实时内核、至少包括文件系统的中间层、上层的应用程序,以及设置在实时内核与中间层之间的内核公共接口层;内核公共接口层向中间层提供统一的内核公共接口,以使上层的应用程序通过中间层调用内核公共接口来访问实时操作系统的实时内核。本发明实施例通过在实时内核与中间层之间增加内核公共接口层,向中间层提供统一的内核公共接口,从而可以屏蔽不同类型的实时内核的差异,使得针对统一的内核公共接口开发的应用程序能够适用于各种不同类型的实时内核,从而提高了应用程序的可移植性,减少了应用程序的重复开发。
Description
技术领域
本发明实施例涉及操作系统领域,尤其涉及一种实时操作系统架构、实时内核的访问方法及设备。
背景技术
实时操作系统(Real Time Operating System,简称RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。
通常实时操作系统采用层次化设计,在CPU平台构成的硬件层之上,依次包括底层的实时内核,由文件系统和图形系统等构成的中间层,以及上层的应用程序,层与层之间依次连接。其中中间层能够为开发应用程序提供更多更便捷更丰富的应用程序编程接口(Application Programming Interface,简称API),实时内核是指实时操作系统的内核系统,可以为中间层和应用程序提供系统调用及其对应的内核接口,以使中间层和应用程序通过调用实时内核的内核接口完成一些系统级别的功能。目前,实时操作系统类型较多,典型的有vxWorks、实时多处理器系统(Real Time Executive for MultiprocessorSystems,简称RTEMS)、实时Linux(AReal-Time Linux,简称RtLinux)等,在同一硬件平台上可以同时实现多种不同类型的实时操作系统。例如,如图1所示,在同一硬件平台上可以同时安装有实时操作系统1、实时操作系统2,…,实时操作系统n,其中n为正整数。其中,VxWorks是美国Wind River System公司(以下简称风河公司,即WRS公司)推出的一个实时操作系统。
现有技术中,对于同一硬件平台上的不同类型的实时操作系统,不同类型的实时操作系统采用的应用程序编程标准不同,实时操作系统所提供的内核接口都是通过定制化开发的,不同的实时操作系统所提供的内核接口不同,因此,需要针对不同的实时操作系统专门开发相应的应用程序,针对不同类型的实时操作系统开发的应用程序互不通用,应用程序的可移植性较差,存在应用程序重复开发的问题。
发明内容
本发明实施例提供一种实时操作系统架构、实时内核的访问方法及设备,以目前对于同一硬件平台上的不同类型的实时操作系统,需要针对不同的实时操作系统专门开发相应的应用程序,针对不同类型的实时操作系统开发的应用程序互不通用,应用程序的可移植性较差,存在应用程序重复开发的问题。
本发明实施例的一个方面是提供一种实时操作系统架构,包括:底层的实时内核、至少包括文件系统的中间层、上层的应用程序,以及设置在实时内核与中间层之间的内核公共接口层;
所述内核公共接口层向所述中间层提供统一的内核公共接口,以使上层的应用程序通过所述中间层调用所述内核公共接口来访问实时操作系统的实时内核。
本发明实施例的另一个方面是提供一种基于实时操作系统实时内核的访问方法,包括:
所述实时操作系统包括:底层的实时内核、至少包括文件系统的中间层、上层的应用程序和设置在实时内核与中间层之间的内核公共接口层;其中,所述内核公共接口层向所述中间层提供统一的内核公共接口;
运行上层的所述应用程序,以使所述应用程序通过所述中间层调用所述内核公共接口;
将被调用的内核公共接口转换为与所述实时操作系统的类型和所述被调用的内核公共接口相对应的目标内核接口;
调用所述目标内核接口,以访问所述实时操作系统的实时内核。
本发明实施例的另一个方面是提供一种计算机设备,安装有实时操作系统,所述实时操作系统包括底层的实时内核、至少包括文件系统的中间层、上层的应用程序,以及设置在实时内核与中间层之间的内核公共接口层;
所述内核公共接口层向所述中间层提供统一的内核公共接口,以使上层的应用程序通过所述中间层调用所述内核公共接口来访问实时操作系统的实时内核;
所述计算机设备包括:处理器、存储器以及存储在所述存储器上可以由所述处理器运行的计算机程序,所述处理器运行所述计算机程序时实现上述任一项所述的基于实时操作系统实时内核的访问方法。
本发明实施例提供的实时操作系统架构、实时内核的访问方法及设备,本发明实施例通过在实时操作系统中增加在实时内核与中间层之间的内核公共接口层,向中间层提供统一的内核公共接口,无论何类型型的实时操作系统,其内核公共接口层向中间层提供的内核公共接口都是统一的,从而可以屏蔽不同类型的实时内核的差异,使得针对统一的内核公共接口开发的应用程序能够适用于各种不同类型的实时内核,从而提高了应用程序的可移植性,减少了应用程序的重复开发。
附图说明
图1为本发明实施例提供的现有的实时操作系统架构的结构示意图;
图2为本发明实施例一提供的实时操作系统架构的结构示意图;
图3为本发明实施例三提供的实时操作系统架构的结构示意图;
图4为本发明实施例四提供的基于实时操作系统实时内核的访问方法流程图;
图5为本发明实施例五提供的基于实时操作系统实时内核的访问方法流程图;
图6为本发明实施例七提供的计算机设备的结构图。
具体实施方式
为使本发明的技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图2为本发明实施例一提供的实时操作系统架构的结构示意图。本发明实施例针对目前对于同一硬件平台上的不同类型的实时操作系统,需要针对不同的实时操作系统专门开发相应的应用程序,针对不同类型的实时操作系统开发的应用程序互不通用,应用程序的可移植性较差,存在应用程序重复开发的问题,提供了实时操作系统架构。如图2所示,本发明实施例提供的实时操作系统架构包括:底层的实时内核,至少包括文件系统的中间层,上层的应用程序,以及设置在实时内核与中间层之间的内核公共接口层。
本实施例中,中间层可以包括文件系统、图形系统界面系统GUI和系统管理接口等。
具体地,内核公共接口层向中间层提供统一的内核公共接口,以使目标应用程序通过中间层调用内核公共接口来访问当前的实时操作系统的实时内核。
本实施例中,针对内核公共接口层提供的内核公共接口开发上层的应用程序,上层的应用程序在运行时,通过中间层调用内核公共接口层提供的内核公共接口来访问实时操作系统的实时内核。
具体地,上层的应用程序在运行时,通过中间层调用内核公共接口层提供的内核公共接口来访问实时操作系统的实时内核,具体可以采用如下方式实现:
运行上层的应用程序,以使应用程序通过中间层调用内核公共接口;将被调用的内核公共接口转换为与内核公共接口和实时操作系统的类型相对应的目标内核接口;调用目标内核接口,以访问实时操作系统的实时内核。
另外,本实施例中上层的应用程序通过中间层调用内核公共接口,可以采用现有技术中任意一种上层的应用程序通过中间层调用实时操作系统的内核接口的方法来实现,本实施例此处不再赘述。
需要说明的是,本实施所提供的实时操作系统架构还可以分别应用于任一硬件平台上的实时操作系统,本实施例对此不做具体限定。
本发明实施例通过在实时操作系统中增加在实时内核与中间层之间的内核公共接口层,向中间层提供统一的内核公共接口,无论何类型的实时操作系统,其内核公共接口层向中间层提供的内核公共接口都是统一的,从而可以屏蔽不同类型的实时内核的差异,使得针对统一的内核公共接口开发的应用程序能够适用于各种不同类型的实时内核,从而提高了应用程序的可移植性,减少了应用程序的重复开发。
实施例二
在上述实施例一的基础上,本实施例二中,内核公共接口是由各类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装而成;内核公共接口层存储有接口对应规则,接口对应规则包括封装成的各内核公共接口与被封装的各内核接口的对应关系。
其中,各类型的实时操作系统的内核接口包括了所有现有的实时操作系统的内核接口;也即是,内核公共接口是由现有所有类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装而成。
在实际应用中,实时操作系统的实时内核提供了多个内核接口,内核接口对应于内核接口函数,通过调用内核接口实现内核接口函数的功能,不同的内核接口对应的内核接口函数的功能不同,例如不同的内核接口可以对应实现不同功能的系统调用。
本实施例中,将各个不同类型的实时操作系统内,用于完成相同功能的内核接口归为一类,将一类内核接口封装成为一个能够完成对应功能的内核公共接口。对应不同功能的内核公共接口的格式可以根据实际需要预先进行设定。
可选地,内核公共接口采用现有技术中任意一种可移植操作系统接口来实现,本实施例此处不再赘述。例如,内核公共接口可以采用POSIX(Portable Operating SystemInterface of UNIX,缩写为POSIX)标准来实现,POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,POSIX并不局限于UNIX。
本实施例中,内核公共接口层存储有接口对应规则,接口对应规则包括封装成的各内核公共接口与被封装的各内核接口的对应关系,从而根据接口对应规则和实时操作系统的类型,可以将内核公共接口转换为该实时操作系统对应的具有相同功能的内核接口,从而通过调用转换后得到的内核接口来实现该实时操作系统中的内核接口函数对应的功能。
例如,假设现有技术中包括三种不同类型的实时操作系统:实时操作系统1、实时操作系统2和实时操作系统3,对应的内核系统分别为实时内核1、实时内核2和实时内核3,实时内核1中包括用于创建任务的内核接口1,实时内核2中包括用于创建任务的内核接口2,实时内核3中包括用于创建任务的内核接口3,内核接口1-3都用于创建任务,可以将内核接口1-3归为一类,将内核接口1-3封装成一个公共内核接口1,该公共内核接口1对应的功能为创建任务,在接口对应规则中,建立该公共内核接口1与内核接口1、内核接口2、内核接口3对应的规则。针对公共内核接口开发的上层应用程序中,创建任务对应的内核接口为该公共内核接口1,在应用程序创建任务时,调用该公共内核接口1,根据该公共内核接口1以及当前的实时操作系统的类型,将公共内核接口1进行格式转换。假设当前的实时操作系统的为实时操作系统1,则将公共内核接口1进行格式转换后,得到对应于实时内核1的内核接口1,通过调用内核接口1可以实现实时内核1创建任务的功能。
可选地,当有新的实时操作系统出现时,可以通过更新内核公共接口层存储有接口对应规则来更新内核公共接口层。
例如,在上述举例的基础上,若新出现了实时操作系统4,实时操作系统4的内核接口4对应于创建任务的功能,则在接口对应规则中与内核公共接口1相关的规则更新为:该公共内核接口1与内核接口1、内核接口2、内核接口3以及内核接口4对应,从而该公共内核接口1是通过将内核接口1、内核接口2、内核接口3以及内核接口4封装而成的。
本发明实施例通过将各类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装成一个内核公共接口,通过接口对应规则存储封装成的各内核公共接口与被封装的各内核接口的对应关系,实现了内核公共接口层的封装,实现了内核公共接口向实时内核的内核接口的转换,从而可以屏蔽不同类型的实时内核的差异,使得针对统一的内核公共接口开发的应用程序能够适用于各种不同类型的实时内核,从而提高了应用程序的可移植性,减少了应用程序的重复开发。
实施例三
图3为本发明实施例三提供的实时操作系统架构的结构示意图。在上述实施例一或者实施例二的基础上,本实施例三中,如图3所示,实时操作系统架构还包括:设置于中间层和应用程序之间的应用程序接口层;应用程序接口层提供统一的应用程序编程接口规范,以使编程人员根据应用程序编程接口规范进行上层的应用程序的开发。
其中,应用程序编程接口规范规定了内核公共接口的格式。
本实施例中,为方便编程人员的开发,在中间层和应用程序之间增加了应用程序接口层,用于向编程人员提供与内核公共接口层中的统一的内核公共接口相对应的应用程序编程接口规范,以使编程人员根据应用程序编程接口规范开发出的上层的应用程序通过调用内核公共接口来实现对底层实时内核的调用。另外,由于采用的统一的内核公共接口和应用程序编程接口规范,可以相应地将各个实时操作系统的中间合并为一个统一的中间层。
可选地,应用程序编程接口规范采用Qt中的应用程序编程接口规范。其中,Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,易于扩展,允许组件编程,还包括丰富的API接口。
需要说明的是,本实施例中,应用程序编程接口规范可以由技术人员根据实际需要进行设定,或者采用现有技术中任意一种应用程序的编程接口规范来实现,本实施例此处不再赘述。
本发明实施例通过在中间层和应用程序之间增加了应用程序接口层,向编程人员提供与内核公共接口层中的统一的内核公共接口相对应的应用程序编程接口规范,以使编程人员根据应用程序编程接口规范开发出的上层的应用程序通过调用内核公共接口来实现对底层实时内核的调用,实现了为编程人员提供了统一的应用程序编程接口,方便编程人员根据内核公共接口进行应用程序的开发。
实施例四
图4为本发明实施例四提供的基于实时操作系统实时内核的访问方法流程图。本发明实施例针对目前需要针对不同的实时操作系统专门开发相应的应用程序,针对不同类型的实时操作系统开发的应用程序互不通用,应用程序的可移植性较差,存在应用程序重复开发的问题,提供了基于实时操作系统实时内核的访问方法。
本发明实施例中,实时操作系统包括:底层的实时内核、至少包括文件系统的中间层、上层的应用程序和设置在实时内核与中间层之间的内核公共接口层;
内核公共接口层向中间层提供统一的内核公共接口。
如图4所示,该方法的具体步骤如下:
步骤S401、运行上层的应用程序,以使应用程序通过中间层调用内核公共接口。
本实施例中,针对内核公共接口层提供的内核公共接口开发上层的应用程序,上层的应用程序在运行时,通过中间层调用内核公共接口层提供的内核公共接口来访问实时操作系统的实时内核。
另外,本实施例中上层的应用程序通过中间层调用内核公共接口的过程,可以采用现有技术中任意一种上层的应用程序通过中间层调用实时操作系统的内核接口的方法来实现,本实施例此处不再赘述。
步骤S402、将被调用的内核公共接口转换为与实时操作系统的类型和被调用的内核公共接口相对应的目标内核接口。
当发生对内核公共接口的调用时,首先将被调用的内核公共接口转换为当前要访问的实时操作系统的类型对应的目标内核接口。其中,目标内核接口为实时操作系统现有的内核接口中与被调用的内核公共接口相对应的内核接口,该目标内核接口与被调用的内核公共接口实现相同的功能。
步骤S403、调用目标内核接口,以访问实时操作系统的实时内核。
在上述步骤中将被调用的内核公共接口转换为与其对应的目标内核接口之后,调用目标内核接口来实现访问实时操作系统的实时内核,以实现目标内核接口对应的内核接口函数,从而实现与被调用的内核公共接口对应的功能。
本实施例中,通过调用目标内核接口来访问实时操作系统的实时内核的实现方式可以采用现有技术中调用内核接口实现访问实时操作系统的实时内核的实现方式,本实施例此处不再赘述。
本发明实施例通过在实时操作系统中增加在实时内核与中间层之间的内核公共接口层,向中间层提供统一的内核公共接口,无论何类型型的实时操作系统,其内核公共接口层向中间层提供的内核公共接口都是统一的,从而可以屏蔽不同类型的实时内核的差异,使得针对统一的内核公共接口开发的应用程序在运行时,通过中间层调用内核公共接口,将被调用的内核公共接口转换为与实时操作系统的类型和被调用的内核公共接口相对应的目标内核接口,调用目标内核接口,以访问当前的实时操作系统的实时内核,从而实现了应用程序能够适用于各种不同类型的实时内核,从而提高了应用程序的可移植性,减少了应用程序的重复开发。
实施例五
图5为本发明实施例五提供的基于实时操作系统实时内核的访问方法流程图。在上述实施例四的基础上,本实施例中,内核公共接口是由各类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装而成;内核公共接口层存储有接口对应规则,接口对应规则包括封装成的各内核公共接口与被封装的各内核接口的对应关系。如图5所示,该方法具体步骤如下:
步骤S501、运行上层的应用程序,以使应用程序通过中间层调用内核公共接口。
在实际应用中,实时操作系统的实时内核提供了多个内核接口,内核接口对应于内核接口函数,通过调用内核接口实现内核接口函数的功能,不同的内核接口对应的内核接口函数的功能不同,例如不同的内核接口可以对应实现不同功能的系统调用。
本实施例中,内核公共接口是由各类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装而成。其中,各类型的实时操作系统的内核接口包括了所有现有的实时操作系统的内核接口;也即是,内核公共接口是由现有所有类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装而成。
具体地,可以将各个不同类型的实时操作系统内,用于完成相同功能的内核接口归为一类,将一类内核接口封装成为一个能够完成对应功能的内核公共接口。对应不同功能的内核公共接口的格式可以根据实际需要预先进行设定。
可选地,内核公共接口采用现有技术中任意一种可移植操作系统接口来实现,本实施例此处不再赘述。例如,内核公共接口可以采用POSIX标准来实现。
本实施例中,内核公共接口层存储有接口对应规则,接口对应规则包括封装成的各内核公共接口与被封装的各内核接口的对应关系,从而根据接口对应规则和实时操作系统的类型,可以将内核公共接口转换为该实时操作系统对应的具有相同功能的内核接口,从而通过调用转换后得到的内核接口来实现该实时操作系统中的内核接口函数对应的功能。
可选地,当有新的实时操作系统出现时,可以通过更新内核公共接口层存储有接口对应规则来更新内核公共接口层。
本实施例中,针对内核公共接口层提供的内核公共接口开发上层的应用程序,上层的应用程序在运行时,通过中间层调用内核公共接口层提供的内核公共接口来访问实时操作系统的实时内核。
另外,本实施例中上层的应用程序通过中间层调用内核公共接口的过程,可以采用现有技术中任意一种上层的应用程序通过中间层调用实时操作系统的内核接口的方法来实现,本实施例此处不再赘述。
步骤S502、根据接口对应规则和实时操作系统的类型,确定目标内核接口的格式。
其中,目标内核接口为实时操作系统现有的内核接口中与被调用的内核公共接口相对应的内核接口,该目标内核接口与被调用的内核公共接口实现相同的功能。
具体地,目标内核接口的格式为现有技术中该实时操作系统中该内核接口的格式,可以通过阅读与实时操作系统中对于内核接口的格式相关的文献获知,本实施例此处不再赘述。
步骤S503、根据目标内核接口的格式,将被调用的内核公共接口转换为目标内核接口。
当发生对内核公共接口的调用时,首先将被调用的内核公共接口转换为当前要访问的实时操作系统对应的目标内核接口,上述步骤S502-S503为将被调用的内核公共接口转换为与实时操作系统的类型和被调用的内核公共接口相对应的目标内核接口的过程。
步骤S504、调用目标内核接口,以访问实时操作系统的实时内核。
在上述步骤中将被调用的内核公共接口转换为与其对应的目标内核接口之后,调用目标内核接口来实现访问实时操作系统的实时内核,以实现目标内核接口对应的内核接口函数,从而实现与被调用的内核公共接口对应的功能。
本实施例中,通过调用目标内核接口来访问实时操作系统的实时内核的实现方式可以采用现有技术中调用内核接口实现访问实时操作系统的实时内核的实现方式,本实施例此处不再赘述。
本发明实施例通过将各类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装成一个内核公共接口,通过接口对应规则存储封装成的各内核公共接口与被封装的各内核接口的对应关系,实现了内核公共接口层的封装,实现了内核公共接口向实时内核的内核接口的转换,从而可以屏蔽不同类型的实时内核的差异,使得针对统一的内核公共接口开发的应用程序能够适用于各种不同类型的实时内核,从而提高了应用程序的可移植性,减少了应用程序的重复开发。
实施例六
在上述实施例四或者实施例五的基础上,本实施例中,实时操作系统还包括:设置于中间层和应用程序之间的应用程序接口层;应用程序接口层提供统一的应用程序编程接口规范,以使编程人员根据应用程序编程接口规范进行上层的应用程序的开发。
其中,应用程序编程接口规范规定了内核公共接口的格式。
本实施例中,为方便编程人员的开发,在中间层和应用程序之间增加了应用程序接口层,用于向编程人员提供与内核公共接口层中的统一的内核公共接口相对应的应用程序编程接口规范,以使编程人员根据应用程序编程接口规范开发出的上层的应用程序通过调用内核公共接口来实现对底层实时内核的调用。
可选地,应用程序编程接口规范采用Qt中的应用程序编程接口规范。其中,Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,易于扩展,允许组件编程,还包括丰富的API接口。
需要说明的是,本实施例中,应用程序编程接口规范可以由技术人员根据实际需要进行设定,或者采用现有技术中任意一种应用程序的编程接口规范来实现,本实施例此处不再赘述。
本发明实施例通过在中间层和应用程序之间增加了应用程序接口层,向编程人员提供与内核公共接口层中的统一的内核公共接口相对应的应用程序编程接口规范,以使编程人员根据应用程序编程接口规范开发出的上层的应用程序通过调用内核公共接口来实现对底层实时内核的调用,实现了为编程人员提供了统一的应用程序编程接口,方便编程人员根据内核公共接口进行应用程序的开发。
实施例七
图6为本发明实施例七提供的计算机设备的结构图。本发明实施例提供的计算机设备可以执行基于实时操作系统实时内核的访问方法实施例提供的处理流程。
本发明实施例所提供的计算机设备安装有实时操作系统,实时操作系统包括底层的实时内核、至少包括文件系统的中间层、上层的应用程序,以及设置在实时内核与中间层之间的内核公共接口层。
内核公共接口层向中间层提供统一的内核公共接口,以使上层的应用程序通过中间层调用内核公共接口来访问实时操作系统的实时内核。
如图6所示,该计算机设备60包括处理器601、存储器602以及存储在存储器602上可以由处理器601运行的计算机程序。
处理器601运行计算机程序时实现上述任一方法实施例所提供的基于实时操作系统实时内核的访问方法的处理流程,本实施例此处不再赘述。
本发明实施例通过将各类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装成一个内核公共接口,通过接口对应规则存储封装成的各内核公共接口与被封装的各内核接口的对应关系,实现了内核公共接口层的封装,实现了内核公共接口向实时内核的内核接口的转换,从而可以屏蔽不同类型的实时内核的差异,使得针对统一的内核公共接口开发的应用程序能够适用于各种不同类型的实时内核,从而提高了应用程序的可移植性,减少了应用程序的重复开发。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种实时操作系统,其特征在于,包括:分别与同一硬件平台上不同类型实时操作系统对应的底层的实时内核、分别与所述不同类型实时操作系统对应的至少包括文件系统的中间层、分别与所述不同类型实时操作系统对应的上层的应用程序、以及设置在实时内核与中间层之间的内核公共接口层;
所述内核公共接口层向所述分别与所述不同类型实时操作系统对应的中间层提供统一的内核公共接口,以使上层的应用程序通过所述中间层调用所述内核公共接口来访问对应类型实时操作系统的实时内核,其中,所述内核公共接口层存储有接口对应规则;
所述内核公共接口是由现有所有类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装而成;
所述接口对应规则包括封装成的各所述内核公共接口与被封装的各所述内核接口的对应关系;
所述内核公共接口采用可移植操作系统接口。
2.根据权利要求1所述的实时操作系统,其特征在于,还包括:
设置于中间层和应用程序之间的应用程序接口层;
所述应用程序接口层提供统一的应用程序编程接口规范,以使编程人员根据所述应用程序编程接口规范进行上层的应用程序的开发;
其中,所述应用程序编程接口规范规定了所述内核公共接口的格式。
3.根据权利要求2所述的实时操作系统,其特征在于,
应用程序编程接口规范采用Qt中的应用程序编程接口规范。
4.一种基于实时操作系统实时内核的访问方法,其特征在于,包括:
所述实时操作系统包括:分别与同一硬件平台上不同类型实时操作系统对应的底层的实时内核、分别与所述不同类型实时操作系统对应的至少包括文件系统的中间层、分别与所述不同类型实时操作系统对应的上层的应用程序和设置在实时内核与中间层之间的内核公共接口层;其中,所述内核公共接口层向所述中间层提供统一的内核公共接口;所述内核公共接口采用可移植操作系统接口;
运行上层的所述应用程序,以使所述应用程序通过所述中间层调用所述内核公共接口,其中,所述内核公共接口层存储有接口对应规则;
将被调用的内核公共接口转换为与所述实时操作系统的类型和所述被调用的内核公共接口相对应的目标内核接口;
调用所述目标内核接口,以访问所述实时操作系统的实时内核;
所述内核公共接口是由现有所有类型的实时操作系统的内核接口中用于实现相同功能的内核接口封装而成;
所述接口对应规则包括封装成的各所述内核公共接口与被封装的各所述内核接口的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述将被调用的内核公共接口转换为与所述实时操作系统的类型和所述被调用的内核公共接口相对应的目标内核接口,包括:
根据所述接口对应规则和实时操作系统的类型,确定与被调用的所述内核公共接口相对应的目标内核接口的格式;
根据所述目标内核接口的格式,将所述被调用的内核公共接口转换为所述目标内核接口。
6.根据权利要求4或5所述的方法,其特征在于,所述实时操作系统还包括:
设置于中间层和应用程序之间的应用程序接口层;
所述应用程序接口层提供统一的应用程序编程接口规范,以使编程人员根据所述应用程序编程接口规范进行所述上层的应用程序的开发;
其中,所述应用程序编程接口规范规定了所述内核公共接口的格式。
7.一种计算机设备,其特征在于,安装有实时操作系统,所述实时操作系统包括底层的实时内核、至少包括文件系统的中间层、上层的应用程序,以及设置在实时内核与中间层之间的内核公共接口层;
所述内核公共接口层向所述中间层提供统一的内核公共接口,以使上层的应用程序通过所述中间层调用所述内核公共接口来访问实时操作系统的实时内核;
所述计算机设备包括:处理器、存储器以及存储在所述存储器上可以由所述处理器运行的计算机程序,
所述处理器运行所述计算机程序时实现上述权利要求4-6任一项所述的基于实时操作系统实时内核的访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710494805.XA CN109144566B (zh) | 2017-06-26 | 2017-06-26 | 实时操作系统、实时内核的访问方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710494805.XA CN109144566B (zh) | 2017-06-26 | 2017-06-26 | 实时操作系统、实时内核的访问方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144566A CN109144566A (zh) | 2019-01-04 |
CN109144566B true CN109144566B (zh) | 2023-04-25 |
Family
ID=64804800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710494805.XA Active CN109144566B (zh) | 2017-06-26 | 2017-06-26 | 实时操作系统、实时内核的访问方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144566B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101387957B (zh) * | 2008-09-12 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 一种多路径软件的实现装置及方法 |
US10394551B2 (en) * | 2011-02-24 | 2019-08-27 | Red Hat, Inc. | Managing kernel application binary interface/application programming interface-based discrepancies relating to kernel packages |
CN103034812B (zh) * | 2011-10-08 | 2016-08-10 | 国民技术股份有限公司 | 一种可信芯片兼容方法、设备及该设备的使用方法 |
CN102331935A (zh) * | 2011-11-07 | 2012-01-25 | 广东天波信息技术股份有限公司 | 一种嵌入式跨系统软件开发平台 |
CN102521687B (zh) * | 2011-12-01 | 2014-12-24 | 中国资源卫星应用中心 | 遥感卫星数据预处理小型化通用平台 |
CN105634846B (zh) * | 2014-10-31 | 2019-01-22 | 任子行网络技术股份有限公司 | 一种通用dpi平台及其构建方法 |
-
2017
- 2017-06-26 CN CN201710494805.XA patent/CN109144566B/zh active Active
Non-Patent Citations (4)
Title |
---|
CMSIS-RTOS2应用笔记-概述;wylwws;《https://blog.csdn.net/wylwws/article/details/71191117》;20170505;第1-2页 * |
CMSIS架构与STM标准外设库.ppt;佚名;《http://max.book118.com/html/2017/0527/109691597.shtm》;20170608;全文 * |
wylwws.CMSIS-RTOS2应用笔记-概述.《https://blog.csdn.net/wylwws/article/details/71191117》.2017, * |
操作系统与应用程序的关系;Amao_come_on;《https://blog.csdn.net/maochengtao/article/details/8943284》;20130518;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109144566A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10965733B2 (en) | Efficient, automated distributed-search methods and systems | |
CN107766126B (zh) | 容器镜像的构建方法、系统、装置及存储介质 | |
US20200329091A1 (en) | Methods and systems that use feedback to distribute and manage alerts | |
US11003511B2 (en) | Controlling runtime access to application program interfaces | |
WO2015048206A1 (en) | Rendering interpreter for visualizing data provided from restricted environment container | |
US11902251B2 (en) | Socket transferring for HPC networks using kernel tracing | |
CN107861742A (zh) | 一种程序的运行方法和终端设备 | |
KR20140101412A (ko) | 콜백을 이용하는 isa 브리징 | |
WO2023278943A1 (en) | Registering additional type systems using a hub data model for data processing | |
CN111506368A (zh) | 对异步调用转同步调用的方法、装置、设备及存储介质 | |
JP2013152541A (ja) | コンテキスト・アウェアに分散処理可能な処理装置、方法、及びプログラム | |
US20210099354A1 (en) | Method and system that determines application topology using network metrics | |
US11294901B1 (en) | Isolating the performance of functions included in queries | |
CN105808354B (zh) | 利用WLAN网络组建临时Hadoop环境的方法 | |
CN109144566B (zh) | 实时操作系统、实时内核的访问方法及设备 | |
CN113742104A (zh) | 基于ai的rpa分身功能的生成方法及装置 | |
CN112181401A (zh) | 应用构建方法及应用构建平台 | |
CN112817573B (zh) | 用于构建流式计算应用的方法、装置、计算机系统和介质 | |
CN116010112B (zh) | 钩子函数的调用方法、装置、计算机设备及可读存储介质 | |
CN110321335B (zh) | 建模数据下载方法、装置、电子设备及计算机存储介质 | |
US11144431B2 (en) | Configuration-based code construct for restriction checks in component of a web application | |
CN113760262A (zh) | 任务处理方法、装置、计算机系统和计算机可读存储介质 | |
CN114416370A (zh) | 一种任务处理方法、装置、设备、存储介质及产品 | |
CN118051341A (zh) | 算力资源调度方法、装置、终端设备以及存储介质 | |
Weber | Idiomatic and Reproducible Software Builds using Containers for Reliable Computing |
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 | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |