CN108228387B - 一种启动控制方法、电子设备以及计算机可读存储介质 - Google Patents
一种启动控制方法、电子设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108228387B CN108228387B CN201711449091.7A CN201711449091A CN108228387B CN 108228387 B CN108228387 B CN 108228387B CN 201711449091 A CN201711449091 A CN 201711449091A CN 108228387 B CN108228387 B CN 108228387B
- Authority
- CN
- China
- Prior art keywords
- memory
- electronic equipment
- instruction
- starting
- operating system
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
Abstract
本发明公开了一种启动控制方法,包括:监控电子设备的启动操作;当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。本发明还同时公开了一种电子设备以及计算机可读存储介质。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种启动控制方法、电子设备以及计算机可读存储介质。
背景技术
通常,电子计算机的存储设备由内存和外存两部分组成,传统种类的内存分为只读存储器(ROM,Read Only Memory)和随机存取存储器(RAM,Ramdom Access Memory),外存包括但不限于机械磁盘、光盘和固态硬盘。
由于ROM仅支持出厂时一次写入,后续只能读不能写;因此,其应用范围十分狭窄,多用于基本输入输出系统(BIOS,Basic Input Output System)芯片中,自2000年之后已逐步淡出市场。
而RAM由于能够支持快速地随机读写,因此,现有的电子计算机的内存大多都是使用RAM。但是,RAM又存在易失性的缺点,导致电子计算机在关机、断电以及重启之后,内存中的数据将不复存在。因此,必须定期将内存中的脏数据回刷到外存,才能保证脏数据不会丢失;与此同时,操作系统必须长期存储在外存中,相应地,电子计算机在启动过程时,需将操作系统由外存加载到内存中,该过程通常需要40秒至1分钟的时间。如此,定期的回刷操作以及启动控制方式中启动时间过长的这些缺陷,又极大的限制了RAM的发展。
近年来,随着非易失性内存芯片(NVDIMM,Non-Volatile Dual Inline MemoryModules)、3D Xpoint、非易失性随机访问存储器(NVRAM,Non-Volatile Random AccessMemory)、相变内存(PCM,Phase-Change Memory)、以及阻变式存储器(RRAM,ResistiveRandom Access Memory)等新型材料介质的出现,极大地促进了新型种类的内存的出现和发展。该新型种类的内存为非易失性内存(NVM,Non-Volatile Memory),因其兼具快速读写访问和持久性的优点,使操作系统可以常驻NVM,从而可以彻底改变过去的启动控制方式;在启动过程中,无需将操作系统从外存加载到NVM,启动时间显著缩短。与此同时,在关机、断电以及重启之后,NVM中数据仍然存在;因此无需回刷操作。
虽然,NVM同时带来了快速读写访问和持久性的好处。但是,简单地将RAM不加修改地替换为NVM,在一些场景下,启动控制方式可能会存在着严重缺陷;比如,在操作系统发生崩溃或卡顿的场景下,现有的启动控制方式将无法使操作系统重新恢复到正常运行状态,从而导致操作系统的稳定性较差。
发明内容
为解决现有技术存在的问题,本发明实施例期望提供一种启动控制方法、电子设备以及计算机可读存储介质,在操作系统发生崩溃或卡顿的场景下,能够将电子设备的操作系统重新恢复到正常运行状态,从而能够提高操作系统的稳定性。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种启动控制方法,所述方法包括:
监控电子设备的启动操作;
当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。
上述方案中,所述根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复,包括:
根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统。
上述方案中,所述根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复,包括:
启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到所述外存,以启动恢复所述电子设备已存储的数据。
上述方案中,所述根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复,包括:
启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
上述方案中,所述根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复之后,所述方法还包括:
根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
上述方案中,所述方法还包括:
当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;
根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
本发明实施例还提供了一种电子设备,所述电子设备包括:监控模块、切换模块和控制模块;其中,
所述监控模块,用于监控电子设备的启动操作;
所述切换模块,用于当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
所述控制模块,用于根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。
上述方案中,所述控制模块,用于根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统。
上述方案中,所述控制模块,用于启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到所述外存,以启动恢复所述电子设备已存储的数据。
上述方案中,所述控制模块,用于启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
上述方案中,所述电子设备还包括:
处理模块,用于根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
上述方案中,所述电子设备还包括:加载模块和释放模块;其中,
所述加载模块,用于当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;
所述释放模块,用于根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
本发明实施例还提供了一种电子设备,所述电子设备包括:处理器、以及用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器,用于运行所述计算机程序时,执行实现上述启动控制方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令的计算机程序被处理器执行时实现上述启动控制方法。
本发明实施例还提供了一种启动控制方法,所述方法包括:
监控电子设备的启动操作;
当监控到启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;其中,所述处于工作状态的内存为非易失性内存;
根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
上述方案中,所述根据所述启动恢复指令,释放所述处于工作状态的内存空间,包括:
根据所述启动恢复指令,将所述处于工作状态的内存中脏数据回刷到所述外存中;将所述处于工作状态的内存中干净数据和元数据清零;并解除所述处于工作状态的内存中元数据的内存空间占用。
上述方案中,所述将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中之前,所述方法还包括:
将所述处于工作状态的内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
本发明实施例还提供了一种电子设备,所述电子设备包括:监控模块、加载模块和释放模块;其中,
所述监控模块,用于监控电子设备的启动操作;
所述加载模块,用于当监控到启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;其中,所述处于工作状态的内存为非易失性内存;
所述释放模块,用于根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
上述方案中,所述释放模块,具体用于根据所述启动恢复指令,将所述处于工作状态的内存中脏数据回刷到所述外存中;将所述处于工作状态的内存中干净数据和元数据清零;并解除所述处于工作状态的内存中元数据的内存空间占用。
上述方案中,所述电子设备还包括:
转存模块,用于将所述处于工作状态的内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
本发明实施例还提供了一种电子设备,所述电子设备包括:处理器、以及用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器,用于运行所述计算机程序时,执行上述启动控制方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令的计算机程序被处理器执行时实现上述启动控制方法。
本发明实施例提供的启动控制方法及电子设备,先监控电子设备的启动操作;然后,当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。而当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
可见,本发明实施例中,在电子设备的操作系统发生崩溃的场景下,当监控到第一启动操作时,将操作系统崩溃的第一内存切换到处于备用状态的第二内存;从而能够通过执行所述第二内存中存储的指令,控制所述电子设备进行启动恢复,进而能够使电子设备的操作系统重新恢复正常运行状态。而在电子设备的操作系统发生卡顿的场景下,当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;从而能够通过执行所述启动恢复指令,释放所述处于工作状态的内存空间,进而能够使电子设备的操作系统重新恢复到不卡顿的状态。
因此,本发明实施例提供的启动控制方法及电子设备能够提高电子设备的操作系统的稳定性。
附图说明
图1为现有的电子计算机的硬件组成结构示意图;
图2为本发明启动控制方法实施例一的实现流程示意图;
图3为本发明实施例中电子设备的硬件组成结构示意图之一;
图4为本发明方法实施例一中非易失性内存的布局示意图;
图5为图2所示实现流程中步骤103的具体实现流程示意图;
图6为本发明启动控制方法实施例二的实现流程示意图;
图7为传统的电子设备实物示意图;
图8为应用场景一中电子设备实物示意图;
图9为应用场景一中内存切换时的逻辑地址与物理地址的映射示意图;
图10为应用场景一中非易失性内存的布局示意图;
图11为本发明启动控制方法实施例三的实现流程示意图;
图12为应用场景二中非易失性内存的布局示意图;
图13为本发明启动控制方法实施例四的实现流程示意图;
图14为应用场景三中智能终端的背板插槽示意图;
图15为本发明启动控制方法实施例五的实现流程示意图;
图16为应用场景四中处于工作状态的内存的布局示意图;
图17为本发明启动控制方法实施例六的实现流程示意图;
图18为本发明实施例电子设备组成结构示意图之一;
图19为本发明实施例电子设备硬件组成结构示意图之二;
图20为本发明实施例电子设备组成结构示意图之二;
图21为本发明实施例电子设备硬件组成结构示意图之三。
具体实施方式
图1为现有的电子计算机的硬件组成结构示意图,参照图1所示,由于RAM能够支持快速地随机读写,因此,现有的电子计算机的内存大多都是使用RAM。然而,由于RAM存在易失性的缺点,因此,操作系统必须长期存储在外存中;这样,导致电子计算机在启动过程时,需将操作系统由外存加载到内存中,从而使电子计算机的启动时间过长。
NVM的出现可以使电子计算机的启动时间显著缩短,因其兼具快速读写访问和持久性的优点,使操作系统可以常驻NVM,从而在启动过程中,无需将操作系统从外存加载到NVM,这样彻底改变了过去的启动控制方式。但是,简单地将RAM不加修改地替换为NVM,在一些场景下,启动控制方式可能会存在着严重缺陷。
比如,用户在使用电子计算机时,由于操作失误等原因,可能会导致操作系统发生崩溃;同时,电子计算机本身由于病毒或恶意软件入侵、Windows蓝屏等原因,也有可能会导致操作系统发生崩溃。
在操作系统发生崩溃的场景下,该操作系统无法响应任何指令,用户唯一的解决办法就是按下主机箱上的重启按钮,以执行重启操作。对于RAM而言,由于操作系统长期存储与外存中、且RAM的易失性特性,操作系统在重启之后将会恢复到初始化的状态,从而使崩溃问题得以解决,代价是RAM中的脏数据将丢失;此时,重启操作已经被用户赋予了更深层的语意,为强大的系统恢复工具。而对于NVM而言,由于操作系统常驻于NVM中、且NVM的非易失性特性,重启操作不再是恢复工具,虽然脏数据得以保留,但是操作系统在重启之后仍然处于崩溃状态,可能会永远处于不可用的状态。
一种直观的解决方案是,强制执行工作内存全写0的操作,该种方案将非易失性内存仅仅当做易失性内存使用,过于简单粗暴。一方面,违背了非易失性特性的初衷,未考虑数据区中大量的脏数据;另一方面,操作系统处于崩溃状态时,根本无法响应该指令。
因此,对于NVM而言,在操作系统发生崩溃的场景下,相关技术中还没有使操作系统重新恢复到正常运行状态的启动控制方案。
又比如,电子设备在操作系统发生卡顿的场景下,对于NVM而言,现有的启动控制方式也将无法使操作系统重新恢复到不卡顿状态。
基于此,本发明实施例提供一种新的启动控制方法,在电子设备的操作系统发生崩溃的场景下,当监控到第一启动操作时,将操作系统崩溃的第一内存切换到处于备用状态的第二内存;从而能够通过执行所述第二内存中存储的指令,控制所述电子设备进行启动恢复,进而能够使电子设备的操作系统重新恢复正常运行状态。而在电子设备的操作系统发生卡顿的场景下,当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;从而能够通过执行所述启动恢复指令,释放所述处于工作状态的内存空间,进而能够使电子设备的操作系统重新恢复到不卡顿的状态。
因此,本发明实施例提供的启动控制方法及电子设备能够提高电子设备的操作系统的稳定性。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图2为本发明启动控制方法实施例一的实现流程示意图,参照图2所示,本实施例的启动控制方法包括:
步骤101,监控电子设备的启动操作;
本实施例的启动控制方法,可以应用在电子设备上,用于在所述电子设备的操作系统发生崩溃或卡顿的场景下,使操作系统重新恢复到正常运行状态,从而提高所述电子设备的操作系统的稳定性。
这里,所述电子设备可以为机架式服务器,也可以为电子计算机,还可以为智能终端;所述电子计算机可以为个人台式机,也可以为个人笔记本。运行在所述电子设备的操作系统可以为Linux系统、Windows系统、Mac OS系统、Android系统、iOS系统、军用操作系统中任一种;当然,在其他实施例中,还可以为其他类型的操作系统,在此不一一列举。
这里,所述启动操作是为防止电子设备在操作系统发生崩溃或卡顿的场景下无法重新恢复到正常运行状态而设计的一种操作。该启动操作可以包括第一启动操作和第二启动操作,所述第一启动操作用于在操作系统发生崩溃的场景下,使电子设备的操作系统重新恢复正常运行状态;所述第二启动操作用于在操作系统发生卡顿的场景下,使电子设备的操作系统重新恢复到不卡顿状态。
在实际应用中,所述启动操作可以为在关机状态下的启动操作;也可以为在开机状态下的重启操作,即“关机+启动”的指令组合。比如,在手动切换内存的场景下,所述启动操作可以为关机状态下的启动操作;以智能终端为例,当智能终端的操作系统发生崩溃时,若智能终端监控到用户在关机状态下手动切换内存后启动该智能终端,则该智能终端判定监控到启动操作。又比如,以个人计算机为例,当个人计算机的操作系统发生崩溃时,若个人计算机监控到用户在开机状态下触发了重启操作,则该个人计算机也判定监控到启动操作。
所述电子设备可以实时监控电子设备的启动操作。具体地,如图3所示,所述电子设备可以包括处理器,所述处理器可以通过监控用户是否触发了硬件上主机机箱的按键、或者与该按键功能等价的键盘指令(如与重启按键功能等价的键盘指令可以为“F1+F2+F3+F4+F5+F6+F7+F8+空格”的组合)、或者现有按键的新使用方式(如对开机键进行预设次数的按压),来实时监控电子设备的启动操作。当然,上述的启动操作只是作为本发明实施例的示例,并不用于限定本发明。
步骤102,当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
这里,如图3所示,所述电子设备还可以包括内存模块,所述内存模块可以包括第一内存、第二内存和内存转换控制器。所述第一内存和第二内存都为NVM,所述第一内存和第二内存均可以由一个或多个物理上的内存构成,所述第一内存和第二内存也可以为由一块或多块物理上的内存被逻辑上划分为两块的内存。
比如,若存在一块物理上的内存,其空间为32GB,则该物理上的内存被逻辑上可以划分为两块16GB的内存,这两块16GB的内存即为第一内存和第二内存;又比如,若存在一块物理上的内存,其空间为32GB,该物理上的内存可以被分为三个区域,第一区域为4GB,第二区域为24GB,第三区域为4GB,所述第二区域作为未分配区,被第一块逻辑上的内存和第二块逻辑上的内存共享,则第一块逻辑上的内存可以由第一区域和第二区域构成,第二块逻辑上的内存可以由第二区域和第三区域构成;又比如,若存在两块物理上的内存,其空间都为16GB,则这两块16GB的内存分别为第一内存和第二内存。
在实际应用中,任意时刻,第一内存和第二内存中有且仅有一块内存被作为处于工作状态的内存,另外一块内存被作为处于备用状态的内存。而内存转换控制器(MEM_Switch)决定哪块内存作为处于工作状态的内存;同时,当处理器监控到启动操作时,所述处理器会将表征所述启动操作的指令发送给所述内存模块,由所述内存转换控制器响应该启动操作,以进行内存切换。
在电子设备的操作系统初始启动后,可以默认当前处于工作状态的内存为所述电子设备的第一内存,当前处于备用状态的内存为所述电子设备的第二内存。当由于用户操作失误、病毒或恶意软件入侵等原因导致操作系统发生崩溃时,用户触发第一启动操作;相应地,当所述电子设备监控到第一启动操作时,所述内存转换控制器将处于工作状态的内存从所述第一内存切换至所述第二内存。也就是说,所述电子设备在进行内存切换之后,所述电子设备处于工作状态的内存已为第二内存。
应当说明的是,可以有两种切换内存的方式,第一种方式为人工切换,以终端设备为例,当终端设备的操作系统发生崩溃时,用户可以将智能终端关机,将背板电池取下,并手动将两块NVM更换插槽位置,从而智能终端当监控到第一启动操作时,实现将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存。第二种方式为软件自动切换,所述内存转换控制器通过软件的方式将处于工作状态的内存的物理地址范围进行切换,从而实现将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存。
步骤103,根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。
这里,所述电子设备在进行内存切换之前,所述第二内存作为处于备用状态的内存,所述电子设备可以预先在所述第二内存中存储指令,所述第二内存中存储的指令可以包括第一指令、第二指令和第三指令,用于启动恢复所述第一内存中已存储的内容。其中,所述第一指令用于启动恢复所述电子设备的操作系统,所述第二指令用于启动恢复所述电子设备已存储的数据,所述第三指令用于保留所述电子设备已存储的指令。
在进行启动恢复时,理论上可以将恢复的内容加载到所述第二内存中任一位置,只要所述电子设备在后续运行过程中,能够寻址并运行所述第二内存中恢复的内容。为了使所述电子设备能够寻址到所述第二内存中恢复的内容,在进行内存切换之后,所述电子设备需要将逻辑地址与物理地址进行映射;例如,若所述第一内存的物理地址空间为0x0-0x7ffffffff,所述第二内存的物理地址空间为0x800000000-0xfffffffff,在进行内存切换之前,所述电子设备的逻辑地址空间指向物理地址空间0x0-0x7ffffffff,在进行内存切换之后,所述电子设备的逻辑地址空间指向物理地址空间0x800000000-0xfffffffff,从而实现了逻辑地址与物理地址的映射。
为了方便解决第一内存和第二内存进行切换后的逻辑地址的寻址问题,在实际应用中,所述第一内存和第二内存的布局可以相同;例如,如图4所示,所述第一内存和第二内存都包括四个区,这四个区为操作系统区、程序指令区、数据区和未分配区。其中,所述操作系统区为存储操作系统的区域,所述程序指令区为存储可执行指令的区域,所述数据区为存储数据的区域,未分配区为未进行分配的区域。
如图4所示,数据区进一步被细分为:元数据区、脏数据区和干净数据区;元数据区为存储元数据的子区域,脏数据区为存储脏数据的子区域,干净数据区为存储干净数据的子区域。其中,元数据又称中介数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找和文件记录等功能;脏数据为事务在访问数据时临时更新产生的数据,这些临时更新产生的数据还没有提交到数据库中,干净数据区为已提交至数据库中的数据。以word文档为例,word文档中已保存的数据即为干净数据,word文档中还没保存的新增数据即为脏数据,而该word文档中可以通过元数据查找到哪些数据为干净数据,哪些数据为脏数据。
具体地,图5为图2所示实现流程中步骤103的具体实现流程示意图,参照图5所示,步骤103具体可以包括以下步骤:
步骤1031,根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统;
这里,如图3所示,所述电子设备还可以包括外存,所述外存中存储有备份的操作系统。其中,所述外存包括但不限于光盘、磁盘和固态硬盘;同时,由于NVM的非易失性特征,因此,也可将NVM用作外存,或者将以上器件混合构成外存。
为了启动恢复所述电子设备的操作系统,所述电子设备中处理器需要根据所述第二内存中第一指令,将存储在外存中备份的操作系统加载到所述第二内存,从而恢复所述第一内存中崩溃的操作系统。
步骤1032,根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到所述外存,以启动恢复所述电子设备已存储的数据;
所述外存还可以用于持久化存储脏数据。具体地,所述电子设备中处理器根据所述第二内存中第二指令,不仅可以启动恢复所述第一内存中已存储的数据,还可以将所述第一内存中脏数据回刷到所述外存,从而可以在启动恢复所述电子设备崩溃的操作系统的同时保留脏数据。
步骤1033,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
为了便于用户查看所述电子设备的操作系统发生崩溃的原因,所述外存还可以用于保留所述第一内存中程序指令区未执行的指令。具体地,所述电子设备中处理器还需要根据所述第二内存中第三指令,将所述第一内存中程序指令区以文件形式转存到所述外存中,从而可以在启动恢复所述电子设备崩溃的操作系统的同时保留指令现场。
应当说明的是,启动控制方法中步骤103在可以不包括所述步骤1032和/或步骤1033的情况下,也能够使所述电子设备重新恢复到正常运行状态;此外,步骤1031、步骤1032和步骤1033的执行顺序可以任意调换,并不局限于按照上述顺序执行。
进一步地,所述第二内存中还可以存储有第四指令,所述第四指令用于使所述第一内存作为处于备用状态的内存,以使得所述电子设备的操作系统下一次崩溃时,可以将崩溃的内存再次切换至处于备用状态的内存,从而可以再一次使所述电子设备的操作系统重新恢复到正常运行状态。
具体地,在根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复之后,所述电子设备中处理器还可以根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
在实际应用中,所述用于使所述第一内存作为处于备用状态的内存的指令除了包括第一指令和第四指令之外,还可以同时包括第二指令和/或第三指令,所述电子设备中处理器可以按照预设顺序写入所述第一指令、第二指令、第三指令和第四指令。其中,所述第一指令、第二指令和第三指令可以以任意顺序写入;但是,所述第四指令必须在写入所述第一指令、第二指令和第三指令之后再写入。
此外,所述电子设备在实时监控启动操作的过程中,当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;并根据所述启动恢复指令,释放所述处于工作状态的内存空间。从而在所述电子设备的操作系统发生卡顿的场景下,可以使所述操作系统重新恢复到不卡顿状态。
具体地,根据所述启动恢复指令,释放所述处于工作状态的内存空间包括:根据所述启动恢复指令,将所述处于工作状态的内存中脏数据回刷到所述外存中;将所述处于工作状态的内存中干净数据和元数据清零;并解除所述处于工作状态的内存中元数据的内存空间占用。
应当说明的是,在将脏数据回刷到所述外存中之后,所述脏数据已经变成干净数据;之后,将这些干净数据清除,从而可以在启动恢复所述电子设备卡顿的操作系统的同时保留脏数据。
为了便于用户查看所述电子设备的操作系统发生卡顿的原因,所述将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中之前,将所述处于工作状态的内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
综上,本发明实施例中,在电子设备的操作系统发生崩溃的场景下,通过响应第一启动操作,将操作系统崩溃的第一内存切换到处于备用状态的第二内存;从而能够通过执行所述第二内存中存储的指令,控制所述电子设备进行启动恢复,进而能够使电子设备的操作系统重新恢复正常运行状态。
而在电子设备的操作系统发生卡顿的场景下,通过响应第二启动操作,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;从而能够通过执行所述启动恢复指令,释放所述处于工作状态的内存空间,进而能够使电子设备的操作系统重新恢复到不卡顿的状态。
同时,在重新恢复操作系统的过程中,能够保留指令现场和脏数据。
因此,本发明实施例提供的启动控制方法及电子设备可以使得用户在启动或重启系统时,主动地选择保留NVM中指令和数据,从而为NVM场景下的启动操作提供系统恢复的语意,进而能够提高电子设备的操作系统的稳定性。理想的结果是:既能使操作系统重新恢复到正常运行状态,又能保留指令现场和脏数据。
为了更加清楚的描述本发明实施例提供的方案,以下将详细介绍本发明实施例启动控制方法的具体实现过程。
图6为本发明启动控制方法实施例二的实现流程示意图,参照图6所示,本发明实施例的启动控制方法具体包括以下步骤:
步骤201,电子设备的操作系统初始启动后,所述电子设备的第一内存为当前处于工作状态的内存,所述电子设备的第二内存为当前处于备用状态的内存;所述电子设备实时监控启动操作;
步骤202,在操作系统在发生崩溃的场景下,用户触发第一启动操作,相应地,所述电子设备监控到所述第一启动操作;当监控到所述第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;
步骤203,根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统;
步骤204,根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到所述外存,以启动恢复所述电子设备已存储的数据;
步骤205,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令;
步骤206,根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令;
步骤207,操作系统恢复正常,启动结束。
应当说明的是,步骤203、步骤204和步骤205可以按照任意顺序执行;在此不限定这三个步骤的执行顺序。
通过本发明实施例的启动控制方法,对于NVM而言,在电子设备的操作系统发生崩溃的场景下,能够使操作系统重新恢复到正常运行状态;同时,能够保留指令现场和脏数据。
为了更好的理解本发明实施例的方案,以下通过具体的应用场景对本发明实施例启动控制方法的实现过程进行详细说明。
应用场景一
该实施例为机架式服务器的应用场景,操作系统为Linux系统,上层业务为金融交易。在该应用场景中,对于系统宕机,业务诉求是快速完成系统恢复、且数据不允许丢失。
硬件组成结构包括:
如图7所示,传统的电子设备只包括开关机按钮,而本实施例的电子设备可包括重启恢复触发模块,如图8所示,主机机架上除开关机按钮之外可以新增按钮,该新增的按钮即为重启恢复触发模块,该按钮紧邻开关机按钮,后续可以称之为重启恢复按钮;
如图9所示,所述机架式服务器中处理器的逻辑寻址空间为32GB,内存模块包括两块物理上容量为32GB的非易失性内存,分别构成第一内存和第二内存;所述第一内存的物理地址空间为0x0-0x7ffffffff,所述第二内存的物理地址空间为0x800000000-0xfffffffff。同时,所述内存模块还包括内存转换控制器,负责逻辑地址与物理地址的映射,为处理器提供32GB的内存空间;若内存转换控制器指向物理地址空间为0x0-0x7ffffffff,则初始阶段该块物理上的内存为第一内存,另一块物理上的内存为第二内存;反之同理;当进行内存切换时,所述内存转换控制器指向物理地址空间0x800000000-0xfffffffff;
如图10所示,第一内存和第二内存的布局相同,都由四部分组成,分别为操作系统区、程序指令区、数据区和未分配区。其中,当系统宕机时,对于第一内存,操作系统区已损坏,程序指令区阻塞状态存在未完成的指令,数据区存在未持久化到外存的脏数据;对于第二内存,只有程序指令区存在用于重启恢复的若干指令,其余区域为空;
另外,所述机架式服务器还包括外存,可以存储备份的操作系统,以及保留指令现场和脏数据。
具体地,图11为本发明启动控制方法实施例三的实现流程示意图,基于上述机架式服务器的硬件组成结构,参照图11所示,本实施例的启动控制方法包括以下步骤:
步骤301,实时监控是否存在按下重启恢复按钮的操作;
用户在正常使用过程中,内存转换控制器指向物理地址空间0x0-0x7ffffffff,此时,物理地址空间为0x0-0x7ffffffff的内存为第一内存,物理地址空间为0x800000000-0xfffffffff的内存为第二内存;当系统发生崩溃宕机时,机架式服务器对所有键盘操作无响应,用户可以按下机架式服务器上主机机架上的重启恢复按钮,用户处于等待状态。
步骤302,当监控到用户按下重启恢复按钮的操作时,内存转换控制器通过软件的方式将处于工作状态的内存的物理地址空间切换至0x800000000-0xfffffffff;
此时,由于第二内存中操作系统区无数据,因此,显示器黑屏;
步骤303,在第二内存中程序指令区执行第一条指令,将操作系统从外存加载到第二内存中;
该步骤结束时,第二内存中操作系统区存储的操作系统为正确、且正常的操作系统。
步骤304,在第二内存中程序指令区执行第二条指令,将第一内存中数据区拷贝到第二内存中;并根据所述第一内存中数据区的元数据,将所述第一内存中数据区的脏数据写入外存;
该步骤结束时,可以保证用户已执行的操作确实落盘,没有丢失已存储的数据。
步骤305,在第二内存中程序指令区执行第三条指令,将第一内存中程序指令区以文件形式转存到外存中;
可以将该文件命名为undo.log。
步骤306,在第二内存中程序指令区执行第四条指令,格式化所述第一内存,将所述第一内存中的全体内容清零;然后,可以在所述第一内存的程序指令区中依次写入四条指令,指令内容可以为第一条指令、第二条指令、第三条指令和第四条指令的内容;
通过该步骤,可以为下次系统崩溃后的内存切换做好准备,此时,所述第一内存已作为处于备用状态的内存。
步骤307,操作系统恢复正常,启动结束。
应当说明的是,上述实施例的启动控制方法只是以机架式服务器作为一个示例进行说明,并不局限于应用在机架式服务器上,也可以应用在个人计算机和智能终端等电子设备上。
应用场景二
该实施例为个人笔记本的应用场景,操作系统为Windows系统或Mac OS系统。在该应用场景中,用户追求高性价比,在不允许数据丢失前提下,内存利用率要求较高,但对恢复速度不做要求。
硬件组成结构包括:
如图7所示,本实施例的个人笔记本可以只包括开关机按钮,而第一启动操作可以为对开关机按钮进行若干次点击,也可以为长按开关机按钮后显示屏弹出供用户选择是否重启恢复的对话框,且基于该对话框,用户点击了确认重启恢复的选项;
如图12所示,所述个人笔记本中处理器的的逻辑寻址空间为28GB,内存模块包括一块物理上容量为32GB的非易失性内存,该块物理上的内容被逻辑上划分为3个区域;其中,第一区域为4GB,第二区域为24GB,第三区域为4GB。初始阶段,第一内存为第二区域和第三区域,第二内存为第一区域和第二区域。另外,第一内存和第二内存的布局相同,都由四部分组成,分别为操作系统区、程序指令区、数据区和未分配区。其中,第二区域作为未分配区,被第一内存和第二内存共享,哪块内存当前为处于工作状态的内存,则管理该区域;
所述内存模块还包括内存转换控制器,负责逻辑地址与物理地址的映射,为处理器提供28GB的内存空间。初始阶段,若内存转换控制器指向物理地址空间为0GB-28GB,则第一内存为第一区域和第二区域,第二内存为第二区域和第三区域;若内存转换控制器指向物理地址空间为4GB-32GB,则第一内存为第二区域和第三区域,第二内存为第一区域和第二区域;
所述个人笔记本还包括外存,可以存储备份的操作系统,以及保留指令现场和脏数据。
具体地,图13为本发明启动控制方法实施例四的实现流程示意图,基于上述个人笔记本的硬件组成结构,参照图13所示,本实施例的启动控制方法包括以下步骤:
步骤401,实时监控是否存在第一启动操作;
用户在正常使用过程中,第一内存为第二区域和第三区域,第二内存为第一区域和第二区域,内存转换控制器指向物理地址空间4GB-32GB。突然,由于病毒入侵,Windows系统发生蓝屏,对所有键盘操作无响应,用户可以对开关机按钮十连击,操作系统开始恢复,用户处于等待状态。
步骤402,当监控到第一启动操作时,内存转换控制器通过软件的方式将处于工作状态的内存的物理地址空间切换至0GB-28GB;
此时,由于第二内存中的操作系统区无数据,因此,显示器黑屏。
步骤403,在第二内存中程序指令区执行第一条指令,将操作系统从外存加载到第二内存中;
个人笔记本显示启动过程,该步骤结束时,第二内存中操作系统区存储的操作系统为正确、且正常的操作系统。
步骤404,在第二内存中程序指令区执行第二条指令,将第一内存中程序指令区以文件形式转存到外存中;
可以将该文件命名为undo.log。
步骤405,在第二内存中程序指令区执行第三条指令,将第一内存中数据区拷贝到第二内存中;并根据所述第一内存中数据区的元数据,将所述第一内存中数据区的脏数据写入外存;
该步骤结束时,可以保证用户已执行的操作确实落盘,没有丢失已存储的数据。
步骤406,在第二内存中程序指令区执行第四条指令,格式化所述第一内存,将所述第一内存中的全体内容清零;然后,可以在所述第一内存的程序指令区中依次写入四条指令,指令内容可以为第一条指令、第二条指令、第三条指令和第四条指令的内容;
通过该步骤,可以为下次系统崩溃后的内存切换做好准备,此时,所述第一内存已作为处于备用状态的内存。
步骤407,操作系统恢复正常,启动结束。
应当说明的是,上述实施例的启动控制方法只是以个人笔记本作为一个示例进行说明,并不局限于应用在个人笔记本上,也可以应用在机架式服务器、台式计算机和智能终端等电子设备上。
应用场景三
该实施例为智能终端的应用场景,操作系统为Android系统或iOS系统。
硬件组成结构包括:
如图14所示,智能终端的背部包括两个可插拔式的内存插槽,内存插槽1用于插入处于工作状态的内存,内存插槽2用于插入处于备用状态的内存。本实施例的第一启动操作为手动更换内存位置后进行开关机的操作;
智能终端中处理器的逻辑寻址空间为16GB,内存模块包括两块物理上容量为16GB的非易失性内存,第一内存为插入内存插槽1的内存,第二内存为插入内存插槽2的内存;
同时,所述内存模块还包括内存转换控制器,负责逻辑地址与物理地址的映射,为处理器提供16GB的内存空间;
第一内存和第二内存的布局相同,都由四部分组成,分别为操作系统区、程序指令区、数据区和未分配区。其中,对于第一内存,操作系统区已损坏,程序指令区阻塞状态存在未完成的指令,数据区存在未持久化到外存的脏数据;对于第二内存,只有程序指令区存在用于重启恢复的若干指令;
另外,所述机架式服务器还包括外存,可以存储备份的操作系统,以及保留指令现场和脏数据。
具体地,图15为本发明启动控制方法实施例五的实现流程示意图,基于上述智能终端的硬件组成结构,参照图15所示,本实施例的启动控制方法包括以下步骤:
步骤501,实时监控是否存在第一启动操作;
用户在正常使用过程中,内存插槽1中的第一内存为处于工作状态的内存,内存插槽2中的第二内存为处于备用状态的内存;由于内核崩溃,Android系统发生连续自动重启,对所有触屏操作均无响应;用户将智能终端关机,将背板电池取下,手动将两块非易失性内存更换插槽位置,然后按下开关机按钮。
步骤502,当监控到第一启动操作时,内存插槽1中的第二内存已变成处于工作状态的内存;
步骤503,在第二内存中程序指令区执行第一条指令,将操作系统从外存加载到第二内存中;
该步骤结束时,第二内存中操作系统区存储的操作系统为正确、且正常的操作系统。
步骤504,在第二内存中程序指令区执行第二条指令,将第一内存中程序指令区以文件形式转存到外存中;
可以将该文件命名为log.log。
步骤505,在第二内存中程序指令区执行第三条指令,将第一内存中数据区拷贝到第二内存中;并根据所述第一内存中数据区的元数据,将所述第一内存中数据区的脏数据写入外存;
该步骤结束时,可以保证用户已执行的操作确实落盘,没有丢失已存储的数据。
步骤506,在第二内存中程序指令区执行第四条指令,格式化所述第一内存,将所述第一内存中的全体内容清零;然后,可以在所述第一内存的程序指令区中依次写入四条指令,指令内容可以为第一条指令、第二条指令、第三条指令和第四条指令的内容;
通过该步骤,可以为下次系统崩溃后的内存切换做好准备,此时,所述第一内存已作为处于备用状态的内存。
步骤507,操作系统恢复正常,启动结束。
应当说明的是,上述实施例的启动控制方法只是以智能终端作为一个示例进行说明,并不局限于应用在智能终端上,也可以应用在其他的电子设备上。
应用场景四
在该应用场景中,电子设备的操作系统为某军用操作系统,由于军用操作系统稳定性强,网络连接仅限于内部网络,不存在系统宕机或病毒入侵的任何风险;因此,在本实施例中,仅用于处理内存空间不足而导致操作系统卡顿的应用场景。
硬件组成结构包括:
系统恢复的启动操作可以为用户触发键盘“F1+F2+F3+F4+F5+F6+F7+F8+空格”的指令组合;
如图16所示,电子设备中处理器的逻辑寻址空间为32GB,内存模块包括三块物理上的非易失性内存,其容量分别为8GB、8GB和16GB;这三块物理上的内存共同组成处于工作状态的内存,该电子设备并无处于备用状态的内存。所述电子设备处于工作状态的内存的布局由四部分组成,分别为操作系统区、程序指令区、数据区和未分配区。其中,操作系统区未损坏,程序指令区阻塞状态存在未完成的指令,数据区存在大量未持久化存储的脏数据,未分配区空间不足;
另外,所述电子设备还包括外存,所述外存中存储有若干启动恢复指令,且用于保留指令现场和脏数据。
具体地,图17为本发明启动控制方法实施例六的实现流程示意图,基于上述电子设备的硬件组成结构,参照图17所示,本实施例的启动控制方法包括以下步骤:
步骤601,实时监控是否存在用于系统恢复的启动操作;
在电子设备的运行过程中,用户对当前的操作系统出现的卡顿现象不满,希望恢复到初始化的场景;此时,用户可以按下键盘“F1+F2+F3+F4+F5+F6+F7+F8+空格”的指令组合。
步骤602,当监控到用于系统恢复的启动操作时,将处于工作状态的内存中程序指令区以文件形式转存到外存中;
该文件可以命名为log.log。
步骤603,将存储于外存中的启动恢复指令加载到所述处于工作状态的内存中程序指令区;
步骤604,执行程序指令区中的启动恢复指令,将所述处于工作状态的内存中脏数据回刷到所述外存中;将所述处于工作状态的内存中干净数据和元数据清零;并解除所述处于工作状态的内存中元数据的内存空间占用;
解除占用的空间交由未分配区管理。
步骤605,操作系统恢复正常,启动结束。
为实现本发明实施例的方法,本发明实施例还提供了一种电子设备,用于实现上述启动控制方法的具体细节,达到相同的效果。
图18为本发明实施例电子设备组成结构示意图之一,参照图18所示,所述电子设备包括:监控模块71、切换模块72和控制模块73;其中,
所述监控模块71,用于监控电子设备的启动操作;
所述切换模块72,用于当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
所述控制模块73,用于根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。
可选地,所述控制模块73,用于根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统。
可选地,所述控制模块73,用于启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到所述外存,以启动恢复所述电子设备已存储的数据。
可选地,所述控制模块73,用于启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
可选地,所述电子设备还包括:
处理模块74,用于根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
可选地,所述电子设备还包括:加载模块75和释放模块76;其中,
所述加载模块75,用于当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;
所述释放模块76,用于根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
在实际应用中,所述监控模块71、切换模块72、控制模块73、处理模块74、加载模块75和释放模块76均可由位于弹幕显示装置中的处理器结合用户接口实现。
上述实施例提供的电子设备在进行启动控制时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将电子设备的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的电子设备与启动控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图19为本发明实施例电子设备硬件组成结构示意图之二,参照图19所示,所述电子设备包括:处理器81、以及用于存储能够在处理器81上运行的计算机程序的存储器82;其中,
所述处理器81,用于运行所述计算机程序时,执行:
监控电子设备的启动操作;
当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。
可选地,所述处理器81,用于运行所述计算机程序时,执行:
根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统。
可选地,所述处理器81,用于运行所述计算机程序时,执行:
启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到所述外存,以启动恢复所述电子设备已存储的数据。
可选地,所述处理器81,用于运行所述计算机程序时,执行:
启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
可选地,所述处理器81,用于运行所述计算机程序时,执行:
根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复之后,根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
可选地,所述处理器81,用于运行所述计算机程序时,执行:
当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;
根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
当然,实际应用时,如图18所示,各个组件通过总线系统84耦合在一起。可理解,总线系统84用于实现这些组件之间的连接通信。总线系统84除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图18中将各种总线都标为总线系统84。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行程序,所述可执行程序被处理器81执行时,以实现以下步骤:
监控电子设备的启动操作;
当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复。
可选地,所述可执行程序被处理器81执行时,以具体实现根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复的步骤:
根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统。
可选地,所述可执行程序被处理器81执行时,以具体实现根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复的步骤:
启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到所述外存,以启动恢复所述电子设备已存储的数据。
可选地,所述可执行程序被处理器81执行时,以具体实现根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复的步骤:
启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
可选地,所述可执行程序被处理器81执行时,以实现以下步骤:
根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复之后,根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
可选地,所述可执行程序被处理器81执行时,以实现以下步骤:
当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;
根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
为实现本发明实施例的方法,本发明实施例还提供了一种电子设备,用于实现上述启动控制方法的具体细节,达到相同的效果。
图20为本发明实施例电子设备组成结构示意图之二,参照图20所示,所述电子设备包括:监控模块91、加载模块92和释放模块93;其中,
所述监控模块91,用于监控电子设备的启动操作;
所述加载模块92,用于当监控到启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;其中,所述处于工作状态的内存为非易失性内存;
所述释放模块93,用于根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
可选地,所述释放模块93,具体用于根据所述启动恢复指令,将所述处于工作状态的内存中脏数据回刷到所述外存中;将所述处于工作状态的内存中干净数据和元数据清零;并解除所述处于工作状态的内存中元数据的内存空间占用。
可选地,所述电子设备还包括:
转存模块94,用于将所述处于工作状态的内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
在实际应用中,所述监控模块91、加载模块92、释放模块93和转存模块94均可由位于弹幕显示装置中的处理器结合用户接口实现。
上述实施例提供的电子设备在进行启动控制时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将电子设备的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的电子设备与启动控制方法实施例六属于同一构思,其具体实现过程详见方法实施例六,这里不再赘述。
图21为本发明实施例电子设备硬件组成结构示意图之三,参照图21所示,所述电子设备包括:处理器110、以及用于存储能够在处理器110上运行的计算机程序的存储器111;其中,
所述处理器110,用于运行所述计算机程序时,执行:
监控电子设备的启动操作;
当监控到启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;其中,所述处于工作状态的内存为非易失性内存;
根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
可选地,所述处理器110,用于运行所述计算机程序时,执行:
根据所述启动恢复指令,将所述处于工作状态的内存中脏数据回刷到所述外存中;将所述处于工作状态的内存中干净数据和元数据清零;并解除所述处于工作状态的内存中元数据的内存空间占用。
可选地,所述处理器110,用于运行所述计算机程序时,执行:
所述将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中之前,将所述处于工作状态的内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
当然,实际应用时,如图20所示,各个组件通过总线系统112耦合在一起。可理解,总线系统112用于实现这些组件之间的连接通信。总线系统112除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图20中将各种总线都标为总线系统112。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行程序,所述可执行程序被处理器110执行时,以实现以下步骤:
监控电子设备的启动操作;
当监控到启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;其中,所述处于工作状态的内存为非易失性内存;
根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
可选地,所述可执行程序被处理器110执行时,以具体实现根据所述启动恢复指令,释放所述处于工作状态的内存空间的步骤:
根据所述启动恢复指令,将所述处于工作状态的内存中脏数据回刷到所述外存中;将所述处于工作状态的内存中干净数据和元数据清零;并解除所述处于工作状态的内存中元数据的内存空间占用。
可选地,所述可执行程序被处理器110执行时,以实现以下步骤:
所述将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中之前,将所述处于工作状态的内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种启动控制方法,其特征在于,所述方法包括:
监控电子设备的启动操作;
当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复;其中,
所述根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复,包括:
启动恢复所述电子设备的操作系统之前或者之后,
根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统,
根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到外存,以启动恢复所述电子设备已存储的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复,还包括:
启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复之后,所述方法还包括:
根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;
根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
5.一种电子设备,其特征在于,所述电子设备包括:监控模块、切换模块和控制模块;其中,
所述监控模块,用于监控电子设备的启动操作;
所述切换模块,用于当监控到第一启动操作时,将处于工作状态的内存从所述电子设备的第一内存切换至所述电子设备的第二内存;其中,所述第一内存为当前处于工作状态的内存,所述第二内存为当前处于备用状态的内存;所述第一内存和第二内存为非易失性内存;
所述控制模块,用于根据所述第二内存中存储的指令,控制所述电子设备进行启动恢复;其中,
所述控制模块,具体用于启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第一指令,将存储在所述电子设备的外存中的操作系统加载到所述第二内存中,以启动恢复所述电子设备的操作系统;根据所述第二内存中第二指令,将所述第一内存用于存储数据的区域拷贝到所述第二内存中,并将所述第一内存中脏数据回刷到外存,以启动恢复所述电子设备已存储的数据。
6.根据权利要求5所述的电子设备,其特征在于,所述控制模块,还具体用于启动恢复所述电子设备的操作系统之前或者之后,根据所述第二内存中第三指令,将所述第一内存用于存储指令的区域以文件形式转存到所述外存中,以保留所述电子设备已存储的指令。
7.根据权利要求5所述的电子设备,其特征在于,所述电子设备还包括:
处理模块,用于根据所述第二内存中第四指令,格式化所述第一内存;并在所述第一内存中写入用于使所述第一内存作为处于备用状态的内存的指令。
8.根据权利要求5所述的电子设备,其特征在于,所述电子设备还包括:加载模块和释放模块;其中,
所述加载模块,用于当监控到第二启动操作时,将存储在所述电子设备的外存中的启动恢复指令加载到所述电子设备处于工作状态的内存中;
所述释放模块,用于根据所述启动恢复指令,释放所述处于工作状态的内存空间,以启动恢复所述电子设备的操作系统。
9.一种电子设备,其特征在于,所述电子设备包括:处理器、以及用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器,用于运行所述计算机程序时,执行权利要求1至4任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令的计算机程序被处理器执行时实现权利要求1至4任一项所述的启动控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711449091.7A CN108228387B (zh) | 2017-12-27 | 2017-12-27 | 一种启动控制方法、电子设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711449091.7A CN108228387B (zh) | 2017-12-27 | 2017-12-27 | 一种启动控制方法、电子设备以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228387A CN108228387A (zh) | 2018-06-29 |
CN108228387B true CN108228387B (zh) | 2019-11-05 |
Family
ID=62649326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711449091.7A Active CN108228387B (zh) | 2017-12-27 | 2017-12-27 | 一种启动控制方法、电子设备以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228387B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11397694B2 (en) * | 2019-09-17 | 2022-07-26 | Micron Technology, Inc. | Memory chip connecting a system on a chip and an accelerator chip |
CN112416449A (zh) * | 2020-12-15 | 2021-02-26 | 北京梧桐车联科技有限责任公司 | 一种电子设备及其启动方法和启动装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5568641A (en) * | 1995-01-18 | 1996-10-22 | Hewlett-Packard Company | Powerfail durable flash EEPROM upgrade |
JP2000267872A (ja) * | 1999-03-17 | 2000-09-29 | Fujitsu Ltd | 2重化システムにおける再開処理方式 |
US7340638B2 (en) * | 2003-01-30 | 2008-03-04 | Microsoft Corporation | Operating system update and boot failure recovery |
US6934805B2 (en) * | 2003-05-19 | 2005-08-23 | International Business Machines Corporation | Method and apparatus for managing computer storage devices for improved operational availability |
WO2010099529A1 (en) * | 2009-02-27 | 2010-09-02 | Keicy Chung | Central processing unit capable of multi-boot using disjoint memory spaces |
KR20140007990A (ko) * | 2012-07-09 | 2014-01-21 | 삼성전자주식회사 | 불휘발성 램을 포함하는 사용자 장치 및 그것의 데이터 관리 방법 |
CN103870347A (zh) * | 2012-12-11 | 2014-06-18 | 联想(北京)有限公司 | 一种系统恢复方法和装置 |
US9032139B2 (en) * | 2012-12-28 | 2015-05-12 | Intel Corporation | Memory allocation for fast platform hibernation and resumption of computing systems |
EP2989579B1 (en) * | 2013-04-23 | 2018-06-06 | Hewlett-Packard Development Company, L.P. | Redundant system boot code in a secondary non-volatile memory |
CN104516748B (zh) * | 2013-09-27 | 2018-10-12 | 联想(北京)有限公司 | 一种信息处理方法、电子设备以及可切换内存 |
CN103810009B (zh) * | 2014-02-20 | 2017-06-16 | 北京奇虎科技有限公司 | 一种计算机操作系统启动加速的方法和装置 |
CN103902336A (zh) * | 2014-03-13 | 2014-07-02 | 深圳创维-Rgb电子有限公司 | 操作系统启动控制的方法及装置 |
US10095438B2 (en) * | 2015-08-24 | 2018-10-09 | Dell Products L.P. | Information handling system with persistent memory and alternate persistent memory |
CN105242856B (zh) * | 2015-10-29 | 2019-02-15 | 维沃移动通信有限公司 | 一种移动终端多系统间共享数据的方法和移动终端 |
CN107391120A (zh) * | 2017-06-30 | 2017-11-24 | 联想(北京)有限公司 | 一种启动控制方法、电子设备及计算机可读存储介质 |
-
2017
- 2017-12-27 CN CN201711449091.7A patent/CN108228387B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108228387A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7941700B2 (en) | Operating system-based application recovery | |
CN101937376B (zh) | 一种数据管理方法及数据存储装置 | |
US9075733B1 (en) | Selective storage of address mapping metadata in a system having multiple memories | |
CN102439565B (zh) | 启动恢复的方法和装置 | |
CN106227621B (zh) | 基于逻辑卷管理精简卷的数据备份方法及系统 | |
US20100064127A1 (en) | Method for updating basic input/output system and method for repairing thereof | |
TWI506429B (zh) | 用於非依電性容錯寫入作業之方法、運算系統及相關電腦程式產品 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 | |
US20080109676A1 (en) | Processing device and storage medium | |
CN103577574A (zh) | 一种基于nand flash的高可靠线性文件系统 | |
WO2022247139A1 (zh) | 一种服务器的日志输出方法、系统及相关装置 | |
CN108228387B (zh) | 一种启动控制方法、电子设备以及计算机可读存储介质 | |
CN105874428A (zh) | 用于多个操作系统环境中的操作系统转变的技术 | |
CN104915226A (zh) | 一种网络设备软件启动方法、装置及网络设备 | |
CN104766628A (zh) | 电容节能验证 | |
CN105808462B (zh) | 基于fpga实现的仿真内存、仿真内存的实现方法及计算机 | |
US20140129759A1 (en) | Low power write journaling storage system | |
CN103399520B (zh) | 用于可编程逻辑控制器系统的掉电数据存取方法及装置 | |
US20220334733A1 (en) | Data restoration method and related device | |
TW202223636A (zh) | 電腦主機系統、基板管理控制器和其啟動方法 | |
CN104424115B (zh) | 恢复电子设备的预设状态的方法、存储装置和电子设备 | |
CN115167784A (zh) | 一种数据写入方法、装置、设备及存储介质 | |
CN102360300B (zh) | 操作系统的启动方法及装置 | |
CN102033767A (zh) | 一种单板及单板在线升级的方法 | |
CN104572198B (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Yang Hongzhang Inventor after: Tu Yaofeng Inventor after: Guo Bin Inventor after: Han Yinjun Inventor after: Huang Zhenjiang Inventor after: Gao Hong Inventor before: Yang Hongzhang Inventor before: Tu Yaofeng Inventor before: Guo Bin Inventor before: Han Yinjun |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |