CN114064128B - 内核重启方法 - Google Patents
内核重启方法 Download PDFInfo
- Publication number
- CN114064128B CN114064128B CN202010749138.7A CN202010749138A CN114064128B CN 114064128 B CN114064128 B CN 114064128B CN 202010749138 A CN202010749138 A CN 202010749138A CN 114064128 B CN114064128 B CN 114064128B
- Authority
- CN
- China
- Prior art keywords
- physical core
- physical
- modified
- entry address
- core
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims description 17
- 230000009191 jumping Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 16
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004140 cleaning Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/442—Shutdown
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种内核重启方法,为处理器中的物理核预留内存用于存储物理核的入口地址以及代码段。以内核热替换场景为例,当计算机系统停止执行旧内核时,向物理核发送中断以使得物理核进入忙等状态。当计算机系统启动新内核时,会修改物理核的入口地址。处于忙等状态的物理核查询到入口地址被修改时,会退出忙等状态,执行物理核的初始化流程,接收新内核的任务调度。整个过程中物理核均处于上电状态,相比于现有技术需要物理核下电再上电,本申请实施例提供的方法可以节省内核重启所需的时间,提高计算机系统使用者的用户体验。
Description
技术领域
本申请涉及操作系统领域,具体涉及一种内核重启方法。
背景技术
现代计算机系统宏观上看由硬件层和软件层组成,其中硬件层可以包括一个或多个处理器、存储器、输入/输出设备;软件层有包括操作系统和应用程序。操作系统是管理和控制计算机软件与硬件资源的计算机程序,是运行在物理机上的基本的系统软件,应用程序需要在操作系统的支持下才能运行。当重启物理机或者更新操作系统的内核版本时,若重启计算机系统所需的时间过久会给使用者造成较差的用户体验。
启动计算机系统所需的时间主要包括三部分:启动系统固件(例如基本输入输出系统(basic input/output system,BIOS))所需的时间、硬件初始化所需的时间和重启内核所需的时间。其中硬件初始化的时间和系统固件的启动时间消耗了大部分时间。Kexec(kernel execution)是Linux内核的一种机制,用于从当前运行的旧内核引导至新内核并启动新内核来完成内核版本的更新。kexec会跳过启动系统固件的阶段和硬件初始化的阶段,直接将新内核加载到内存并开始执行新内核,因此能够缩短计算机系统的启动时间。虽然kexec能够跳过比较耗时的启动系统固件和硬件初始化这两个阶段,但是调试过程中发现更新内核版本的过程中物理核的下电(down)到上电(up)过程非常耗时。
发明内容
本申请提供一种内核重启的方法,能够缩短内核重启所需的时间,提高用户体验。
第一方面,本申请提供了一种内核重启方法,该方法包括:接收停止执行内核的请求;将物理核的状态设置为忙等状态;位于忙等状态下的所述物理核查询所述物理核的入口地址是否被修改;确定所述物理核的入口地址被修改后,将所述物理核的状态设置为退出忙等状态;执行所述物理核的初始化流程。
处于忙等状态的物理核处于空载状态,不接收内核下发的任何任务。处于忙等状态的物理核查询到入口地址被修改时,会退出忙等状态,执行物理核的初始化流程,之后接收新内核的任务调度。整个过程中物理核均处于上电状态,相比于现有技术需要物理核下电再上电,本申请实施例提供的方法可以节省内核重启所需的时间,提高计算机系统使用者的用户体验。
在一种实现方式中,物理核为多个,所述将所述物理核的状态设置为忙等状态包括:响应于接收到所述请求,同时向处理器中一个或多个所述物理核发送中断;响应于接收到所述中断,将所述物理核的状态设置为忙等状态。忙等(busy waiting)是内核锁(lock)中的一个状态。
在一种实现方式中,物理核为多个,所述一个或多个物理核中每个物理核具有对应的内存空间用于存储物理核的入口地址。
在一种实现方式中,每个物理核对应的内存空间中还存储有代码段,所述位于忙等状态下的所述物理核查询所述物理核的入口地址是否被修改包括:所述物理核调用所述代码段中的指令,以执行查询所述物理核的入口地址是否被修改。
在一种实现方式中,方法还包括:响应于所述内核被启动,修改所述内存空间中所述物理核的入口地址以及所述代码段,修改后的入口地址为所述修改后的代码段的起始地址;所述修改后的代码段的指令被所述物理核调用用以执行所述物理核的初始化流程。
在一种实现方式中,所述确定所述物理核的入口地址被修改后,将所述物理核的状态设置为退出忙等状态,包括:
确定所述物理核的入口地址被修改,跳转至执行所述修改后的入口地址对应的代码段,所述修改后的入口地址为所述修改后的入口地址对应的代码段的起始地址,所述修改后的入口地址对应的代码段的指令被所述物理核调用以执行所述物理核的初始化流程。
第二方面,本申请提供一种内核重启装置,该装置包括:
接收单元,用于接收停止执行内核的请求;
处理单元,用于将物理核的状态设置为忙等状态;查询所述物理核的入口地址是否被修改;确定所述物理核的入口地址被修改后,将所述物理核的状态设置为退出忙等状态;执行所述物理核的初始化流程。处理单元具体可以指示位于忙等状态的物理核查询该物理核的入口地址是否修改。
在一种实现方式中,物理核为多个,所述处理单元具体用于:响应于接收到所述请求,同时向处理器中一个或多个所述物理核发送中断;响应于接收到所述中断,将所述物理核的状态设置为忙等状态。
在一种实现方式中,物理核为多个,所述一个或多个物理核中每个物理核具有对应的内存空间用于存储物理核的入口地址。
在一种实现方式中,所述每个物理核对应的内存空间中还存储有代码段,所述处理单元具体用于:调用所述代码段中的指令,以执行查询所述物理核的入口地址是否被修改
在一种实现方式中,所述装置还包括修改单元,用于响应于所述内核被启动,修改所述内存空间中所述物理核的入口地址以及所述代码段,修改后的入口地址为所述修改后的代码段的起始地址;所述修改后的代码段的指令被所述物理核调用用以执行所述物理核的初始化流程。
在一种实现方式中,所述处理单元具体用于:确定所述物理核的入口地址被修改,跳转至执行所述修改后的入口地址对应的代码段,所述修改后的入口地址为所述修改后的入口地址对应的代码段的起始地址,所述修改后的入口地址对应的代码段的指令被所述物理核调用以执行所述物理核的初始化流程。
第三方面,本申请提供一种计算机系统,该计算机系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器执行所述计算机指令以执行如第一方面及其任一种实现方式所描述的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,处理器执行所述计算机指令以执行如第一方面及其任一种实现方式所描述的方法。
第五方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机指令,该计算机指令被处理器调用以执行如第一方面及其任一种实现方式所描述的方法。
附图说明
图1为本申请实施例提供的计算机系统100的结构图;
图2为本申请实施例提供的计算机系统100的结构图;
图3为本申请实施例提供的内核重启流程示意图;
图4为本申请实施例提供的内核重启流程示意图;
图5为本申请实施例提供的内核重启装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。
图1为计算机系统100的结构示意图。计算机系统100可包括软件层(未示出)和硬件层103,软件层包括一个或多个应用程序101,和操作系统102,操作系统102中包括内核104。硬件层103包括处理器106、存储器105和通信接口107,操作系统102是用于管理硬件与软件资源的系统软件。
处理器106是计算机系统100的控制中心,利用各种接口和总线连接计算机系统100的各个部件。在一些实施例中,处理器106可包括一个或多个处理单元,或称为物理核,例如图1中处理器106包括核0和核1。处理器106还可以包括寄存器,寄存器可用于存储内核104的函数的地址。处理器106可以是中央处理单元(Central Processing Unit,CPU),该处理器106还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器106也可以是任何常规的处理器等。
存储器105中存储有计算机程序。处理器106被配置用于执行存储器105中的计算机程序,从而实现该计算机程序定义的功能。存储器105为非易失性存储介质,一般包括内存和外存。内存包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read-Only Memory,ROM),或高速缓存(cache)等。外存包括但不限于闪存(flashmemory)、硬盘、光盘、通用串行总线(universal serial bus,USB)盘等。计算机程序通常被存储在外存上,处理器在执行计算机程序前会将该程序从外存加载到内存。存储器105可以是独立的,通过总线与处理器106相连接;存储器105也可以和处理器106集成到一个芯片子系统。
通信接口107使用例如收发器一类的收发装置,来实现执行计算机系统100与其他设备或通信网络之间的通信。
BIOS 108是在通电引导阶段运行硬件初始化,以及为操作系统提供运行时服务的固件。固件是固化于硬件中的程序,在硬件出厂前已经固定在硬件中。BIOS是物理机上电后第一个要执行的程序。
在一种实现方式中,计算机系统100可以为物理设备,例如服务器或终端设备。终端设备可以是具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如,可以为移动电话、计算机、平板电脑、个人数码助理(personal digitalassistant,PDA)、移动互联网设备(mobile Internet device,MID)、可穿戴设备和电子书阅读器(e-book reader)等;也可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动设备。在这种实现方式下,计算机系统100的结构示意图如图2所示,计算机系统100包括存储器201、处理器202和通信接口203,存储器201、处理器202和通信接口203可分别为图1中存储器105、处理器106和通信接口107的部分或全部。图2中的存储器201、处理器202和通信接口203的实现方式可以参考图1中对应的描述。其中,存储器201中存储有操作系统205和应用程序204,还可存储在运行过程中操作系统205和应用程序204产生的数据。
在另一种实现方式中,计算机系统100可以为虚拟计算机,虚拟计算机为所有类型的虚拟化设备中软件虚拟出来的运行环境的统称,该概念包括虚拟机、容器。虚拟化作为云场景的核心技术,将硬件资源虚拟化后共享给多个用户使用,使用户能在安全隔离的前提下方便灵活地使用物理资源,并且能极大提升物理资源的利用率。虚拟计算机是所有类型的虚拟化设备中软件虚拟出来的运行环境的统称,该概念可包括虚拟机、容器。
当需要重启计算机系统时,重启时间过长会影响使用者的用户体验。以更新内核版本为例,在需要升级内核(如图1中内核104)的版本,使用新内核替代旧内核的场景下,kexec可以跳过启动BIOS和硬件初始化的阶段,将正在运行的旧内核引导至新内核。纵然kexec可以节省掉启动BIOS和硬件初始化所需的时间,但内核重启过程的时间依旧很长。这里的内核重启指的是由执行旧内核转变为启动新内核。在kexec机制中,内核重启涉及两个耗时的环节,物理核的下电和上电环节。
下面介绍下内核重启所涉及的物理核的下电和上电。多核处理器包括多个核,核还可以称为物理核,其中有主物理核(如图1中的核0)和一个或多个从物理核(如图1中的核1)。在内核重启阶段,一部分从物理核需要下电再上电。
下电过程具体为:内核接收到计算机重启指令(machine shutdown)后,由主物理核串行的向从物理核发送下线指令,例如主物理核0向从物理核1发送下线指令,从物理核1接收到下线指令后向从物理核2发送下线指令,依次这样通知从物理核。从物理核接收到下线指令后会进入清除状态(TEARDOWN),进行从物理核上任务的清理工作,例如关闭中断,暂停接收新任务,暂停正在处理的任务。接着从物理核被移出系统,不再被内核调度。对于内核来说,该从物理核的状态为离线状态。最后将从物理核断电,此时从物理核的状态为下电状态。
上电过程具体为:当接收到用于指示启动内核的指令时,从物理核从下电状态转为上电状态,并在上电后进行硬件检测和程序初始化。接着将从物理核引导至内核,设置从物理核的状态为在线状态,并开始从物理核的初始化,例如检测从物理核的负载能力、获取从物理核的硬件信息等。从物理核初始化完成后,内核将该从物理核的状态设置为活跃状态,活跃状态下的从物理核可以处理任务,参与进程调度。
然而单个从物理核下电和上电所消耗的时间大约占据内核重启整个过程所需时间的70%以上,占据重启计算机系统所需时间的约30%以上。并且因为串行的通知从物理核,所以重启时间还会随着物理核的数量的增加而线性增加。
内核重启可以包括两个阶段,内核的停止执行和内核的启动执行。下面以内核更新版本这一场景为例介绍本申请提供的内核重启方法,对于内核更新场景,停止执行的是旧内核,启动执行的是新内核。可以理解的是,对于非内核更新场景,停止执行的内核和启动执行的内核是同一个内核。
如图3所示,本申请实施例提供的内核重启的方法中,在停止执行旧内核指令后,响应于接收到中断,物理核CPU 1-n进入忙等状态,并且轮询(周期性查询)入口地址是否被修改。由于新内核被启动时,新内核会修改物理核的入口地址以通知物理核新内核已经被启动。因此当物理核CPU 1-n轮询确认入口地址被修改时,物理核退出忙等状态,进行初始化操作,接收新内核的任务调度。如图4所示,本申请提供的内核重启方法具体包括以下步骤:
步骤S301:在接收到用于指示停止执行旧内核的指令后,CPU 0(主物理核)分别向其他从物理核(图3中的CPU 1-n,n为正整数)发送核间中断(inter processorinterrupts,IPI);
停止执行旧内核代表旧内核不再接受新的调度,旧内核中正在处理的进程也被暂停。相比于现有技术中串行的向物理核发送下线指令,即主物理核向一个从物理核发送下线指令,再由该从物理核向下一次从物理核发送下线指令。本申请中是由主物理核并行的向其他从物理核发送IPI,多个从物理核能够同时或者近乎同时接收到中断指令,节省了串行发送指令的等待时间,缩短了内核重启所需的时间。
步骤S302:多个物理核CPU 1-n接收到中断后,进入忙等状态;
响应于接收到中断,物理核进入忙等状态。忙等状态下的物理核不接收任务调度,在内核中的状态为离线状态,但忙等状态下的物理核仍处于上电状态,并没有像现有技术那样下电。
步骤S303:物理核查询内存中该物理核的入口地址的值是否改变;
进入忙等状态下的物理核会读取内存中的代码段,代码段中存储的程序代码指示忙等状态的物理核查询内存中该物理核所对应的入口地址是否改变,每个物理核均在内存中查询自己的入口地址是否改变。
具体的,进入忙等状态时,物理核的入口地址的值为0,若物理核查询到入口地址的值为非0,则代表物理核的入口地址的值被改变。物理核的入口地址为非0代表新内核被启动,需要物理核退出忙等状态,执行物理核初始化,接受内核的任务调度。
可选的,物理核可周期性的查询入口地址;。
可选的,本申请实施例中,存储入口地址的内存可以为预留的内存。计算机系统执行内存分配时,可以预留一部分内存(S300)用于存储一个或多个物理核的入口地址,以及物理核进入忙等状态或退出忙等状态时要执行的代码段。其中,入口地址是物理核的入口地址,是代码段的初始地址;代码段(code segment/text segment)通常是指用来存放程序代码的一块内存区域。每个物理核都有各自对应的入口地址,以及各自进入忙等状态或退出忙等状态时要执行的代码段。当重启内核后,物理核可跳转到入口地址,执行代码段上存储的程序代码。
步骤S304:物理核确认入口地址被修改;
步骤S305:物理核退出忙等状态,执行物理核的初始化流程;
入口地址被修改代表新内核已经被启动,物理核需要退出忙等状态,执行物理核的初始化流程,然后接受新内核的任务调度。若物理核查询入口地址时发现入口地址被修改,例如入口地址为非0,则代表计算机系统进入启动新内核的阶段。此时物理核退出忙等状态,跳转至被修改后的入口地址,修改后的入口地址是新的代码段的初始地址,新的代码段用于指示物理核退出忙等状态,执行初始化流程。
可选的,在查询入口地址是否被修改之前,本申请还包括步骤S306:在新内核被启动后,被启动的新内核修改物理核CPU 1-n各自的入口地址。修改后的入口地址是新的代码段的初始地址,新的代码段中的代码用于指示物理核执行步骤305。
物理核的初始化流程可以包括检测物理核的负载能力、获取物理核的硬件信息,以及在非统一内存访问架构(non-uniform memory access,NUMA)中添加该物理核的标识。
在步骤S301之前,还可以包括预留内存(S300),具体的,S300可包括以下几个步骤。
步骤S300-1:系统启动时,在内存分配阶段为各个物理核预留内存,将该内存的初始值设置为0;
步骤S300-2:将为预留的内存中物理核的入口地址的值清零,并在预留内存中设置代码段,该代码段中的代码用于指示物理核查询入口地址的值是否改变;
将入口地址清零可以防止新老地址混淆,因为在上一轮内核重新启动或者是新内核启动时预留内存中会填入新的入口地址。
图5为本申请实施例提供的内核重启装置400的结构图,该内核重启装置可以为前述计算机系统100。具体的,内核重启装置400包括一些功能单元用于实现如图3和4描述的内核重启方法:
接收单元,用于接收停止执行内核的请求。
处理单元,用于将物理核的状态设置为忙等状态;查询所述物理核的入口地址是否被修改,具体的,指示位于忙等状态的物理核查询该物理核的入口地址是否被修改;确定所述物理核的入口地址被修改后,将所述物理核的状态设置为退出忙等状态;执行所述物理核的初始化流程。
可选的,所述物理核为多个,所述处理单元具体用于:响应于接收到所述请求,同时向处理器中一个或多个所述物理核发送中断;响应于接收到所述中断,将所述物理核的状态设置为忙等状态。
可选的,所述物理核为多个,所述一个或多个物理核中每个物理核具有对应的内存空间用于存储物理核的入口地址。
可选的,所述每个物理核对应的内存空间中还存储有代码段,所述处理单元具体用于:调用所述代码段中的指令,以执行查询所述物理核的入口地址是否被修改。
可选的,内核重启装置还包括修改单元,用于响应于所述内核被启动,修改所述内存空间中所述物理核的入口地址以及所述代码段,修改后的入口地址为所述修改后的代码段的起始地址;所述修改后的代码段的指令被所述物理核调用用以执行所述物理核的初始化流程。
可选的,处理单元具体用于:确定所述物理核的入口地址被修改,跳转至执行所述修改后的入口地址对应的代码段,所述修改后的入口地址为所述修改后的入口地址对应的代码段的起始地址,所述修改后的入口地址对应的代码段的指令被所述物理核调用以执行所述物理核的初始化流程。
本申请实施例还提供一种计算机系统,该计算机系统中包括处理器和存储器,存储器中存储有计算机指令,处理器调用该计算机指令以执行前述实施例描述的内核重启方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,处理器调用该计算机指令以执行前述实施例描述的内核重启方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机指令,处理器调用该计算机指令以执行前述实施例描述的内核重启方法。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
Claims (14)
1.一种内核重启方法,其特征在于,所述方法包括:
接收停止执行内核的请求;
将物理核的状态设置为忙等状态;
位于忙等状态下的所述物理核查询所述物理核的入口地址是否被修改;
确定所述物理核的入口地址被修改后,将所述物理核的状态设置为退出忙等状态;
执行所述物理核的初始化流程。
2.根据权利要求1所述的方法,其特征在于,所述物理核为多个,所述将所述物理核的状态设置为忙等状态包括:
响应于接收到所述请求,同时向处理器中一个或多个所述物理核发送中断;
响应于接收到所述中断,将所述物理核的状态设置为忙等状态。
3.根据权利要求1所述的方法,其特征在于,所述物理核为多个,所述一个或多个物理核中每个物理核具有对应的内存空间用于存储物理核的入口地址。
4.根据权利要求3所述的方法,其特征在于,所述每个物理核对应的内存空间中还存储有代码段,所述位于忙等状态下的所述物理核查询所述物理核的入口地址是否被修改包括:
所述物理核调用所述代码段中的指令,以执行查询所述物理核的入口地址是否被修改。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于所述内核被启动,修改所述内存空间中所述物理核的入口地址以及所述代码段,修改后的入口地址为所述修改后的代码段的起始地址;所述修改后的代码段的指令被所述物理核调用用以执行所述物理核的初始化流程。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述确定所述物理核的入口地址被修改后,将所述物理核的状态设置为退出忙等状态,包括:
确定所述物理核的入口地址被修改,跳转至执行所述修改后的入口地址对应的代码段,所述修改后的入口地址为所述修改后的入口地址对应的代码段的起始地址,所述修改后的入口地址对应的代码段的指令被所述物理核调用以执行所述物理核的初始化流程。
7.一种内核重启装置,其特征在于,所述装置包括:
接收单元,用于接收停止执行内核的请求;
处理单元,用于将物理核的状态设置为忙等状态;查询所述物理核的入口地址是否被修改;确定所述物理核的入口地址被修改后,将所述物理核的状态设置为退出忙等状态;执行所述物理核的初始化流程。
8.根据权利要求7所述的装置,其特征在于,所述物理核为多个,所述处理单元具体用于:响应于接收到所述请求,同时向处理器中一个或多个所述物理核发送中断;响应于接收到所述中断,将所述物理核的状态设置为忙等状态。
9.根据权利要求7所述的装置,其特征在于,所述物理核为多个,所述一个或多个物理核中每个物理核具有对应的内存空间用于存储物理核的入口地址。
10.根据权利要求9所述的装置,其特征在于,所述每个物理核对应的内存空间中还存储有代码段,所述处理单元具体用于:调用所述代码段中的指令,以执行查询所述物理核的入口地址是否被修改。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括修改单元,用于响应于所述内核被启动,修改所述内存空间中所述物理核的入口地址以及所述代码段,修改后的入口地址为所述修改后的代码段的起始地址;所述修改后的代码段的指令被所述物理核调用用以执行所述物理核的初始化流程。
12.根据权利要求7-11任一项所述的装置,其特征在于,所述处理单元具体用于:确定所述物理核的入口地址被修改,跳转至执行所述修改后的入口地址对应的代码段,所述修改后的入口地址为所述修改后的入口地址对应的代码段的起始地址,所述修改后的入口地址对应的代码段的指令被所述物理核调用以执行所述物理核的初始化流程。
13.一种计算机系统,其特征在于,所述计算机系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器执行所述计算机指令以执行如权利要求1-6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,处理器执行所述计算机指令以执行如权利要求1-6任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749138.7A CN114064128B (zh) | 2020-07-29 | 2020-07-29 | 内核重启方法 |
PCT/CN2021/102291 WO2022022185A1 (zh) | 2020-07-29 | 2021-06-25 | 内核重启方法 |
EP21849791.5A EP4187374A4 (en) | 2020-07-29 | 2021-06-25 | KERNEL RESTART PROCESS |
US18/157,967 US20230161600A1 (en) | 2020-07-29 | 2023-01-23 | Kernel reboot method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010749138.7A CN114064128B (zh) | 2020-07-29 | 2020-07-29 | 内核重启方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114064128A CN114064128A (zh) | 2022-02-18 |
CN114064128B true CN114064128B (zh) | 2024-01-02 |
Family
ID=80037168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010749138.7A Active CN114064128B (zh) | 2020-07-29 | 2020-07-29 | 内核重启方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4187374A4 (zh) |
CN (1) | CN114064128B (zh) |
WO (1) | WO2022022185A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251216B (zh) * | 2023-09-15 | 2024-04-05 | 上海合芯数字科技有限公司 | 一种服务器固件启动优化方法、系统、服务器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104918114A (zh) * | 2015-06-05 | 2015-09-16 | 青岛海信电器股份有限公司 | 一种操作系统升级方法及装置 |
CN108038038A (zh) * | 2017-11-30 | 2018-05-15 | 努比亚技术有限公司 | 移动终端重启定位方法、移动终端及计算机可读存储介质 |
CN109976886A (zh) * | 2017-12-28 | 2019-07-05 | 深圳中电长城信息安全系统有限公司 | 内核远程切换方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170160962A1 (en) * | 2015-12-03 | 2017-06-08 | Mediatek Inc. | System and method for processor mapping |
-
2020
- 2020-07-29 CN CN202010749138.7A patent/CN114064128B/zh active Active
-
2021
- 2021-06-25 EP EP21849791.5A patent/EP4187374A4/en active Pending
- 2021-06-25 WO PCT/CN2021/102291 patent/WO2022022185A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104918114A (zh) * | 2015-06-05 | 2015-09-16 | 青岛海信电器股份有限公司 | 一种操作系统升级方法及装置 |
CN108038038A (zh) * | 2017-11-30 | 2018-05-15 | 努比亚技术有限公司 | 移动终端重启定位方法、移动终端及计算机可读存储介质 |
CN109976886A (zh) * | 2017-12-28 | 2019-07-05 | 深圳中电长城信息安全系统有限公司 | 内核远程切换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP4187374A4 (en) | 2024-01-17 |
WO2022022185A1 (zh) | 2022-02-03 |
EP4187374A1 (en) | 2023-05-31 |
CN114064128A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321656B2 (en) | Timer use in extensible firmware interface compliant systems | |
JP5497923B2 (ja) | システム管理モードにおけるプロセッサ間割り込みの再方向付け | |
EP2128759B1 (en) | Operating system startup control method and information processing apparatus | |
JP5673672B2 (ja) | マルチコアプロセッサシステム、制御プログラム、および制御方法 | |
CN111095205A (zh) | 用于片上系统的预启动环境的多核框架 | |
US9639486B2 (en) | Method of controlling virtualization software on a multicore processor | |
US9959134B2 (en) | Request processing using VM functions | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
US10802875B2 (en) | Multithread framework for use in pre-boot environment of a system-on-chip | |
WO2006036375A1 (en) | Operating system transfer and launch without performing post | |
US7451454B2 (en) | Event handling mechanism | |
WO2012016472A1 (zh) | 多核CPU加载Linux操作系统的方法及系统 | |
EP3633507B1 (en) | Technologies for secure and efficient native code invocation for firmware services | |
JP5866430B2 (ja) | オペレーティング・システムを実行するプロセッサ・コアの動的割当 | |
CN117075983A (zh) | 基于多核异构的实时多任务处理方法、芯片系统和设备 | |
US10564995B2 (en) | Dynamic control of halt polling based on receiving a monitoring instruction executed by a guest | |
WO2011114476A1 (ja) | マルチコアプロセッサシステム、通知プログラム、および通知方法 | |
CN114064128B (zh) | 内核重启方法 | |
JP2011060225A (ja) | オペレーティングシステム起動方法 | |
CN111381894A (zh) | 一种复杂分时操作系统启动时从系统快速启动并同时工作的实现方法 | |
CN112965755B (zh) | 多核处理器的初始化方法、装置、电子设备及存储介质 | |
CN115981685A (zh) | 应用升级方法、装置、计算设备和芯片系统 | |
CN116521209B (zh) | 操作系统的升级方法及装置、存储介质及电子设备 | |
JP5328410B2 (ja) | 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム | |
WO2023125482A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |