掌桥专利:专业的专利平台
掌桥专利
首页

异构系统间的资源分配方法、系统、装置、设备及介质

文献发布时间:2023-06-19 10:24:22


异构系统间的资源分配方法、系统、装置、设备及介质

技术领域

本发明实施例涉及嵌入式与操作系统技术领域,尤其涉及一种异构系统间的资源分配方法、系统、装置、设备及介质。

背景技术

多核处理器的其中一种运行模式称为AMP(Asymmetric Multi-Processing)非对称多处理。在AMP模式的系统中,用户需要对各个操作系统使用的硬件资源进行划分。

多核处理器上的异构系统(非实时操作系统和实时操作系统),对硬件而言,是一个或多个CPU(Central Processing Unit,中央处理器),但对软件而言,是多个核,每个核上可能运行不同的操作系统。目前,支持AMP模式的实时操作系统极少,这种结构的最大特点在于对硬件资源在异构系统间进行划分管理较为困难。因此,如何将硬件资源在多核处理器上异构系统间进行分配是亟待解决的问题。

发明内容

本发明实施例提供了一种异构系统间的资源分配方法、系统、装置、设备及介质,目的在于实现将硬件资源在多核处理器上异构系统间进行分配。

第一方面,本发明实施例提供了一种多核处理器上异构系统间的资源分配方法,应用于第一计算机设备,包括:

获取资源分配配置数据;

通过非实时操作系统加载所述资源分配配置数据,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权;

通过所述实时操作系统读取所述资源分配配置数据,对所述资源分配配置数据进行解析,确定出分配给所述实时操作系统的目标硬件资源,以占用所述目标硬件资源。

第二方面,本发明实施例提供了一种多核处理器上异构系统间的资源分配系统,包括:第一计算机设备和第二计算机设备,其中,

所述第二计算机设备,用于通过目标集成开发环境获取第一计算机设备的硬件资源信息,在响应资源分配请求时,根据所述第一计算机设备的硬件资源信息生成资源分配配置数据,发送至所述第一计算机设备;

所述第一计算机设备,用于通过非实时操作系统加载所述资源分配配置数据,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权;通过所述实时操作系统读取所述资源分配配置数据,对所述资源分配配置数据进行解析,确定出分配给所述实时操作系统的目标硬件资源,以占用所述目标硬件资源。

第三方面,本发明实施例提供了一种多核处理器上异构系统间的资源分配装置,应用于第一计算机设备,包括:

资源分配配置数据获取模块,用于获取资源分配配置数据;

非实时操作系统释放资源使用权模块,用于通过非实时操作系统加载所述资源分配配置数据,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权;

实时操作系统资源占用模块,用于通过所述实时操作系统读取所述资源分配配置数据,对所述资源分配配置数据进行解析,确定出分配给所述实时操作系统的目标硬件资源,以占用所述目标硬件资源。

第四方面,本发明实施例提供了一种计算机设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的应用于第一计算机设备的多核处理器上异构系统间的资源分配方法。

第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的应用于第一计算机设备的多核处理器上异构系统间的资源分配方法。

本发明实施例提供的技术方案中,通过非实时操作系统加载资源分配配置数据,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,同时释放所述目标硬件资源的使用权;通过实时操作系统解析资源分配配置数据确定出给其分配的目标硬件资源,以占用所述目标硬件资源,以此实现了将硬件资源在多核处理器上异构系统间(也即非实时操作系统和实时操作系统间)进行分配。

附图说明

图1为本发明实施例1中的一种多核处理器上异构系统间的资源分配方法的流程图;

图2为本发明实施例1中的一种多核处理器上异构系统的示例图;

图3为本发明实施例2中的一种多核处理器上异构系统间的资源分配方法的流程图;

图4为本发明实施例3中的一种多核处理器上异构系统间的资源分配系统的结构示意图;

图5为本发明实施例4中的一种多核处理器上异构系统间的资源分配方法的流程图;

图6为本发明实施例5中的一种多核处理器上异构系统间的资源分配装置的结构示意图;

图7为本发明实施例6中的一种计算机设备的硬件结构示意图。

具体实施方式

以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例1

图1是本发明实施例1提供的一种多核处理器上异构系统间的资源分配方法的流程图,本实施例可适用于在多核处理器上异构系统间(非实时操作系统和实时操作系统间)进行硬件资源分配的情况,该方法可以由本发明实施例提供的应用于第一计算机设备的多核处理器上异构系统间的资源分配装置来执行,该装置可以通过软件和/或硬件的方式实现,该装置可以集成在计算机设备中。

需要指出的是,本实施例涉及的第一计算机设备指的是多核处理器上异构系统间的资源分配的目标机,也即本发明实施例是针对第一计算机设备中的多核处理器上异构系统进行硬件资源分配。

在本实施例中,异构系统指的是实时操作系统和非实时操作系统。其中,实时操作系统(RTOS,Real Time Operating System)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。

如图2所示,多核处理器上异构系统,指的是在一个多核处理器上同时运行实时操作系统和非实时操作系统,实时操作系统使用多核处理器中的部分核,非实时操作系统使用多核处理器中的部分核。其中,常见的实时系统有:ThreadX、FreeRTOS、ucOS,常见的非实时系统有:windows、linux、Android。

如图1所示,本实施例提供的多核处理器上异构系统间的资源分配方法,应用于第一计算机设备,具体包括:

S110、获取资源分配配置数据。

资源分配配置数据,指的与多核处理器对应的硬件资源(也即第一计算机设备的硬件资源)在非实时操作系统与实时操作系统之间进行分配相关的配置数据。在本实施例中,资源分配配置数据可以具体指的是与多核处理器对应的部分硬件资源分配给实时操作系统单独使用相关的配置数据,例如,资源分配配置数据是与将PCI(PeripheralComponent Interconnect,外设部件互连标准)设备分配给实时操作系统单独使用相关的配置数据。

其中,资源分配配置数据可以是在除第一计算机设备之外的其他计算设备中生成并发送到第一计算机设备中的非实时操作系统中,以此实现多核处理器上异构系统间的资源分配的开发机与目标机分离。多核处理器上异构系统间的资源分配的开发机,即为生成资源分配配置数据的计算机设备,该开发机的操作系统可以是windows。可选的,开发机与目标机的通信连接方式可以是串口连接,也可以是网络连接等。

可选的,资源分配配置数据可以是二进制文件。

S120、通过非实时操作系统加载资源分配配置数据,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权。

非实时操作系统,例如可以是linux操作系统,在接收到资源分配配置数据之后,将资源分配配置数据加载到内存中,对资源分配配置数据进行解析,获知分配给实时操作系统的目标硬件资源,然后将目标硬件资源在非实时操作系统中“移除”,也即释放目标硬件资源的使用权。

其中,非实时操作系统可以通过预设操作实现对目标硬件资源使用权的释放。例如,目标硬件资源为串口时,可以通过卸载驱动的操作实现对串口使用权的释放。再例如,目标硬件资源为网卡时,可以通过设置资源状态为掉电(down)状态的操作实现对网卡使用权的释放。

需要指出的是,在进行异构系统间资源分配之前,第一计算机设备的硬件资源均是分配给非实时操作系统使用的。在资源分配配置数据仅指示分配给实时操作系统的目标硬件资源时,多核处理器对应的硬件资源中除所述目标硬件资源外的其他硬件资源均是分配给非实时操作系统专用的。

S130、通过实时操作系统读取资源分配配置数据,对资源分配配置数据进行解析,确定出分配给实时操作系统的目标硬件资源,以占用目标硬件资源。

实时操作系统获取非实时操作系统加载到内存中的资源分配配置数据,对资源分配配置数据进行解析,获知给其分配的目标硬件资源,得到目标硬件资源的信息,进而可以实现对目标硬件资源的单独占用。

例如,在获知给其分配的目标硬件资源,得到目标硬件资源的信息之后,实时操作系统对目标硬件资源进行初始化操作,进而可以实现对目标硬件资源的占用。

作为一种可选的实施方式,在通过实时操作系统读取资源分配配置数据之前,通过非实时操作系统加载实时操作系统镜像文件,并根据实时操作系统镜像文件启动实时操作系统。

实时操作系统镜像文件,指的是与实时操作系统的镜像文件,用于安装启动该实时操作系统。其中,实时操作系统镜像文件,可以通过任意方式传输到第一计算机设备中的非实时操作系统中,例如通过通信网络传输,或者硬盘拷贝等方式。

可选的,实时操作系统镜像文件存储在多核处理器上异构系统间的资源分配的开发机,通过开发机向第一计算机设备中的非实时操作系统发送。

可选的,实时操作系统镜像文件可以是与实时操作系统对应的二进制文件。

非实时操作系统接收到实时操作系统镜像文件之后,将实时操作系统镜像文件加载到内存中,解析实时操作系统镜像文件,实现对实时操作系统的启动。此时,在第一计算机设备的多核处理器上同时运行非实时操作系统和实时操作系统。

关于启动实时操作系统的时机,可以是非实时操作系统加载实时操作系统镜像文件后即时启动实时操作系统,也可以是可以根据实际应用具体设置实时操作系统的启动时机,本实施例对此不作具体限定。

作为一种可选的实施方式,通过实时操作系统读取资源分配配置数据,可以具体为:通过实时操作系统根据内存地址读取资源分配配置数据;其中,所述内存地址是由非实时操作系统通过寄存器传递给实时操作系统的。

非实时操作系统,将资源分配配置数据加载到内存之后,记录资源分配配置数据的内存地址,并在实时操作系统启动之后,将资源分配配置数据的内存地址通过寄存器传递给实时操作系统。进而,实时操作系统可以访问该内存地址读取到资源分配配置数据。

进一步的,实时操作系统可以基于预设的固定数据结构解析资源分配配置数据,以获取到给其分配的目标硬件资源的信息。

固定数据结构,指的是与资源分配配置数据对应的数据结构,用于对资源分配配置数据进行解析。其中,预设的固定数据结构可以是任意一种数据结构,例如可以是C语言类型的数据结构,对于实时操作系统而言是预知的,本实施例对数据结构的具体形式不作限定。

需要指出的是,若需要对多核处理器上异构系统间的资源分配进行调整,可选的,重启第一计算机设备后,通过非实时操作系统重新加载调整后的资源分配配置数据,并执行本实施例提供的方法,以根据调整后的资源分配配置数据实现多核处理器上异构系统间的资源分配。当然,也可以其他技术方案实现对多核处理器上异构系统间的资源分配的调整,例如也可以是在无需重启第一计算机设备的情况下实现,本实施例对此不作具体限定。

进一步,在上述技术方案的基础上,在通过实时操作系统读取并解析资源分配配置数据,确定出分配给实时操作系统的目标硬件资源之后,还包括:

通过实时操作系统中预先创建的应用程序接口,根据资源分配配置数据,响应接收到的实时操作系统占用资源查询请求。

实时操作系统占用资源查询请求,指的是用于查询实时操作系统单独占用的硬件资源的请求。其中,实时操作系统占用资源查询请求,可以是用户发起的,也可以是系统内部程序发起的。

预先创建的应用程序接口,指的是预先创建的用于实现实时操作系统占用资源查询功能的应用程序接口。

该应用程序接口,接收到实时操作系统占用资源查询请求之后,查询资源分配配置数据,以得到实时操作系统占用的目标硬件资源,并根据该目标硬件资源生成匹配的实时操作系统占用资源查询响应,进行反馈。

上述实施方式中提供了应用程序接口,便于用户和/或系统内部在存在需求时对多核处理器上异构系统间的当前资源分配中实时操作系统占用的目标硬件资源进行查询。

本发明实施例提供的技术方案中,通过非实时操作系统加载资源分配配置数据,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,同时释放所述目标硬件资源的使用权;通过实时操作系统解析资源分配配置数据确定出给其分配的目标硬件资源,以占用所述目标硬件资源,以此实现了将硬件资源在多核处理器上异构系统间(也即非实时操作系统和实时操作系统间)进行分配。

实施例2

图3是本发明实施例2提供的一种多核处理器上异构系统间的资源分配方法的流程图,本实施例在上述实施例的基础上进行具体化,其中,获取资源分配配置数据,包括:

通过非实时操作系统接收第二计算机设备通过目标集成开发环境发送的资源分配配置数据;

其中,目标集成开发环境用于在响应资源分配请求时,根据获取到的第一计算机设备的硬件资源信息生成资源分配配置数据。

如图3所示,本实施例提供的多核处理器上异构系统间的资源分配方法,应用于第一计算机设备,具体包括:

S210、通过非实时操作系统接收第二计算机设备通过目标集成开发环境发送的资源分配配置数据。

其中,目标集成开发环境用于在响应资源分配请求时,根据获取到的第一计算机设备的硬件资源信息生成资源分配配置数据。

与第一计算机设备对应的,本实施例涉及的第二计算机设备指的是多核处理器上异构系统间的资源分配的开发机,也即通过第二计算设备生成针对第一计算机设备中的多核处理器上异构系统进行硬件资源分配的配置数据。

集成开发环境(IDE,Integrated Development Environment),是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

在本实施例中,目标集成开发环境可以是任意一种IDE,安装于第二计算机设备中,与第一计算机设备中的非实时操作系统通信连接,用于响应用户发起的多核处理器上异构系统间资源分配请求,并生成与多核处理器上异构系统间资源分配请求对应的资源分配配置数据。

可选的,目标集成开发环境与第一计算机设备中的非实时操作系统建立通信连接之后,例如可以是通过串口或网络进行连接等,向所述非实时操作系统发送硬件资源统计请求,并获取非实时操作系统反馈的第一计算机设备所有硬件资源的信息,也即此时非实时操作系统占用的所有硬件资源的信息,例如可以是CPU核数、内存大小、PCI设备等。进而,可以在图形用户界面中将第一计算机设备所有硬件资源的信息提供给用户,以使用户根据实际需求发起多核处理器上异构系统间资源分配请求。

其中,多核处理器上异构系统间资源分配请求,具体可以是为实时操作系统分配硬件资源的请求,请求中包括将哪些硬件资源分配给实时操作系统。

目标集成开发环境在响应该多核处理器上异构系统间资源分配请求时,并根据获取到的第一计算机设备所有硬件资源的信息编译生成资源分配配置数据,并发送至第一计算机设备中的非实时操作系统,以实现第一计算机设备中多核处理器上异构系统间的资源分配。可选的,资源分配配置数据为资源分配配置二进制文件。

作为一种可选的实施方式,通过所述非实时操作系统加载的实时操作系统镜像文件为:获取资源分配配置数据时,通过所述非实时操作系统接收第二计算机设备通过目标集成开发环境发送的实时操作系统镜像文件。

也即,获取资源分配配置数据时,可以通过非实时操作系统接收第二计算机设备通过目标集成开发环境发送的实时操作系统镜像文件。

在本实施方式中,实时操作系统镜像文件可以同资源分配配置数据一起通过第二计算机设备中的目标集成开发环境向第一计算机设备中的非实时操作系统发送。

S220、通过非实时操作系统加载资源分配配置数据,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权。

作为一种可选的实施方式,获取资源分配配置数据时,还包括:

通过非实时操作系统接收第二计算机设备通过目标集成开发环境发送的目标脚本文件。

相应的,通过非实时操作系统加载资源分配配置数据,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权,可以具体为:

通过非实时操作系统运行目标脚本文件,将资源分配配置数据加载到内存,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权的操作。

在本实施方式中,目标集成开发环境在编译生成资源分配配置数据的同时,还可以编译生成目标脚本文件,例如可以是bash脚本文件,与资源分配配置数据一同向第一计算机设备中的非实时操作系统发送。其中,目标脚本文件中包括指示非实时操作系统进行相关操作的多条指令,以使非实时操作系统执行多核处理器上异构系统间的资源分配方法中的相关操作,具体可以包括:加载资源分配配置数据到内存,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权的操作。

在另一种可选的实施方式中,在通过非实时操作系统接收第二计算机设备通过目标集成开发环境发送的实时操作系统镜像文件的情况下,通过非实时操作系统运行目标脚本文件,可以实现将资源分配配置数据和实时操作系统镜像文件加载到内存,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权的操作。

在本实施方式中,目标集成开发环境在编译生成资源分配配置数据的同时,编译生成目标脚本文件与资源分配配置数据以及实时操作系统镜像文件一同向第一计算机设备中的非实时操作系统发送。其中,目标脚本文件中包括指示非实时操作系统进行相关操作的多条指令,以使非实时操作系统执行多核处理器上异构系统间的资源分配方法中的相关操作,具体可以包括:加载资源分配配置数据和实时操作系统镜像文件到内存,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权的操作。

S230、通过非实时操作系统根据加载的实时操作系统镜像文件启动实时操作系统。

S240、通过实时操作系统读取资源分配配置数据,对资源分配配置数据进行解析,确定出分配给实时操作系统的目标硬件资源,以占用目标硬件资源。

可选的,通过实时操作系统对资源分配配置数据进行解析,包括:通过实时操作系统,根据与目标集成开发环境对应的数据结构对资源分配配置数据进行解析。

其中,目标集成开发环境生成数据的数据结构,实时操作系统是预知的,进而在读取资源分配配置数据之后,即可根据与目标集成开发环境对应的数据结构对资源分配配置数据进行解析,以确定给其分配的目标硬件资源的信息。

本实施例未尽详细解释之处请参见前述实施例,在此不再赘述。

在上述技术方案中,通过目标集成开发环境生成实现多核处理器上异构系统间的资源分配配置数据,并向非实时操作系统发送,以使多核处理器上非实时操作系统和实时操作系统可以通过解析资源分配配置数据确定给实时操作系统分配的硬件资源,进而实现二者之间的资源分配。

实施例3

图4是本发明实施例3提供的一种多核处理器上异构系统间的资源分配系统的结构示意图,本实施例可适用于在多核处理器上异构系统间(非实时操作系统和实时操作系统间)进行硬件资源分配的情况。

如图4所示,本实施例提供的多核处理器上异构系统间的资源分配系统,具体包括:第一计算机设备310和第二计算机设备320,其中,

第二计算机设备320,用于通过目标集成开发环境获取第一计算机设备310的硬件资源信息,在响应资源分配请求时,根据第一计算机设备310的硬件资源信息生成资源分配配置数据,发送至第一计算机设备310;

第一计算机设备310,用于通过非实时操作系统加载资源分配配置数据,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权;通过实时操作系统读取资源分配配置数据,对资源分配配置数据进行解析,确定出分配给实时操作系统的目标硬件资源,以占用目标硬件资源。

其中,本实施例涉及的第一计算机设备指的是多核处理器上异构系统间的资源分配的目标机,也即本发明实施例是针对第一计算机设备中的多核处理器上异构系统进行硬件资源分配。

本实施例涉及的第二计算机设备指的是多核处理器上异构系统间的资源分配的开发机,也即通过第二计算设备生成针对第一计算机设备中的多核处理器上异构系统进行硬件资源分配的配置数据。

第二计算机设备中的目标集成开发环境与第一计算机中的非实时操作系统建立通信连接之后,例如可以是通过串口或网络进行连接等,获取非实时操作系统反馈的第一计算机设备所有硬件资源的信息,也即此时非实时操作系统占用的所有硬件资源的信息,例如可以是CPU核数、内存大小、PCI设备等。

第二计算机设备通过目标集成开发环境在响应资源分配请求时,根据第一计算机设备的硬件资源信息生成资源分配配置数据,并通过目标集成开发环境向第一计算机设备的非实时操作系统发送资源分配配置数据。

其中,资源分配请求,具体可以是为实时操作系统分配硬件资源的请求,请求中包括将哪些硬件资源分配给实时操作系统。

目标集成开发环境在响应资源分配请求时,并根据获取到的第一计算机设备所有硬件资源的信息编译生成资源分配配置数据。可选的,资源分配配置数据为资源分配配置二进制文件。

第一计算机设备通过非实时操作系统接收第二计算机设备发送的资源分配配置数据之后,执行如下操作:

通过非实时操作系统加载资源分配配置数据,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权;通过实时操作系统读取资源分配配置数据,对资源分配配置数据进行解析,确定出分配给实时操作系统的目标硬件资源,以占用所述目标硬件资源。

可选的,第一计算机设备在通过实时操作系统读取资源分配配置数据之前,通过非实时操作系统加载实时操作系统镜像文件,并根据实时操作系统镜像文件启动实时操作系统。

可选的,实时操作系统镜像文件为:获取资源分配配置数据时,通过所述非实时操作系统接收第二计算机设备通过目标集成开发环境发送的实时操作系统镜像文件。

可选的,第一计算机设备通过实时操作系统根据非实时操作系统通过寄存器传递的内存地址读取资源分配配置数据。

可选的,第一计算机设备通过实时操作系统根据与目标集成开发环境对应的数据结构对所述资源分配配置数据进行解析。

可选的,第一计算机设备在通过实时操作系统读取并解析资源分配配置数据,确定出分配给实时操作系统的目标硬件资源之后,还包括:通过实时操作系统中预先创建的应用程序接口,根据资源分配配置数据,响应接收到的实时操作系统占用资源查询请求。

在上述技术方案中,通过目标集成开发环境生成实现多核处理器上异构系统间的资源分配配置数据,并向非实时操作系统发送,以使多核处理器上非实时操作系统和实时操作系统可以通过解析资源分配配置数据确定给实时操作系统分配的硬件资源,进而实现二者之间的资源分配。

进一步的,作为一种可选的实施方式,第二计算机设备通过目标集成开发环境还向第一计算机设备发送目标脚本文件,以使第一计算机设备通过非实时操作系统运行目标脚本文件;其中,

在目标脚本文件运行时,第一计算机设备的非实时操作系统实现加载资源分配配置数据到内存,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权的操作。

作为另一种可选的实施方式,第二计算机设备通过目标集成开发环境还向第一计算机设备发送目标脚本文件,以使第一计算机设备通过非实时操作系统运行目标脚本文件;其中,

在目标脚本文件运行时,第一计算机设备的非实时操作系统实现加载资源分配配置数据和实时操作系统镜像文件到内存,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权的操作。

本实施例未尽详细解释之处请参见前述实施例,在此不再赘述。

实施例4

图5是本发明实施例4提供的一种多核处理器上异构系统间的资源分配方法的流程图。在上述实施例的基础上,本实施例提供了一种具体的实施方式。

示例性的,第一计算机设备的硬件资源包括但不限于PCI网卡设备及inteli57500 cpu处理器;目标集成开发环境为对开源进行修改的集成开发环境,非实时操作系统为自主修改编译的linux操作系统,实时操作系统为自行研发的实时操作系统。

在第一计算机设备中安装非实时操作系统,安装完成后启动非实时操作系统,即可执行本实施例提供的多核处理器上异构系统间的资源分配方法。

如图5所示,本实施例提供的多核处理器上异构系统间的资源分配方法,包括:

S410、第二计算机设备通过目标集成开发环境获取第一计算机设备的硬件资源信息。

目标集成开发环境与非实时操作系统通过网络通信,获取非实时操作系统的硬件资源信息,包括CPU类型、核数、PCI设备、总线设备功能号,以及其他一些硬件信息等。

S420、第二计算机设备通过目标集成开发环境在响应资源分配请求时,根据第一计算机设备的硬件资源信息生成资源分配配置二进制文件,以及生成目标脚本文件。

假设,资源分配请求指示将PCI网卡设备以及部分CPU核分配给实时操作系统。目标集成开发环境响应该资源分配请求时,目标集成开发环境生成一些配置文件,包括一些c语言类型的数据结构文件和linux上运行的目标脚本文件,如bash脚本文件,再通过编译,将c文件生成资源分配配置二进制文件。

S430、第二计算机设备通过目标集成开发环境将资源分配配置二进制文件、目标脚本文件以及实时操作系统镜像文件向第一计算机设备发送。

目标集成开发环境与非实时操作系统通过网络通信,将资源分配配置二进制文件、目标脚本文件以及实时操作系统镜像文件下载到非实时操作系统中。

S440、第一计算机设备通过非实时操作系统接收资源分配配置二进制文件、目标脚本文件以及实时操作系统镜像文件。

S450、第一计算机设备通过非实时操作系统运行目标脚本文件,在目标脚本文件运行时,非实时操作系统加载资源分配配置数据和实时操作系统镜像文件到内存中,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放目标硬件资源的使用权的操作。

非实时操作系统解析资源分配配置数据确定出分配给实时操作系统的CPU核号以及PCI网卡设备信息,则执行释放目标硬件资源的使用权的操作。示例性的,针对分配给实时操作系统的PCI网卡设备,非实时操作系统将其设置为down状态,不再使用该PCI网卡设备,以使实时操作系统可以独占该PCI网卡设备;针对分配给实时操作系统的CPU核,非实时操作系统将其下线,并下线的核进行初始化,以使其可以运行实时操作系统,进而即可实现AMP模式的运行,也即不同的核运行不同的操心系统。

S460、第一计算机设备通过非实时操作系统根据实时操作系统镜像文件启动实时操作系统。

S470、第一计算机设备通过实时操作系统读取资源分配配置数据,对资源分配配置数据进行解析,确定出分配给实时操作系统的目标硬件资源,以占用目标硬件资源。

可选的,非实时操作系统将资源分配配置数据的内存地址通过寄存器传递给实时操作系统,使实时操作系统可以根据内存地址读取资源分配配置数据。

可选的,实时操作系统在读取资源分配配置数据之后,可以根据与目标集成开发环境对应的数据结构对资源分配配置数据进行解析,确定出给其分配的目标硬件资源,进而完成对目标硬件资源的占用操作。

进一步的,实时操作系统还可以提供一个应用程序接口,用于响应接收到的用户发起的,也可以是系统内部程序发起的实时操作系统占用资源查询请求,在响应实时操作系统占用资源查询请求时反馈分配给实时操作系统的硬件资源的信息,例如分配给实时操作系统的PCI设备信息,设备的总线设备功能号等。

本实施例未尽详细解释之处请参见前述实施例,在此不再赘述。

实施例5

图6是本发明实施例5提供的一种多核处理器上异构系统间的资源分配装置的结构示意图,本实施例可适用于在多核处理器上异构系统间(非实时操作系统和实时操作系统间)进行硬件资源分配的情况,该装置可以通过软件和/或硬件的方式实现,该装置可以集成在计算机设备中。

如图6所示,本实施例提供的多核处理器上异构系统间的资源分配装置,应用于第一计算机设备,具体包括:资源分配配置数据获取模块510、非实时操作系统释放资源使用权模块520和实时操作系统资源占用模块530。其中,

资源分配配置数据获取模块510,用于获取资源分配配置数据;

非实时操作系统释放资源使用权模块520,用于通过非实时操作系统加载资源分配配置数据,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权;

实时操作系统资源占用模块530,用于通过所述实时操作系统读取所述资源分配配置数据,对所述资源分配配置数据进行解析,确定出分配给所述实时操作系统的目标硬件资源,以占用所述目标硬件资源。

本发明实施例提供的技术方案,通过非实时操作系统加载资源分配配置数据和实时操作系统镜像文件,解析资源分配配置数据确定出分配给实时操作系统的目标硬件资源,同时释放所述目标硬件资源的使用权;在通过非实时操作系统启动实时操作系统之后,通过实时操作系统解析资源分配配置数据确定出给其分配的目标硬件资源,以占用所述目标硬件资源,以此实现了将硬件资源在多核处理器上异构系统间(也即非实时操作系统和实时操作系统间)进行分配。

可选的,上述装置还包括:实时操作系统启动模块,用于在通过所述实时操作系统读取所述资源分配配置数据之前,通过所述非实时操作系统根据所述实时操作系统镜像文件启动实时操作系统;

其中,实时操作系统镜像文件为:获取资源分配配置数据时,通过所述非实时操作系统接收第二计算机设备通过目标集成开发环境发送的实时操作系统镜像文件。

可选的,资源分配配置数据获取模块510,具体用于通过所述非实时操作系统接收第二计算机设备通过目标集成开发环境发送的资源分配配置数据;

其中,所述目标集成开发环境用于在响应资源分配请求时,根据获取到的所述第一计算机设备的硬件资源信息生成所述资源分配配置数据。

可选的,上述装置还包括:实时操作系统镜像文件接收模块,用于在获取资源分配配置数据时,通过所述非实时操作系统接收所述第二计算机设备通过所述目标集成开发环境发送的实时操作系统镜像文件。

可选的,上述装置还包括:脚本文件接收模块,用于在获取资源分配配置数据时,通过所述非实时操作系统接收所述第二计算机设备通过所述目标集成开发环境发送的目标脚本文件;相应的,非实时操作系统释放资源使用权模块520,具体用于通过所述非实时操作系统运行所述目标脚本文件,将所述资源分配配置数据加载到内存,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权的操作。

可选的,实时操作系统资源占用模块530,具体用于通过所述实时操作系统,根据与所述目标集成开发环境对应的数据结构对所述资源分配配置数据进行解析。

可选的,上述装置还包括:实时操作系统资源占用查询模块,用于在通过所述实时操作系统读取并解析所述资源分配配置数据,确定出分配给所述实时操作系统的目标硬件资源之后,通过所述实时操作系统中预先创建的应用程序接口,根据资源分配配置数据,响应接收到的实时操作系统占用资源查询请求。

可选的,实时操作系统资源占用模块530,具体用于通过所述实时操作系统根据内存地址读取所述资源分配配置数据;其中,所述内存地址是由所述非实时操作系统通过寄存器传递给所述实时操作系统的。

本发明实施例所提供的多核处理器上异构系统间的资源分配装置可执行本发明任意实施例所提供的应用于第一计算机设备中的多核处理器上异构系统间的资源分配方法,具备执行方法相应的功能模块和有益效果。

实施例6

图7为本发明实施例6提供的一种计算机设备的硬件结构示意图,如图7所示,该计算机设备包括:

一个或多个处理器610,图7中以一个处理器610为例;

存储器620;

所述计算机设备还可以包括:输入装置630和输出装置640。

所述计算机设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图7中以通过总线连接为例。

存储器620作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的应用于第一计算机设备的一种多核处理器上异构系统间的资源分配方法对应的程序指令/模块(例如,附图6所示的多核处理器上异构系统间的资源分配装置包括的资源分配配置数据获取模块510、非实时操作系统释放资源使用权模块520和实时操作系统资源占用模块530)。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的应用于第一计算机设备的一种多核处理器上异构系统间的资源分配方法,包括:

获取资源分配配置数据;

通过非实时操作系统加载所述资源分配配置数据,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权;

通过所述实时操作系统读取所述资源分配配置数据,对所述资源分配配置数据进行解析,确定出分配给所述实时操作系统的目标硬件资源,以占用所述目标硬件资源。

存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。

实施例7

本发明实施例7还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现如本发明任意实施例所述的应用于第一计算机设备的一种多核处理器上异构系统间的资源分配方法,包括:

获取资源分配配置数据;

通过非实时操作系统加载所述资源分配配置数据,解析所述资源分配配置数据确定出分配给实时操作系统的目标硬件资源,并释放所述目标硬件资源的使用权;

通过所述实时操作系统读取所述资源分配配置数据,对所述资源分配配置数据进行解析,确定出分配给所述实时操作系统的目标硬件资源,以占用所述目标硬件资源。

可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的一种多核处理器上异构系统间的资源分配方法的技术方案。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述多核处理器上异构系统间的资源分配装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

虽然,上文中已经用一般性说明、具体实施方式及试验,对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

相关技术
  • 异构系统间的资源分配方法、系统、装置、设备及介质
  • 一种设备间系统的小区资源分配方法及装置
技术分类

06120112533635