一种多操作系统启动的方法、装置、设备及存储介质与流程

文档序号:17357269发布日期:2019-04-09 21:47阅读:180来源:国知局
一种多操作系统启动的方法、装置、设备及存储介质与流程

本发明涉及系统软件领域,特别涉及一种多操作系统启动的方法、装置、设备及存储介质。



背景技术:

中央处理器正朝着多核化、高集成化、高性能化方向高速发展。为避免摩尔定律失效,处理器多核化已经成为化解困境的常规手段,这使得物理上的多线程并行计算成为了可能。芯片制作工艺急速提高,十年前130纳米工艺发展至现阶段个位数纳米级工艺,芯片单位面积处理能力极大提高,内存容量单位也从兆字节增长到千兆字节,硬件计算平台足以支撑多个系统软件同时运行。

智能技术的发展,有着更加丰富、细致的性能需求。传统单一操作系统的计算模式已经无法在提供丰富交互功能的同时,提供低时延高性能的计算处理服务。多类型架构处理器与操作系统搭配,各取所长,才能满足日益苛刻的计算需求。如何将多类型的操作系统在多核心处理器平台加载启动,成为业界共同面对的一道难题。



技术实现要素:

本发明实施例依托于高性能多核计算平台(或多核心处理器平台),提供了一种多操作系统启动的方法、装置、设备及存储介质,解决多操作系统在多核心处理器平台上引导启动的问题,以满足日益复杂的计算需求。

根据本发明实施例提供的一种多操作系统启动的方法,包括:

多核处理器平台为每个操作系统确定启动顺序;

所述多核处理器平台为每个所述操作系统分配启动所需的内存空间和处理器核心;

所述多核处理器平台开机时,按照每个所述操作系统的启动顺序,至少利用为每个所述操作系统分配的处理器核心,将每个所述操作系统加载到所分配的内存空间,并启动每个所述操作系统。

优选地,所述多核处理器平台为每个操作系统确定启动顺序包括:

所述多核处理器平台在需要启动的每个所述操作系统中选取一个操作系统作为先行启动操作系统,并将其他操作系统作为后续启动操作系统。

优选地,所述按照每个所述操作系统的启动顺序,至少利用为每个所述操作系统分配的处理器核心,将每个所述操作系统加载到所分配的内存空间,并启动每个所述操作系统包括:

所述多核处理器平台根据每个所述操作系统的启动顺序,确定需要启动的当前操作系统是否是所述先行启动操作系统;

若所述当前操作系统是所述先行启动操作系统,则所述多核处理器平台利用为所述先行启动操作系统分配的处理器核心,或者利用为所述后续启动操作系统分配的处理器核心中的至少一个处理器核心和为所述先行启动操作系统分配的处理器核心,将所述先行启动操作系统加载至所述先行启动操作系统的内存空间,并启动所述先行启动操作系统;

在所述先行启动操作系统启动完成后,利用所述先行启动操作系统,将所述后续启动操作系统加载至所述后续启动操作系统的内存空间,并利用所述后续启动操作系统的处理器核心,启动所述后续启动操作系统。

优选地,还包括:

在启动所述后续启动操作系统之前,将所述先行启动操作系统占用的所述后续启动操作系统的处理器核心复位。

根据本发明实施例提供的一种多操作系统启动的装置,包括:

启动规划模块,用于为多核处理器平台的每个操作系统确定启动顺序;

资源分配模块,用于为所述多核处理器平台的每个所述操作系统分配启动所需的内存空间和处理器核心;

系统启动模块,用于在所述多核处理器平台开机时,按照每个所述操作系统的启动顺序,至少利用为每个所述操作系统分配的处理器核心,将每个所述操作系统加载到所分配的内存空间,并启动每个所述操作系统。

优选地,所述启动规划模块在需要启动的每个所述操作系统中选取一个操作系统作为先行启动操作系统,并将其他操作系统作为后续启动操作系统。

优选地,所述系统启动模块根据每个所述操作系统的启动顺序,确定需要启动的当前操作系统是否是所述先行启动操作系统,若所述当前操作系统是所述先行启动操作系统,则利用为所述先行启动操作系统分配的处理器核心,或者利用为所述后续启动操作系统分配的处理器核心中的至少一个处理器核心和为所述先行启动操作系统分配的处理器核心,将所述先行启动操作系统加载至所述先行启动操作系统的内存空间,并启动所述先行启动操作系统,在所述先行启动操作系统启动完成后,利用所述先行启动操作系统,将所述后续启动操作系统加载至所述后续启动操作系统的内存空间,并利用所述后续启动操作系统的处理器核心,启动所述后续启动操作系统。

优选地,所述系统启动模块在启动所述后续启动操作系统之前,将所述先行启动操作系统占用的所述后续启动操作系统的处理器核心复位。

根据本发明实施例提供的一种多操作系统启动的设备,包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的多操作系统启动的程序,所述多操作系统启动的程序被所述处理器执行时实现上述的多操作系统启动的方法的步骤。

根据本发明实施例提供的一种存储介质,其上存储有多操作系统启动的程序,所述多操作系统启动的程序被处理器执行时实现上述的多操作系统启动的方法的步骤。

本发明实施例提供的技术方案具有如下有益效果:

同构及异构多核处理器硬件平台采用本发明实施例的方法,可完成多操作系统加载启动任务,填补了业界多操作系统运行方案的技术空白。

附图说明

图1是本发明实施例提供的多操作系统启动的方法流程图;

图2是本发明实施例提供的多操作系统启动的装置框图;

图3是本发明实施例提供的多操作系统启动的设备框图;

图4是实例操作系统处理器核心及内存空间规划示意图;

图5是本发明实施例的方法流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

为满足日益复杂的计算需求,本发明实施例依托于高性能多核计算平台(或多核心处理器平台),提供了多类型操作系统在多核计算平台(或多核心处理器平台)的加载启动方法。

图1是本发明实施例提供的多操作系统启动的方法流程图,如图1所示,步骤包括:

步骤s101:多核处理器平台为每个操作系统确定启动顺序。

多核处理器平台从多类型的操作系统中选取一个操作系统作为先行启动操作系统,并将其他操作系统作为后续启动操作系统。

步骤s102:多核处理器平台为每个所述操作系统分配启动所需的内存空间和处理器核心。

步骤s103:多核处理器平台开机时,按照每个所述操作系统的启动顺序,至少利用为每个所述操作系统分配的处理器核心,启动已加载到每个所述操作系统的内存空间的每个所述操作系统。优选地,在先行操作系统启动后,将后续操作系统加载至相应的内存空间,并在复位借用的后续操作系统的处理器核心后,启动后续操作系统。

具体地说,本发明实施例提供以下实施方式:

实施方式1.多核处理器平台在需要启动的每个所述操作系统中选取一个操作系统作为先行启动操作系统,并将其他操作系统作为后续启动操作系统。多核处理器平台开机时,多核处理器平台根据每个所述操作系统的启动顺序,确定需要启动的当前操作系统是否是所述先行启动操作系统,若所述当前操作系统是所述先行启动操作系统,则所述多核处理器平台利用为所述先行启动操作系统分配的处理器核心,将所述先行启动操作系统加载至分配给所述先行启动操作系统的内存空间,从而启动所述先行启动操作系统;在所述先行启动操作系统启动完成后,利用所述先行启动操作系统,将所述后续启动操作系统加载至分配给所述后续启动操作系统的内存空间,并控制分配给所述后续启动操作系统的处理器核心,启动已加载的相应后续启动操作系统。

实施方式2.多核处理器平台在需要启动的每个所述操作系统中选取一个操作系统作为先行启动操作系统,并将其他操作系统作为后续启动操作系统。多核处理器平台开机时,多核处理器平台根据每个所述操作系统的启动顺序,确定需要启动的当前操作系统是否是所述先行启动操作系统,若所述当前操作系统是所述先行启动操作系统,则所述多核处理器平台利用利用为所述后续启动操作系统分配的处理器核心中的至少一个处理器核心和为所述先行启动操作系统分配的处理器核心,将所述先行启动操作系统加载至分配给所述先行启动操作系统的内存空间,从而启动所述先行启动操作系统,在所述先行启动操作系统启动完毕后,利用所述先行启动操作系统,将所述后续启动操作系统加载至分配给所述后续启动操作系统的内存空间,然后将所述先行启动操作系统占用的所述后续启动操作系统的处理器核心复位,并控制所述后续启动操作系统的处理器核心,启动已加载的相应后续启动操作系统。例如先行启动操作系统a借用了后续启动操作系统b的处理器核心,只需要在b启动前,复位被a借用的b的处理器核心即可。

实施方式1和实施方式2将多操作系统的启动分为两个阶段,第一阶段为一个先行启动操作系统的启动阶段,第二阶段为后续启动操作系统的启动阶段。实施方式1和实施方式2的区别包括,实施方式1在启动所述先行启动操作系统期间,仅利用为所述先行启动操作系统分配的处理器核心启动所述先行启动操作系统;实施方式2在启动所述先行启动操作系统期间,不仅利用为先行启动操作系统分配的处理器核心启动所述先行启动操作系统,还可以同时利用为后续启动操作系统分配的处理器核心(即尚未用于启动和运行操作系统的其它处理器核心)中的至少一个启动所述先行启动操作系统,与实施方式1比较,提高了启动速度。

所述后续操作系统的系统软件版本可存储于本地,也可来自网络。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中。进一步说,本发明还可以提供一种存储介质,其上存储有多操作系统启动的程序,所述多操作系统启动的程序被处理器执行时实现上述的多操作系统启动的方法的步骤。其中,所述处理器是多核处理器;所述的存储介质可以包括rom/ram、磁碟、光盘、u盘。

图2是本发明实施例提供的多操作系统启动的装置框图,如图2所示,包括:

启动规划模块,用于为多核处理器平台的每个操作系统确定启动顺序;

资源分配模块,用于为所述多核处理器平台的每个所述操作系统分配启动所需的内存空间和处理器核心;

系统启动模块,用于在所述多核处理器平台开机时,按照每个所述操作系统的启动顺序,至少利用为每个所述操作系统分配的处理器核心,将每个所述操作系统加载到所分配的内存空间,并启动每个所述操作系统。

所述装置的工作过程包括:启动规划模块在需要启动的每个所述操作系统中选取一个操作系统作为先行启动操作系统,并将其他操作系统作为后续启动操作系统。多核处理器平台开机时,系统启动模块根据每个所述操作系统的启动顺序,确定需要启动的当前操作系统是所述先行启动操作系统时,系统启动模块利用资源分配模块为所述先行启动操作系统分配的处理器核心,或者利用资源分配模块为所述后续启动操作系统分配的处理器核心中的至少一个处理器核心和为所述先行启动操作系统分配的处理器核心,将所述先行启动操作系统加载到为所述先行启动操作系统所分配的内存空间,从而启动所述先行启动操作系统,在所述先行启动操作系统启动完毕后,系统启动模块利用先行启动操作系统,将所述后续启动操作系统加载到所分配的内存空间,然后将所述先行启动操作系统占用的所述后续启动操作系统的处理器核心复位,并控制资源分配模块为所述后续启动操作系统分配的处理器核心,启动已加载的所述后续启动操作系统。

图3是本发明实施例提供的多操作系统启动的设备框图,如图3所示,包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的多操作系统启动的程序,所述多操作系统启动的程序被所述处理器执行时实现上述的多操作系统启动的方法的步骤。其中,所述处理器可以是多核处理器。

概括地说,本发明实施例解决多核处理器平台下,多操作系统加载启动难题,提供一种去虚拟机化的多操作系统启动方案。本发明实施例的多核处理器平台多操作系统启动的方法包括以下步骤:

第一步:规划操作系统启动策略。

将需要启动的多操作系统规划为某一先行启动的操作系统(preos)与后续启动的多个操作系统(nextoss)。

第二步:规划各操作系统所使用的处理器核心及内存空间,其中处理器核心可为异构多核。

第三步:加载preos系统软件版本,启动preos。

preos所使用的处理器核心包含但不限于第二步中指定的处理器核心。

第四步:preos启动完成。

若启动过程有使用nextoss的处理器核心,则复位nextoss处理器核心。

第五步:获取并加载nextoss系统软件版本至第二步中规划的内存空间。

第六步:控制第二步中规划的处理器核心启动对应nestoss,所有操作系统启动完成。

也就是说,基于多核处理器的硬件特性,将多操作系统启动阶段规划为先行启动的操作系统(preos)及后续启动的多个操作系统(nextoss)两大启动阶段;preos启动阶段同时运行的处理器核心可包含但不限于最终运行的处理器核心;preos启动完成后,利用核间通讯机制复位借用的处理器核心;加载nextoss软件版本,利用核间通讯机制控制对应处理器核心启动nextoss。

图4是实例操作系统处理器核心及内存空间规划示意图,图5是本发明实施例的方法流程图,下面结合图4和图5对本发明的实施作进一步的详细描述。

步骤一:将实例操作系统划分为preos及nextoss。

步骤二:启动完成后时,preos使用核心1至5,nextos#1使用核心6至8,...,nextos#n使用最后的四个核心:m、m-1、m-2、m-3;preos使用地址空间addr#1至addr#2,nextos#1使用地址空间addr#2至addr#3,...,nextos#n使用地址空间addr#n至addr#n+1。

步骤三:preos启动阶段所使用的处理器核心为核心1至8,借用nextos#1处理器核心,加快启动速度。

步骤四:preos启动完成后,将核心6至8复位。

步骤五:加载各nextoss系统软件版本至步骤一规划的内存空间。

步骤六:控制nextoss对应的处理器核心启动对应操作系统,所有操作系统启动完成。

综上所述,本发明的实施例具有以下技术效果:

本发明实施例为多核处理器平台下多操作系统启动提供了一种稳定可靠的方法。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1