CN111176689A - 信息处理方法和电子设备 - Google Patents

信息处理方法和电子设备 Download PDF

Info

Publication number
CN111176689A
CN111176689A CN201911395454.2A CN201911395454A CN111176689A CN 111176689 A CN111176689 A CN 111176689A CN 201911395454 A CN201911395454 A CN 201911395454A CN 111176689 A CN111176689 A CN 111176689A
Authority
CN
China
Prior art keywords
configuration
operating system
kernel
memory space
configuration data
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.)
Granted
Application number
CN201911395454.2A
Other languages
English (en)
Other versions
CN111176689B (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201911395454.2A priority Critical patent/CN111176689B/zh
Publication of CN111176689A publication Critical patent/CN111176689A/zh
Application granted granted Critical
Publication of CN111176689B publication Critical patent/CN111176689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种信息处理方法和电子设备。其中,该方法中操作系统在获得待更新固件系统的至少一个配置项的配置数据之后,会将该用于运行该至少一个配置项的配置数据所需的配置运行规则以及该至少一个配置项的配置数据加载到内存中,这样,操作系统可以基于内存中的该配置运行规则运行该至少一个配置项的配置数据,从而无需在重启电子设备的情况下,使得操作系统可以运行固件系统中待更新的配置项的配置数据,使得配置数据生效。

Description

信息处理方法和电子设备
技术领域
本申请涉及信息处理技术领域,更具体地说,涉及一种信息处理方法和电子设备。
背景技术
在服务器等电子设备中更改了固件系统的配置信息之后,需要重启电子设备,才能使得更改后的固件系统的配置信息生效。
然而,每次重启电子设备,会伴随着引导程序(Boot)自检,而引导程序自检较为耗时,使得重启过程耗时较多;而且每次重启电子设备都需要耗费较多的资源,从而使得每次更改固件系统的配置信息之后均需要耗费较多的资源才可以实现配置信息的生效。
发明内容
本申请的目的是提供一种信息处理方法和电子设备,提供了如下技术方案:
一方面,本申请提供了一种信息处理方法,包括:
操作系统获得待更新固件系统的至少一个配置项的配置数据;
所述操作系统获得所述至少一个配置项对应的配置运行规则;
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中;
所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据。
优选的,在所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据之前,还包括:
所述操作系统分配用于运行所述至少一个配置项的配置数据的独立内存空间;
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中,包括:
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间;
所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据,包括:
所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据。
优选的,在所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据之前,还包括:
所述操作系统向所述独立内存空间中加载操作系统内核的内核加载参数;
所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据,包括:
所述操作系统基于所述内核加载参数在所述独立内存空间中运行所述操作系统内核,并通过所述操作系统内核基于所述配置运行规则运行所述独立内存空间中的至少一个配置项的配置数据。
优选的,所述的方法还包括:
所述操作系统运行内核切换引导程序,并向所述内核切换引导程序传输所述至少一个配置项的配置数据;
所述操作系统向所述独立内存空间中加载操作系统内核的内核加载参数,包括:
通过所述内核切换引导程序向所述独立内存空间中加载操作系统内核的内核加载参数;
所述操作系统获得所述至少一个配置项对应的配置运行规则,包括:
通过所述内核切换引导程序获得所述至少一个配置项对应的配置运行规则;
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间,包括:
通过所述内核切换引导程序将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间;
所述操作系统基于所述内核加载参数在所述独立内存空间中运行所述操作系统内核,包括:
通过内核切换引导程序基于所述独立内存空间中的所述内核加载参数,在所述独立内存空间中运行所述内核加载参数对应的操作系统内核。
优选的,所述操作系统运行内核切换引导程序,并向所述内核切换引导程序传输所述至少一个配置项的配置数据,包括:
所述操作系统的第一操作系统内核运行内核切换引导程序,并向所述内核切换引导程序传输所述至少一个配置项的配置数据;
所述通过所述内核切换引导程序向所述独立内存空间中加载操作系统内核的内核加载参数,包括:
通过所述内核切换引导程序向所述独立内存空间中加载第二操作系统内核的内核加载参数;
所述通过内核切换引导程序基于所述独立内存空间中的所述内核加载参数,在所述独立内存空间中运行所述内核加载参数对应的操作系统内核,包括:
通过所述内核切换引导程序基于所述独立内存空间中的所述内核加载参数,控制从所述第一操作系统内核切换到所述第二操作系统内核运行。
优选的,所述操作系统获得所述至少一个配置项对应的配置运行规则,包括:
所述操作系统从存储的固件系统的不同配置项对应的配置运行规则中,确定所述至少一个配置项对应的配置运行规则。
优选的,所述的方法,还包括:
所述操作系统将所述至少一个配置项的配置数据存储到非易失性存储设备中。
另一方面,本申请提供了一种电子设备,包括:
处理器以及与所述处理器相连的第一存储器和第二存储器;
所述第一存储器中存储有固件系统的数据;
所述第二存储器中存储有操作系统;
所述处理器,用于运行所述第二存储器中的操作系统,通过所述操作系统获得待更新固件系统的至少一个配置项的配置数据;通过所述操作系统获得所述至少一个配置项对应的配置运行规则;通过所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中;通过所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据。
优选的,所述处理器还用于在通过所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据之前,通过所述操作系统分配用于运行所述至少一个配置项的配置数据的独立内存空间;
所述处理器在通过所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中时,具体为:
通过所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间;
所述处理器在通过所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据时,具体为,通过所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据。
优选的,所述处理器还用于,在通过所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据之前,通过所述操作系统向所述独立内存空间中加载操作系统内核的内核加载参数;
所述处理器在通过操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据时,具体用于,通过所述操作系统基于所述内核加载参数在所述独立内存空间中运行所述操作系统内核,并通过所述操作系统内核基于所述配置运行规则运行所述独立内存空间中的至少一个配置项的配置数据。
通过以上方案可知,操作系统在获得待更新固件系统的至少一个配置项的配置数据之后,会将该用于运行该至少一个配置项的配置数据所需的配置运行规则以及该至少一个配置项的配置数据加载到内存中,这样,操作系统可以基于内存中的该配置运行规则运行该至少一个配置项的配置数据,从而无需在重启电子设备的情况下,使得操作系统可以运行固件系统中待更新的配置项的配置数据,使得配置数据生效。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的信息处理方法的一种流程示意图;
图2为本申请实施例提供的信息处理方法的又一种流程示意图;
图3为本申请实施例提供的信息处理方法的又一种流程示意图;
图4为本申请实施例提供的信息处理方法在一种应用场景的流程示意图;
图5为本申请实施例提供的电子设备的一种组成结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1,其示出了本申请一种信息处理方法一个实施例的流程示意图,本实施例的方法可以应用于电子设备,该电子设备可以为服务器,大型主机、个人计算机等电子设备。本实施例的方法可以包括:
S101,操作系统获得待更新固件系统的至少一个配置项的配置数据。
其中,固件系统是指电子设备内部保存的驱动程序,一般会存储到电子设备的存储介质中,如,存储到电子设备的主板的存储器中。固件是担任着最基础最底层工作的软件,通过固件系统,操作系统才能按照标准的设备驱动实现特定部件的运行动作。
在一种可能的情况中,该固件系统为用于实现辅助操作系统启动和硬件初始化,以实现软件和硬件连接的固件接口。
如,该固件系统可以为基本输入输出系统(Basic Input Output System,BIOS),该BIOS系统可以负责电子设备开机时检测硬件功能和引导操作系统启动的功能,以实现软件与硬件的连接。例如,BIOS程序实现自检和初始化程序、硬件中断处理以及程序服务请求等。
又如,该固件系统还可以为统一可扩展固件接口(Unified Extensible FirmwareInterface,UEFI),该UEFI作为BIOS的替代方案,可以负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口。
以上是以固件系统为固件接口程序的一种情况为例,在实际应用中,该固件系统还可以为有其他可能,只要是电子设备中可以通过修改其配置项实现更新或者说升级的固件系统都适用于本申请。
其中,为了修改或者说更新固件系统,可以通过修改固件系统的配置项的数据实现,如,通过对固件系统的配置项的配置数据进行修改,在该种情况下,操作系统可以获得用于更新固件系统的至少一个配置项的配置数据。如,以固件系统为BIOS为例,需要更新BIOS时,则可以用户可以修改BIOS的配置项的数据,以使得操作系统可以获得待更新该BIOS的配置项的配置数据。
S102,操作系统获得该至少一个配置项对应的配置运行规则。
可以理解的是,操作系统获得用于更新固件系统的至少一个配置项的配置数据之后,这些基于这些配置项的配置数据并未真正更新到存储该固件系统的存储介质中,因此,这些配置项的配置数据并未生效,也就是并未真正实现更新固件系统,自然无法实现具有存在更新配置项的固件系统的生效。
本申请的申请人经研究发现,为了实现使得更新的配置项的配置数据生效,最终到达基于存在更新的配置项的固件系统的生效效果,需要实现运行针对固件系统更新的该至少一个配置项的配置数据。因此,如何在不重启电子设备的前提下,能够运行该至少一个配置项的配置数据是解决问题的关键。
基于此研究发现,本申请可以获得能够运行该至少一个配置项的配置数据的配置运行规则。在一种可能情况中,不同配置项可以对应不同的配置运行规则,因此,该至少一个配置项的配置运行规则可以包括至少一个配置运行规则。
如,可以预先存储有不同配置项对应的配置运行规则,相应的,操作系统从存储的该固件系统的不同配置项对应的配置运行规则中,确定该至少一个配置项对应的配置运行规则。
其中,配置项对应的配置运行规则是实现配置项的配置数据运行的规则。如,配置项的配置运行规则可以为预先针对该配置项配置的一些实现配置项的配置数据运行的程序,例如,可以为预置的补丁。
S103,操作系统将该配置运行规则和该至少一个配置项的配置数据加载到内存中。
其中,将配置运行规则和至少一个配置项的配置数据加载到内存可以为这些数据存储到内存,以使得这些数据可运行。因此,将该配置运行规则和获得用于更新固件系统的配置项的配置数据加载到内存是保证配置运行规则和配置项的配置数据可运行的前提。
可选的,为了保证操作系统可以可靠运行该至少一个配置项的配置数据,操作系统还可以分配用于运行该至少一个配置项的配置数据的独立内存空间。该独立内存空间可以为独立于操作系统当前运行所占用的内存空间的其他内存空间。如,作为一种可选方式,该独立内存空间可以为用户态内存。
相应的,操作系统可以将该配置运行规则和该至少一个配置项的配置数据加载到该独立内存空间,以便后续在该独立内存空间中运行该至少一个配置项的配置数据。
S104,操作系统基于该内存中的配置运行规则运行该内存中的至少一个配置项的配置数据。
操作系统依据配置运行规则可以实现配置项的配置数据的运行,使得用于固件系统存在更新的配置项生效,可以达到即时实现固件系统更新并生效的目的。
如,在配置运行规则为补丁等程序的情况下,操作系统运行该配置运行规则,通过配置运行规则运行该至少一个配置项的配置数据。
可选的,在操作系统将配置运行规则和该至少一个配置项的配置数据加载到独立内存空间的情况下,操作系统基于独立内存空间中已加载的该配置运行规则,在该独立内存空间运行该至少一个配置项的配置数据。
本申请的申请人经研究发现,一般操作系统获得待更新固件系统的至少一个配置项的配置数据之后,实际上是将修改的配置项的配置参数存储到一个非易失性存储介质中,而并非可以直接对存储固件系统的存储介质中所存储的固件系统中的数据进行修改,在该种情况下,固件系统的数据更新并未生效。因此,为了实现固件系统更新的生效,就需要电子设备重启,以使得固件系统可以将这些修改的配置项的配置数据更新到固件系统所在的存储介质中。
而本申请的申请人进一步研究发现,如果能够在获得用于运行待更新固件系统的配置项的配置数据之后,能够即时运行该配置项的配置数据便可以实现固件系统更新的即时生效,因此,申请人想到可以配置一些用于运行配置项的配置数据的补丁等配置运行规则,并设置操作系统在获得配置项的配置数据之后可以加载配置运行规则和配置项的配置数据,便能够操作系统运行配置项的配置数据成为可能,从而无需重启电子设备的情况下,也可以使得这些配置项的配置数据生效,从而到达基于修改后的配置项的配置数据实现固件系统更新生效的效果。
可见,在本申请实施例中,操作系统在获得待更新固件系统的至少一个配置项的配置数据之后,会将该用于运行该至少一个配置项的配置数据所需的配置运行规则以及该至少一个配置项的配置数据加载到内存中,这样,操作系统可以基于内存中的该配置运行规则运行该至少一个配置项的配置数据,从而无需在重启电子设备的情况下,使得操作系统可以运行固件系统中待更新的配置项的配置数据,使得配置数据生效。
可以理解的是,通过本申请的方案可以实现在无需重启电子设备的前提下,实现用于更新固件系统的配置项的配置数据的即时生效,但是存储固件系统的存储介质中该固件系统的数据实际并未真正更新。为了保证后续重启电子设备时,能够将存在修改的这些配置项的配置数据也更新到固件系统的存储介质中,以保证固件系统的更新,本申请操作系统还会将获得用于更新固件系统的至少一个配置项的配置数据存储到非易失性存储介质中。
在该种情况下,后续如果该电子设备重启,则该电子设备仍可以按照目前重启以更新固件系统的方式,从该非易失性存储介质中读取存在修改的配置项的配置数据,并更新固件系统。
为了能够进一步提升运行存在修改的配置项的配置数据的可靠性,本申请还可以在独立内存空间加载待更新固件系统的至少一个配置项的配置数据的同时,在独立内存空间中加载一个操作系统内核的内核加载参数,从而实现跳转到该操作系统内核运行,并通过该操作系统内核完成对独立内存空间中的配置项的配置数据的运行。
如图2所示,其示出了本申请一种信息处理方法又一个实施例的流程示意图,本实施例的方法可以包括:
S201,操作系统获得待更新固件系统的至少一个配置项的配置数据。
该步骤可以参见前面实施例的相关介绍。
S202,操作系统分配用于运行该至少一个配置项的配置数据的独立内存空间。
如,该独立内存空间可以为独立于操作系统运行所占用的内存空间之外的内存空间,例如,操作系统中当前运行的操作系统内核所对应的内存空间之外的内存空间。
可选的,在操作系统为分配了数据运行所占用的内存空间时,预留了一部分内存空间的情况下,则可以将该预留的内存空间作为分配用于运行该至少一项配置项的配置数据的独立内存空间。
S203,操作系统向该独立内存空间中加载操作系统内核的内核加载参数。
其中,操作系统内核的内核加载参数也可以称为内核启动参数,是实现该操作系统内核启动并运行所需的参数。如,该内核加载参数可以包括:内核镜像文件、根文件系统和命令行参数等等。
需要说明的是,该操作系统向独立内存空间中加载的内核加载参数是为了启动操作系统当前运行的操作系统内核之外的另一个操作系统内核,以在不重启电子设备的基础上,保证后续可以通过该内核加载参数在该独立内存空间中切换到另一个操作系统内核运行。
其中,操作系统向独立内存空间加载该内核加载参数的实现方式可以有多种。
作为一种可选方式,在操作系统中可以配置有内核切换引导程序,该内核切换引导程序可以实现在不重启电子设备的前提下,将电子设备的操作系统从当前运行的操作系统内核切换到另一个操作系统内核。该内核切换引导程序相当于操作系统中的一个补丁程序。如,在操作系统为Linux操作系统的情况中,该内核切换引导程序可以为Kexec程序。相应的,操作系统可以同该内核切换引导程序向该独立内存空间中加载操作系统内核的内核加载参数。
S204,操作系统获得该至少一个配置项对应的配置运行规则。
S205,操作系统将该配置运行规则和该至少一个配置项的配置数据加载到该独立内存空间。
该步骤S204和S205的具体实现可以参见前面实施例的相关介绍。
特别的,在操作系统启动内核切换引导程序的情况下,可以通过内核切换引导程序获得该至少一个配置项对应的配置运行规则。如,内核引导程序可以从存储的该固件系统的各个配置项对应的配置运行规则中,获取该至少一个配置项对应的配置运行规则。
相应的,可以通过该内核切换引导程序将该配置运行规则和该至少一个配置项的配置数据加载到该独立内存空间。
可以理解的是,该步骤S203和步骤S204和S205的顺序不限于图2所示,如,还可以是在执行步骤S203的同时,执行该步骤S204和S205。
S206,操作系统基于该内核加载参数在该独立内存空间中运行该操作系统内核,并通过该操作系统内核基于该配置运行规则运行该独立内存空间中的至少一个配置项的配置数据。
可以理解的是,基于该独立内存空间中加载的内核加载参数可以在该独立内存空间中启动并运行操作系统内核,在该种情况下,实现了重新启动一操作系统内核。在该基础上,通过该操作系统内核可以维持操作系统中所需执行的相关操作,同时还可以通过该操作系统内核运行该独立内存空间中的该至少一个配置项的配置数据,以实现在不重启电子设备的基础上,实现基于固件系统待更新的配置项的配置数据,达到固件系统更新生效的目的。
可选的,在操作系统启动内核切换引导程序的前提下,该步骤可以为通过内核切换引导程序基于该独立内存空间中的内核加载参数,在独立内存空间中运行该内核加载参数对应的操作系统内核。
在本实施例中,操作系统在获得待更新固件系统的至少一个配置项的配置数据之后,会确定一独立内存空间,在向该独立内存空间加载该至少一个配置项的配置数据以及该至少一个配置项的配置运行规则的同时,还会向该独立内存空间中加载操作系统内核的内核加载参数,这样,基于独立内存空间中的内核加载参数可以在该独立内存空间中启动一操作系统内核,通过该操作系统内核依据该配置运行规则运行该配置项的配置运行规则,由于该操作系统内核与该配置项的配置运行规则运行于同一独立内存空间,有利于提高存在更新的配置项的配置数据的运行可靠性。
而且,由于整个过程无需重启电子设备,在通过启动的该操作系统内核维持电子设备运行的前提下,还可以使得该至少一个配置项的配置数据生效,既实现了不重启电子设备便可以实现用于升级固件系统的数据生效,减少固件系统更新升级的复杂度。
可以理解的是,在操作系统中配置有内核切换引导程序的前提下,本申请可以在内核切换引导程序从一个操作系统内核切换到另一个操作系统内核的过程中,实现利用切换的新操作系统内核需要运行的该至少一个配置项的配置数据,以减少为了不重启电子设备而使得该至少一个配置项的配置数据生效所需进行的复杂配置。
如图3所示,其示出了本申请一种信息处理方法又一个实施例的流程示意图,本实施例的方法可以包括:
S301,操作系统的第一操作系统内核获得待更新固件系统的至少一个配置项的配置数据。
其中,为了便于区分,将操作系统当前运行的操作系统内核称为第一操作系统内核。
在电子设备处于运行状态(即未关机状态)下,如果用户修改固件系统的配置项,那么可以通过操作系统当前运行的操作系统内核获得待更新该固件系统的至少一个配置项的配置数据。
S302,第一操作系统内核确定用于运行该至少一个配置项的配置数据的独立内存空间。
在本实施例中,该独立内存空间可以为该第一操作系统内核未占用的内存空间,即独立于该第一操作系统内核所使用的内存空间之外的内存空间。
如,独立于第一操作系统内核所使用的内存空间之外的用户态内存。
S303,第一操作系统内核运行内核切换引导程序,并向该内核切换引导程序传输该至少一个配置项的配置数据。
在第一操作系统内核获得该至少一个配置项的配置数据之后,除了确定独立内存空间之外,还会触发运行配置的内核切换引导程序,并向该内核切换引导程序传输获得的该至少一个配置项的配置数据,以便后续该内核切换引导程序可以在完成操作系统内核切换的过程,向独立内存空间中加载该至少一个配置项的配置数据。
S304,该内核切换引导程序向该独立内存空间中加载第二操作系统内核的内核加载参数。
S305,该内核切换引导程序获得该至少一个配置项对应的配置运行规则。
如,内核切换引导程序可以从配置的该固件系统中不同配置项的配置运行规则中,获得该至少一个配置项对应的配置运行规则。例如,从配置的不同配置项的运行补丁中,获得该至少一个配置项对应的至少一个补丁。
S306,通过该内核切换引导程序将该配置运行规则和该至少一个配置项的配置数据加载到该独立内存空间。
内核切换引导程序向独立内存空间中加载内核加载参数是内核切换引导程序实现操作系统内核切换的前提条件。在本实施例中,依托该一前提条件,在内核切换引导程序向该独立内存空间加载该内核加载参数的同时,通过该内核切换引导程序向该独立内存空间中加载该至少一个配置项的配置数据以及该配置运行规则,以使得后续内核切换引导程序控制从第一操作系统内核切换到第二操作系统内核时,通过新切换到的第二操作系统内核可以基于该配置运行规则运行该至少一个配置项的配置数据。
需要说明的是,将配置运行规则和存在修改的配置项的配置数据加载到独立内存空间除了可以实现在该独立内存空间运行该配置项的配置数据之外,还可能避免操作系统切换到该独立内存空间中运行操作系统内核后,由于清空该独立内存空间之外的内存空间中的数据而导致该配置项的配置数据被清空。
S307,通过该内核切换引导程序基于该独立内存空间中的内核加载参数,控制从该第一操作系统内核切换到该第二操作系统内核运行。
其中,内核切换引导程序依据该独立内存空间中加载的第二操作系统内核加载参数,可以启动该第二操作系统内核,同时,会结束该第一操作系统内核的运行,以实现从第一操作系统内核切换到第二操作系统内核运行。
S308,该第二操作系统内核基于该配置运行规则,运行该至少一个配置项的配置数据。
在内核切换引导程序切换到第二操作系统内核之后,第一操作系统内核在该第一操作系统内核对应内存空间的数据会清空,该第二操作系统内核会接管电子设备中需要操作系统内核所需的运行工作,实现了不重启电子设备的前提下,维持电子设备的正常运行。
而且,由于切换操作系统内核的过程中,在第二操作系统内核的独立内存空间中加载了待更新固件系统的至少一个配置项的配置数据和相应的配置运行规则,也使得第二操作系统可以运行待更新固件系统的该至少一个配置项的配置数据,从而实现在不重启电子设备的前提下,使得用户对固件系统修改的配置项的配置数据生效。
可以理解的是,在本实施例中,为了保证后续电子设备重启之后,仍可以利用该至少一项配置项的配置数据,对用于存储固件系统的存储介质中固件系统的数据进行更新,本申请中,该第一操作系统内核或者第二操作系统内核还可以将至少一项配置项的配置数据存储到非易失性存储介质中。
可见,在本实施例了利用该内核切换引导程序实现操作系统内核切换的过程中,需要向独立内存空间加载待切换的新操作系统内核的内核加载参数这一特性,在内核切换引导程序向独立内存空间加载该内核加载参数的同时,通过该内核切换引导程序将待更新固件系统的至少一个配置项的配置数据和相应的配置运行规则也加载到该独立内存空间,从而可以通过对内核切换引导程序进行较小的改动,便可以使得在内核切换引导程序将操作系统切换到该新的操作系统内核之后,该新的操作系统内核可以直接运行该独立内存空间中至少一个配置项的配置数据,从而在保证不重启电子设备的前提下使得待更新固件系统的配置项的配置数据生效,又可以减少为了达到该目的所需的复杂开发工作。
为了便于理解,结合一种应用场景为例说明。以固件系统为BIOS系统,并以操作系统为Linux操作系统为例,结合以一种情况说明。
如图4所示,其示出了本申请一种信息处理方法又一个实施例的流程示意图,本实施例的方法可以包括:
S401,第一操作系统内核获得待更新BIOS程序的至少一个配置项的配置数据。
S402,第一操作系统内核确定第一操作系统内核所占用的内存空间之外的用户态内存。
S403,第一操作系统内核运行内核切换引导程序kexec,并向该kexec程序传输该至少一个配置项的配置数据。
S404,该kexec程序向该用户态内存中加载第二操作系统内核的内核加载参数。
S405,该kexec程序从存储的BIOS的不同配置项对应的运行补丁中,确定该至少一个配置项对应的运行补丁。
其中,该配置项的运行补丁是指用于该配置项的配置数据的程序,本实施例是以配置运行规则为补丁为例说明,但是前面实施例提到的其他情况也同样适用于本实施例。
S406,kexec程序将该运行补丁和该至少一个配置项的配置数据加载到用户态内存。
S407,kexec程序基于该用户态内存中的内核加载参数,控制从该第一操作系统内核切换到该第二操作系统内核运行。
S408,该第二操作系统内核基于该运行补丁,在用户态内存运行该至少一个配置项的配置数据。
又一方面,本申请还提供了一种电子设备,该电子设备可以为服务器,个人计算机设备或者其他电子设备等。
如图5所示,其示出了本申请一种电子设备的组成结构示意图,该电子设备可以包括:处理器501,以及,与处理器501相连的第一存储器501和第二存储器502。
其中,第一存储器501中存储有固件系统的数据。如,第一存储器可以为可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。
该第二存储器中存储有操作系统。如该第二存储器可以俗称的内部存储器,或者是其他非易失性存储介质等等。
该处理器501,用于运行该第二存储器中的操作系统,通过该操作系统获得待更新固件系统的至少一个配置项的配置数据;通过该操作系统获得该至少一个配置项对应的配置运行规则;通过该操作系统将该配置运行规则和该至少一个配置项的配置数据加载到内存中;通过该操作系统基于该内存中的配置运行规则运行该内存中的至少一个配置项的配置数据。
可选的,该第二存储器502还可以用于存储处理器运行所需的数据或者程序等。
在一种可能的实现方式中,该处理器还用于在通过操作系统基于该内存中的配置运行规则运行该内存中的至少一个配置项的配置数据之前,通过操作系统分配用于运行该至少一个配置项的配置数据的独立内存空间;
该处理器在通过操作系统将该配置运行规则和该至少一个配置项的配置数据加载到内存中时,具体为:通过操作系统将该配置运行规则和该至少一个配置项的配置数据加载到该独立内存空间;
相应的,该处理器在通过操作系统基于该内存中的配置运行规则运行该内存中的至少一个配置项的配置数据时,具体为,通过操作系统基于该独立内存空间中的配置运行规则,在该独立内存空间中运行该至少一个配置项的配置数据。
在又一种可能的实现方式中,该处理器还用于,在通过操作系统基于该独立内存空间中的配置运行规则,在该独立内存空间中运行该至少一个配置项的配置数据之前,通过操作系统向该独立内存空间中加载操作系统内核的内核加载参数;
该处理器在通过操作系统基于该独立内存空间中的配置运行规则,在该独立内存空间中运行该至少一个配置项的配置数据时,具体用于,通过操作系统基于该内核加载参数在该独立内存空间中运行该操作系统内核,并通过该操作系统内核基于该配置运行规则运行该独立内存空间中的至少一个配置项的配置数据。
在又一种可能的实现方式中,该处理器还用于,通过操作系统运行内核切换引导程序,并向该内核切换引导程序传输该至少一个配置项的配置数据;
在处理器通过操作系统向该独立内存空间中加载操作系统内核的内核加载参数时,具体用于,通过该内核切换引导程序向该独立内存空间中加载操作系统内核的内核加载参数;
在处理器通过操作系统获得该至少一个配置项对应的配置运行规则时,具体用于,通过该内核切换引导程序获得该至少一个配置项对应的配置运行规则;
在处理器通过该操作系统将该配置运行规则和该至少一个配置项的配置数据加载到该独立内存空间时,具体用于,通过该内核切换引导程序将该配置运行规则和该至少一个配置项的配置数据加载到该独立内存空间;
在处理器通过操作系统基于该内核加载参数在该独立内存空间中运行该操作系统内核时,具体用于通过内核切换引导程序基于该独立内存空间中的该内核加载参数,在该独立内存空间中运行该内核加载参数对应的操作系统内核。
可选的,在处理器通过操作系统运行内核切换引导程序,并向该内核切换引导程序传输该至少一个配置项的配置数据时,具体为:通过操作系统的第一操作系统内核运行内核切换引导程序,并向该内核切换引导程序传输该至少一个配置项的配置数据;
在操作系统通过该内核切换引导程序向该独立内存空间中加载操作系统内核的内核加载参数时,具体为,通过该内核切换引导程序向该独立内存空间中加载第二操作系统内核的内核加载参数;
在处理器通过内核切换引导程序基于该独立内存空间中的该内核加载参数,在该独立内存空间中运行该内核加载参数对应的操作系统内核时,具体为:通过该内核切换引导程序基于该独立内存空间中的该内核加载参数,控制从该第一操作系统内核切换到该第二操作系统内核运行。
在又一种可能的实现方式中,处理器通过操作系统获得该至少一个配置项对应的配置运行规则时,具体为,通过操作系统从存储的固件系统的不同配置项对应的配置运行规则中,确定该至少一个配置项对应的配置运行规则。
在又一种可能的情况中,处理器还用于,通过操作系统将该至少一个配置项的配置数据存储到非易失性存储设备中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种信息处理方法,包括:
操作系统获得待更新固件系统的至少一个配置项的配置数据;
所述操作系统获得所述至少一个配置项对应的配置运行规则;
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中;
所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据。
2.根据权利要求1所述的方法,在所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据之前,还包括:
所述操作系统分配用于运行所述至少一个配置项的配置数据的独立内存空间;
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中,包括:
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间;
所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据,包括:
所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据。
3.根据权利要求2所述的方法,在所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据之前,还包括:
所述操作系统向所述独立内存空间中加载操作系统内核的内核加载参数;
所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据,包括:
所述操作系统基于所述内核加载参数在所述独立内存空间中运行所述操作系统内核,并通过所述操作系统内核基于所述配置运行规则运行所述独立内存空间中的至少一个配置项的配置数据。
4.根据权利要求3所述的方法,还包括:
所述操作系统运行内核切换引导程序,并向所述内核切换引导程序传输所述至少一个配置项的配置数据;
所述操作系统向所述独立内存空间中加载操作系统内核的内核加载参数,包括:
通过所述内核切换引导程序向所述独立内存空间中加载操作系统内核的内核加载参数;
所述操作系统获得所述至少一个配置项对应的配置运行规则,包括:
通过所述内核切换引导程序获得所述至少一个配置项对应的配置运行规则;
所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间,包括:
通过所述内核切换引导程序将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间;
所述操作系统基于所述内核加载参数在所述独立内存空间中运行所述操作系统内核,包括:
通过内核切换引导程序基于所述独立内存空间中的所述内核加载参数,在所述独立内存空间中运行所述内核加载参数对应的操作系统内核。
5.根据权利要求4所述的方法,所述操作系统运行内核切换引导程序,并向所述内核切换引导程序传输所述至少一个配置项的配置数据,包括:
所述操作系统的第一操作系统内核运行内核切换引导程序,并向所述内核切换引导程序传输所述至少一个配置项的配置数据;
所述通过所述内核切换引导程序向所述独立内存空间中加载操作系统内核的内核加载参数,包括:
通过所述内核切换引导程序向所述独立内存空间中加载第二操作系统内核的内核加载参数;
所述通过内核切换引导程序基于所述独立内存空间中的所述内核加载参数,在所述独立内存空间中运行所述内核加载参数对应的操作系统内核,包括:
通过所述内核切换引导程序基于所述独立内存空间中的所述内核加载参数,控制从所述第一操作系统内核切换到所述第二操作系统内核运行。
6.根据权利要求1所述的方法,所述操作系统获得所述至少一个配置项对应的配置运行规则,包括:
所述操作系统从存储的固件系统的不同配置项对应的配置运行规则中,确定所述至少一个配置项对应的配置运行规则。
7.根据权利要求1所述的方法,还包括:
所述操作系统将所述至少一个配置项的配置数据存储到非易失性存储设备中。
8.一种电子设备,其特征在于,包括:
处理器以及与所述处理器相连的第一存储器和第二存储器;
所述第一存储器中存储有固件系统的数据;
所述第二存储器中存储有操作系统;
所述处理器,用于运行所述第二存储器中的操作系统,通过所述操作系统获得待更新固件系统的至少一个配置项的配置数据;通过所述操作系统获得所述至少一个配置项对应的配置运行规则;通过所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中;通过所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据。
9.根据权利要求8所述的电子设备,所述处理器还用于在通过所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据之前,通过所述操作系统分配用于运行所述至少一个配置项的配置数据的独立内存空间;
所述处理器在通过所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到内存中时,具体为:
通过所述操作系统将所述配置运行规则和所述至少一个配置项的配置数据加载到所述独立内存空间;
所述处理器在通过所述操作系统基于所述内存中的配置运行规则运行所述内存中的至少一个配置项的配置数据时,具体为,通过所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据。
10.根据权利要求9所述的电子设备,所述处理器还用于,在通过所述操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据之前,通过所述操作系统向所述独立内存空间中加载操作系统内核的内核加载参数;
所述处理器在通过操作系统基于所述独立内存空间中的配置运行规则,在所述独立内存空间中运行所述至少一个配置项的配置数据时,具体用于,通过所述操作系统基于所述内核加载参数在所述独立内存空间中运行所述操作系统内核,并通过所述操作系统内核基于所述配置运行规则运行所述独立内存空间中的至少一个配置项的配置数据。
CN201911395454.2A 2019-12-30 2019-12-30 信息处理方法和电子设备 Active CN111176689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911395454.2A CN111176689B (zh) 2019-12-30 2019-12-30 信息处理方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911395454.2A CN111176689B (zh) 2019-12-30 2019-12-30 信息处理方法和电子设备

Publications (2)

Publication Number Publication Date
CN111176689A true CN111176689A (zh) 2020-05-19
CN111176689B CN111176689B (zh) 2021-05-18

Family

ID=70650491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911395454.2A Active CN111176689B (zh) 2019-12-30 2019-12-30 信息处理方法和电子设备

Country Status (1)

Country Link
CN (1) CN111176689B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023274195A1 (zh) * 2021-06-28 2023-01-05 杭州涂鸦信息技术有限公司 一种固件配置方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143094A1 (en) * 2013-11-21 2015-05-21 Dell Products L.P. System and Method to Perform an OS Boot Using Service Location Protocol and Launching OS Using a Dynamic Update of Network Boot Order Without a Reboot
CN109992312A (zh) * 2019-03-26 2019-07-09 联想(北京)有限公司 电子设备的启动方法、装置以及系统
CN110196741A (zh) * 2019-05-30 2019-09-03 深圳市海邻科信息技术有限公司 基本输入输出系统的设置方法、终端及计算机存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143094A1 (en) * 2013-11-21 2015-05-21 Dell Products L.P. System and Method to Perform an OS Boot Using Service Location Protocol and Launching OS Using a Dynamic Update of Network Boot Order Without a Reboot
CN109992312A (zh) * 2019-03-26 2019-07-09 联想(北京)有限公司 电子设备的启动方法、装置以及系统
CN110196741A (zh) * 2019-05-30 2019-09-03 深圳市海邻科信息技术有限公司 基本输入输出系统的设置方法、终端及计算机存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023274195A1 (zh) * 2021-06-28 2023-01-05 杭州涂鸦信息技术有限公司 一种固件配置方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111176689B (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
EP3491519B1 (en) Optimized uefi reboot process
US9501289B2 (en) Method of a UEFI firmware and computer system thereof
CN105745617B (zh) 用于预启动固件更新的选择性功率管理
US9507604B2 (en) Boot method and boot system
US8468342B2 (en) Computer system and method for performing integrity detection on the same
US20040015941A1 (en) Information-processing apparatus equipped with nonvolatile memory device and firmware-updating method for use in the apparatus
US20100180108A1 (en) Electronic device and method for secure operating system update in embedded system
KR20140117932A (ko) Acpi 정보를 제어하는 방법 및 이를 수행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체
US20150198999A1 (en) Method for switching operating systems and electronic apparatus
CN109426527B (zh) 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法
CN115756561A (zh) 软件升级方法、装置、计算机设备以及存储介质
CN109582372A (zh) 一种系统的启动方法及装置
CN111176689B (zh) 信息处理方法和电子设备
EP3724757B1 (en) Firmware publication of multiple binary images
JP2002288104A (ja) コンピュータシステム、そのリソース割り当て方法及びプログラム
CN114127685B (zh) 电子设备及其控制方法
CN113064637B (zh) 从分离的bios映像文件启动的方法及系统
US8458730B2 (en) Multi-level driver configuration
EP3543849A1 (en) Driver management method and host machine
CN116009899B (zh) 操作系统的镜像制作方法、装置、电子设备及存储介质
JP2000357093A (ja) コンピュータシステムおよび不揮発性メモリの書き換え方法
KR100775431B1 (ko) 임베디드 시스템 및 임베디드 시스템의 펌웨어 업데이트방법
US7562209B2 (en) Supporting different instruction set architectures during run time
CN109656720B (zh) 地址空间分配方法和装置
CN113721959A (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