CN103729211A - 一种操作系统恢复方法、装置及终端设备 - Google Patents
一种操作系统恢复方法、装置及终端设备 Download PDFInfo
- Publication number
- CN103729211A CN103729211A CN201310674990.2A CN201310674990A CN103729211A CN 103729211 A CN103729211 A CN 103729211A CN 201310674990 A CN201310674990 A CN 201310674990A CN 103729211 A CN103729211 A CN 103729211A
- Authority
- CN
- China
- Prior art keywords
- operating system
- kernel
- internal memory
- image file
- recovery
- 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
Links
Images
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/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Quality & Reliability (AREA)
Abstract
本发明实施例涉及操作系统技术领域。本发明实施例提供一种操作系统恢复方法,包括:启动二级内核,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的其中;通过所述二级内核将所述操作系统恢复到其进入休眠模式前的状态。利用本发明实施例提供的技术方案能够加快操作系统的恢复速度。此外,本发明实施例还提供相应的装置和终端设备。
Description
技术领域
本发明涉及操作系统技术领域,尤其涉及一种操作系统恢复方法、装置及终端设备。
背景技术
休眠(hibernation)是一种计算机电源管理技术,现有技术中,计算机进入休眠模式时,其操作系统的休眠状态信息将会以镜像文件的形式被保存在系统非易失性存储器上,该镜像文件即是操作系统的镜像文件,所述操作系统的镜像文件中包含原始内核和其他应用程序信息;当该计算机被从休眠模式唤醒时,一旦检测到非易失性存储器上保存有待恢复的操作系统的镜像文件,其首先加载并启动原始内核,通过启动后的原始内核从系统的非易失性存储器上读取所述操作系统的镜像文件,并根据所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将该计算机上的操作系统恢复到其进入休眠模式前的状态,现有技术中,因为所述原始内核与包含在所述操作系统中的内核是一致的,导致现有技术中的用于恢复计算机的操作系统方法的恢复速度比较慢。
发明内容
本发明实施例提供一种操作系统恢复方法、装置及终端设备,用以加快操作系统的恢复速度。
第一方面,本发明实施例提供一种操作系统恢复方法,该方法包括:启动二级内核,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
结合第一方面,在第一种实现方式下,所述通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,包括:通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
结合第一方面,在第二种实现方式下,所述通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,包括:将非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区;通过启动后的所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
结合第一方面、第一方面的第一种实现方式或者第一方面的第二种实现方式,在第三种实现方式下,所述在二级内核启动完成后,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置之前,所述方法还包括:加载所述二级内核的镜像文件。
结合第一方面或者第一方面的第一种实现方式至第一方面的第三种实现方式中的任一种实现方式,在第四种实现方式下,所述通过所述启动后的二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态之后,还包括:利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。
结合第一方面的第四种实现方式,在第五种实现方式下,该方法还包括:通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
结合第一方面或者第一方面的第一种实现方式至第一方面的第五种实现方式中的任一种实现方式,在第六种实现方式下,所述操作系统的休眠状态信息包括:所述操作系统进入休眠模式前被冻结保存的所述操作系统的休眠状态信息;或者,被预先设置并保存的所述操作系统的休眠状态信息。
第二方面,本发明实施例提供一种操作系统恢复装置,该装置包括:引导加载单元,用于启动二级内核,其中,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的;读取单元,用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;恢复单元,用于通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
结合第二方面,在第一种实现方式下,所述读取单元具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息。
结合第二方面,在第二种实现方式下,所述引导加载单元还用于将外存上的所述操作系统的镜像文件读入所述内存的设备专用分区;所述读取单元具体用于通过启动后的二级内核将待恢复的操作系统的镜像文件从所述内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息。
结合第二方面、第二方面的第一种实现方式或者第二方面的第二种实现方式,在第三种实现方式下,所述引导加载单元还用于加载所述二级内核的镜像文件。
结合第二方面或者第二方面的第一种实现方式至第二方面的第三种实现方式中的任一种实现方式,在第四种实现方式下,所述恢复单元还用于利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。
结合第二方面的第四种实现方式,在第五种实现方式下,所述恢复单元还用于通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
结合第三方面,本发明实施例还提供一种终端设备,该设备包括内存,以及如第二方面或者第二方面的第一种实现方式至第二方面的第五种实现方式中的任一种实现方式所述的操作系统恢复装置,其中所述内存中存储有所述终端设备上运行的操作系统的镜像文件,所述操作系统恢复装置用于利用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
可见,本发明实施例提供的操作系统恢复方法、装置及终端设备中,本发明实施例提供的技术方案中在启动二级内核后,通过启动后的二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与所述原始内核中的恢复程序在所述内存中的位置相同;是为了保证了操作系统可以顺利恢复到其进入休眠模式前的状态;本方案中所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,则可以实现启动所述二级内核所需的时间小于启动所述原始内核所需的时间,所以本发明实施例提供的技术方案在实现正常恢复操作系统的基础上,由于所述二级内核的启动时间变短,从而加快所述操作系统的恢复速度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中终端设备的逻辑结构图;
图2a是原始内核的镜像文件的结构示意图;
图2b是二级内核的镜像文件的结构示意图;
图3a是本发明实施例提供的一种操作系统恢复方法的方法流程图;
图3b是本发明实施例提供的另一种操作系统恢复方法的方法流程图;
图3c是本发明实施例提供的再一种操作系统恢复方法的方法流程图;
图4是本发明实施例提供的一种操作系统恢复装置的结构示意图;
图5是本发明实施例提供的一种终端设备的结构示意图;
图6是本发明实施例提供的另一种终端设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图3a是本发明实施例提供的一种操作系统恢复方法的方法流程图。本发明实施例提供的操作系统恢复方法可以应用于计算机系统中,该计算机系统可以位于一台物理主机上,也可以分布位于多台物理主机上。具体地,该计算机系统可以位于一台或多台计算机、便携式电脑、手持设备(例如手机,PAD等)、服务器等类型的终端设备上,且该终端设备的逻辑结构可参阅附图1。
参阅附图1,为本发明实施例提供的一种终端设备的逻辑结构图,该终端设备上可以安装并运行包含标准Linux内核的操作系统,该终端设备具体可以为一个人电脑、智能手机、机顶盒、GPS等。如图1所示,该终端设备的硬件系统包括处理器、输入设备、显示设备、通信设备、内存、非易失性存储器(所述非易失性存储器包括但不限于硬盘、光盘)等,当然还可以包括输出设备、内存控制器、网络接口等,具体的,所述输入设备可包括键盘、鼠标、触摸屏等;在硬件系统之上是内核空间,内核空间上运行有操作系统的Linux内核以及一些驱动程序;在所述内核空间之上的是用户空间,所述用户空间包括C语言库、核心库等;位于所述用户空间之上的是各种应用程序,比如桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等(图中未示出)。
具体的,请参阅附图3a,本发明实施例提供的操作系统恢复方法的具体流程如下:
S303、启动二级内核,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;
首先,内核是一个操作系统的核心,是基于硬件的第一层软件扩充,用于提供操作系统最基本的功能,是操作系统工作的基础。所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,所述原始内核是指所述操作系统进入休眠模式前包含在所述操作系统中的内核,启动所述二级内核所需的时间小于启动所述原始内核所需的时间。具体的,所述原始内核的镜像文件中包含多个代码段,所述二级内核的镜像文件是通过裁剪所述原始内核的镜像文件中包含的与恢复操作系统无关的代码段得到的,所述二级内核可以仅包含恢复操作系统必不可少的代码段,也可以还包括与恢复操作系统不相关的代码段,总之,只要保证所述二级内核的镜像文件相对于所述原始内核的镜像文件包含的代码段比较少,就能够实现本发明加快操作系统恢复速度的发明目的,则就在本发明的保护范围之内。
值得注意的是,值得注意的是,所述二级内核是在引导加载程序加载所述二级内核的镜像文件后启动的,所述二级内核的镜像文件是可以是系统休眠关机时产生并保存在系统非易失性存储器上的,也可以是预先保存在系统非易失性存储器上的,在需要将系统从休眠模式唤醒时,所述二级内核就会被加载运行以实现本发明的发明目的。总之,本发明实施例对与所述二级内核的镜像文件的产生方式不做限制性规定。
所述原始内核的镜像文件中包含代码段分别对应原始内核的不同的功能,比如用于对内存进行管理的内存管理代码段、用于对文件进行管理的文件管理代码段等。对应的,所述二级内核的镜像文件中包含的也是代码段,其与所述原始内核的镜像文件的不同之处在于所述二级内核的镜像文件中包含的代码段相对于所述原始内核的镜像文件中包含代码段来说比较少,所以加载所述二级内核的镜像文件需要的时间要小于现有技术中加载所述原始内核的镜像文件所需要的时间。
以图2a和图2b为例进行说明,图2a中所示的原始内核的镜像文件中包含有恢复程序、进程管理、内存管理、文件管理、协议栈以及设备管理六个代码段,图2a中所示的二级内核的镜像文件中包含恢复程序、内存管理以及进程管理三个代码段,所述二级内核的镜像文件是通过裁剪掉所述原始内核的镜像文件中的文件管理、协议栈以及设备管理三个代码段并所述所述原始内核的镜像文件进行重新编译获得的。当然,通常使用的Linux内核镜像文件中包含的绝不仅限于上述六个代码段,公知的,Linux内核中可以包含有终端设备中各个硬件设备的驱动,比如显示驱动、照相机驱动、蓝牙驱动、闪存驱动、键盘驱动、USB驱动、渲染驱动、电源管理、wifi驱动、音频驱动等等,则对应的,该Linux内核镜像文件中也包含有上述的各个代码段。
需要说明的是,之所以所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,其中,所述原始内核是指所述操作系统进入休眠模式前包含在所述操作系统中的内核。因为使用所述二级内核将所述操作系统恢复到其进入休眠模式前的状态,实际上是使用所述二级内核中的恢复程序实现上述恢复功能的,所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,是为了保证所述二级内核中的恢复程序在顺利的被恢复后的所述操作系统中包含的所述原始内核中的恢复程序覆盖并替换掉,也即为了实现所述二级内核中的恢复程序与所述原始内核中的恢复程序安全交接,避免所述原始内核的其他代码段覆盖所述二级内核中的恢复程序而导致系统崩溃不能正常恢复。
值得注意的是,所述通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,具体的,参阅附图3b的步骤S313、通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
所述二级内核可以直接将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,当然该方案实现的前提是所述二级内核具有从非易失性存储器上读文件到内存的功能。
作为本发明的另一个实施例,参阅附图3c的步骤S323、通过启动后的所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
在本实施例中,所述二级内核是从所述内存的设备专用分区读取所述待恢复的操作系统的镜像文件的,需要说明的时,采用本方案是,所述二级内核本身也可以具有从非易失性存储器上读文件到内存的功能;当然,所述二级内核也可以不具有从非易失性存储器上读文件到内存的功能。具体的,在所述二级内核的镜像文件不具有从非易失性存储器上读文件到内存的功能时,则需要由引导加载程序先将所述操作系统的镜像文件从非易失性存储器读到所述内存的设备专用分区,然后再由所述所述二级内核将所述操作系统的镜像文件从所述内存的设备专用分区转移到所述内存的特定位置。
需要说明的是,在所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置时,本发明实施例所述的操作系统恢复方法还需要包括步骤S321、将非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区。
值得注意的是,所述内存的设备专用分区是指物理内存上分配给设备专用的不归内核管理的分区,且所述设备专用分区在物理内存上的地址是连续的,所述设备专用分区可以是PMEM分区等。
具体的,在嵌入式操作系统中,引导加载程序是在操作系统内核运行之前运行的,所述引导加载程序可以初始化硬件环境、建立内存空间映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好环境。对于本发明实施例而言,接通电源后,首先运行引导加载程序,同时将位于非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区上。这是因为引导加载程序具有从非易失性存储器上读取所述操作系统的镜像文件的能力,利用所述引导加载程序的该功能,可以不依赖现有技术中包含在内核中的文件管理代码段的文件管理功能。使用所述引导加载程序实现将所述操作系统的镜像文件从非易失性存储器读到内存的作用在于,再通过裁剪以及编译所述原始内核的镜像文件得到所述二级内核的镜像文件时,可以裁剪掉所述原始内核的镜像文件中包含的文件系统代码段,则在保证所述二级内核顺利将所述操作系统恢复到其进入休眠模式前的状态的前提下,使得所述二级内核变得更小,加载速度更快。
所述操作系统休眠状态信息,是指操作系统进入模式前被冻结保存的所述操作系统的休眠状态信息,其中所述操作系统的休眠状态信息包括正运行在所述操作系统中的所有的进程信息、用于表示外部设备运行状态的设备数据以及用于表示原始内核运行状态的原始内核数据等。具体的,运行中的所述操作系统的休眠模式被激发后,所述操作系统会将其内存以及CPU寄存器里面包含的所有信息拍一个快照,然后将所述快照即操作系统休眠状态信息保存到所述镜像文件中。需要注意的是,所述操作系统休眠状态信息也可以是预先设置并保存的所述操作系统的休眠状态信息,例如在车载GPS中,可以预先设置所述操作系统休眠状态信息,这样,所述GPS每次启动时,就可以直接恢复到某一个固定状态,以满足实际需要。
S305、通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
具体的,所述将所述操作系统恢复到其进入休眠模式前的状态,是指通过恢复所述操作系统进入休眠模式前运行在所述操作系统中的所有的进程信息、用于表示外部设备运行状态的设备数据以及用于表示原始内核运行状态的原始内核数据等,将所述操作系统完全恢复到其进入休眠模式前的状态。
进一步的,参阅附图3b所示的操作系统恢复方法的流程示意图,在步骤S313所述的通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置之前,所述方法还包括:加载所述二级内核的镜像文件。
具体的,所述非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区的执行主体是计算机开机后运行的引导加载程序,所述引导加载程序是系统加电后运行的第一段软件代码,计算机中的引导加载程序由输入输出系统BIOS和位于硬盘MBR中的Bootloader一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的Bootloader读到系统的内存中,然后将控制权交给Bootloader。Bootloader的主要运行任务就是将内核的镜像文件从硬盘读到内存中,然后跳转到内核的入口点去运行。
需要说明的是,对应于附图3c所示的操作系统恢复方法中也包括步骤:加载所述二级内核的镜像文件。
值得注意的是,参阅附图3b,所述的操作系统恢复方法还可以包括下述步骤S317:所述通过所述启动后的二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态之后,利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。
具体的,所述二级内核中的恢复程序利用包含在所述操作系统的镜像文件中的休眠状态信息将操作系统恢复到其进入休眠模式前的状态,所述操作系统恢复后,包含在所述操作系统中的原始内核同时得以恢复,基于所述原始内核中包含的恢复程序在所述内存中的位置与所述二级内核中包含的恢复程序在所述内存中的位置相同,所述原始内核可以覆盖并替换所述二级内核,以使所述操作系统恢复成功。
进一步的,参阅附图3b,所述操作系统恢复方法的流程图还可以包括下述步骤S318:通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
具体的,所述操作系统恢复到其进入休眠模式前的状态时,包含在所述操作系统中的原始内核会将所述操作系统进入休眠模式时被挂起的外部设备进行resume,以将运行所述操作系统的终端设备完全恢复到其进入休眠模式前的状态。其中,所述外部设备可以是系统硬盘等,具体的,所述操作系统恢复后,该操作系统根据所述休眠状态信息中包含的设备数据将该设备恢复到其进入休眠模式前的状态。
参见附图3c可知,其提供的另一种操作系统恢复方法也可以包括步骤S327和S328,其中步骤S327和S328的内容分别与步骤S317和S318的内容相同,具体参考步骤S317和S318的描述即可,此处不再赘述。
可知,本发明实施例提供的操作系统恢复方法,因为所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,可以保证使用所述二级内核能够顺利地将所述操作系统恢复到其进入休眠模式前的状态;其次,因为本发明实施例提供的技术方案是通过启动所述二级内核将所述操作系统恢复到其进入休眠模式前的状态的,所述二级内核是通过裁剪并重新编译所述原始内核获得的,所以启动所述二级内核所需的时间小于启动所述原始内核所需的时间,也即加快了所述二级内核的启动速度,也即采用本发明实施例所述的技术方案可以在保证正常恢复操作系统的基础上,加快所述操作系统的恢复速度。
进一步的,由于所述二级内核的镜像文件小于原始内核的镜像文件,所以加载所述二级内核的镜像文件所需的时间也小于加载所述原始内核的镜像文件所需的时间,则可以进一步加快所述操作系统的恢复速度。
请参阅附图4,为本发明实施例提供的一种操作系统恢复装置40的结构示意图,本发明实施例提供的操作系统恢复装置40同样可以应用于如图1所述的终端设备。如图4所示,该装置40包括:
引导加载单元43,用于启动二级内核,其中,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的;
需要说明的是,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,所述原始内核是指所述操作系统进入休眠模式前包含在所述操作系统中的内核,启动所述二级内核所需的时间小于启动所述原始内核所需的时间。具体的,所述原始内核的镜像文件中包含多个代码段,所述二级内核的镜像文件是通过裁剪所述原始内核的镜像文件中包含的与恢复操作系统无关的代码段得到的,所述二级内核可以仅包含恢复操作系统必不可少的代码段,也可以还包括与恢复操作系统不相关的代码段,总之,只要保证所述二级内核的镜像文件相对于所述原始内核的镜像文件包含的代码段比较少,就能够实现本发明加快操作系统恢复速度的发明目的,值得注意的是,所述二级内核的镜像文件是可以是系统休眠关机时产生并保存在系统非易失性存储器上的,也可以是预先保存在系统非易失性存储器上的,在需要将系统从休眠模式唤醒时,所述二级内核就会被加载运行以实现本发明的发明目的。总之,本发明实施例对与所述二级内核的镜像文件的产生方式不做限制性规定。
值得注意的是,所述引导加载单元43还用于加载所述二级内核的镜像文件,其中,加载所述二级内核的镜像文件所需的时间小于加载所述原始内核的镜像文件所需的时间。
读取单元45,用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;
需要说明的是,所述读取单元45之所以所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,其中,所述原始内核是指所述操作系统进入休眠模式前包含在所述操作系统中的内核。因为使用所述二级内核将所述操作系统恢复到其进入休眠模式前的状态,实际上是使用所述二级内核中的恢复程序实现上述恢复功能的,所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,是为了保证所述二级内核中的恢复程序在顺利的被恢复后的所述操作系统中包含的所述原始内核中的恢复程序覆盖并替换掉,也即为了实现所述二级内核中的恢复程序与所述原始内核中的恢复程序安全交接,避免所述原始内核的其他代码段覆盖所述二级内核中的恢复程序而导致系统崩溃不能正常恢复。
具体的,所述读取单元45具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息。
所述二级内核可以直接将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,当然该方案实现的前提是所述二级内核具有从非易失性存储器上读文件到内存的功能。
作为本发明的另一个实施例,所述读取单元45具体用于通过启动后的二级内核将待恢复的操作系统的镜像文件从所述内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息。
对应的,在所述读取单元45实现上述功能时,所述引导加载单元43还用于将非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区。
在本实施例中,所述二级内核是从所述内存的设备专用分区读取所述待恢复的操作系统的镜像文件的,需要说明的时,采用本方案是,所述二级内核本身也可以具有从非易失性存储器上读文件到内存的功能;当然,所述二级内核也可以不具有从非易失性存储器上读文件到内存的功能。具体的,在所述二级内核的镜像文件不具有从非易失性存储器上读文件到内存的功能时,则需要由引导加载程序先将所述操作系统的镜像文件从非易失性存储器读到所述内存的设备专用分区,然后再由所述所述二级内核将所述操作系统的镜像文件从所述内存的设备专用分区转移到所述内存的特定位置。
值得注意的是,所述内存的设备专用分区是指物理内存上分配给设备专用的不归内核管理的分区,且所述设备专用分区在物理内存上的地址是连续的,所述设备专用分区可以是PMEM分区等。
恢复单元47,用于通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
所述操作系统休眠状态信息,是指操作系统进入模式前被冻结保存的所述操作系统的休眠状态信息,其中所述操作系统的休眠状态信息包括正运行在所述操作系统中的所有的进程信息、用于表示外部设备运行状态的设备数据以及用于表示原始内核运行状态的原始内核数据等。
进一步的,所述恢复单元47还用于利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。
具体的,所述二级内核中的恢复程序利用包含在所述操作系统的镜像文件中的休眠状态信息将操作系统恢复到其进入休眠模式前的状态,所述操作系统恢复后,包含在所述操作系统中的原始内核同时得以恢复,基于所述原始内核中包含的恢复程序在所述内存中的位置与所述二级内核中包含的恢复程序在所述内存中的位置相同,所述原始内核可以覆盖并替换所述二级内核,以使所述操作系统恢复成功。
进一步的,所述恢复单元47还用于通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
具体的,所述操作系统恢复到其进入休眠模式前的状态时,包含在所述操作系统中的原始内核会将所述操作系统进入休眠模式时被挂起的外部设备进行resume,以将运行所述操作系统的终端设备完全恢复到其进入休眠模式前的状态。其中,所述外部设备可以是系统硬盘等。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的实施例,在此不再赘述。
可知,本发明实施例提供的操作系统恢复装置恢复操作系统时,由于所述二级内核是通过裁剪编译原始内核得到的,所以启动所述二级内核需要的时间小于启动所述原始内核需要的时间;再者,所述恢复单元通过启动后的二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置,其中原始内核中的恢复程序在所述内存中的位置与所述二级内核中的恢复程序在所述内存中的位置相同,保证了使用所述二级内核能够顺利地将所述操作系统恢复到其进入休眠模式前的状态,也即本发明实施例提供的操作系统恢复装置在保证正常恢复操作系统的情形下,加快所述操作系统的恢复速度。
进一步的,本发明实施例所述的二级内核是在加载二级内核的镜像文件后启动的,所述二级内核的镜像文件是通过对原始内核的镜像文件进行裁剪后并重新编译得到的,加载所述二级内核的镜像文件和启动所述二级内核所需的时间分别小于加载所述原始内核的镜像文件和启动所述原始内核所需的时间,所以进一步减少了恢复所述操作系统所需的时间,提高了所述操作系统的恢复效率。
为了更好的实施上述方法以及装置实施例,请参阅附图5,为本发明实施例提供的一种终端设备50的结构框图,该终端设备50的逻辑结构图可以如图1所示。具体的,如图5所示,所述终端设备50包括内存52以及操作系统恢复装置54,
其中,所述内存52用于存储有所述终端设备上运行的操作系统的镜像文件;
具体的,所述操作系统的镜像文件中包含所述操作系统的休眠状态信息,所述操作系统休眠状态信息,是指操作系统进入模式前被冻结保存的所述操作系统的休眠状态信息,其中所述操作系统的休眠状态信息包括正运行在所述操作系统中的所有的进程信息、用于表示外部设备运行状态的设备数据以及用于表示原始内核运行状态的原始内核数据等。具体的,运行中的所述操作系统的休眠模式被激发后,所述操作系统会将其内存以及CPU寄存器里面包含的所有信息拍一个快照,然后将所述快照即操作系统休眠状态信息保存到所述镜像文件中。
当然,所述操作系统休眠状态信息也可以是预先设置并保存的所述操作系统的休眠状态信息,例如在车载GPS中,可以预先设置所述操作系统休眠状态信息,这样,所述GPS每次启动时,就可以直接恢复到某一个固定状态,以满足实际需要。
所述操作系统恢复装置54用于利用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
需要说明的是,所述操作系统恢复装置54具体用于启动二级内核,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
所述二级内核是在引导加载程序加载所述二级内核的镜像文件后启动的,所述二级内核的镜像文件是通过裁剪并编译原始内核的镜像文件获得的,具体的,所述原始内核的镜像文件中包含多个代码段,所述二级内核的镜像文件相对于所述原始内核的镜像文件来说至少是是通过裁剪掉所述原始内核的镜像文件中包含多个代码段中的文件管理代码段并对所述原始内核的镜像文件重新编译获得的。
值得注意的是,所述二级内核的镜像文件是通过裁剪并编译原始内核的镜像文件获得的,且所述二级内核的镜像文件是可以是系统休眠关机时产生并保存在系统非易失性存储器上的,也可以是预先保存在系统非易失性存储器上的,在需要将系统从休眠模式唤醒时,所述二级内核就会被加载运行以实现本发明的发明目的。总之,本发明实施例对与所述二级内核的镜像文件的产生方式不做限制性规定。
需要说明的是,之所以所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,其中,所述原始内核是指所述操作系统进入休眠模式前包含在所述操作系统中的内核。因为使用所述二级内核将所述操作系统恢复到其进入休眠模式前的状态,实际上是使用所述二级内核中的恢复程序实现上述恢复功能的,所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,是为了保证所述二级内核中的恢复程序在顺利的被恢复后的所述操作系统中包含的所述原始内核中的恢复程序覆盖并替换掉,也即为了实现所述二级内核中的恢复程序与所述原始内核中的恢复程序安全交接,避免所述原始内核的其他代码段覆盖所述二级内核中的恢复程序而导致系统崩溃不能正常恢复。
作为本发明的一个实施例,所述操作系统恢复装置54具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
所述二级内核可以直接将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,当然该方案实现的前提是所述二级内核具有从非易失性存储器上读文件到内存的功能。
作为本发明的另一个实施例,所述操作系统恢复装置54具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
在通过启动后的所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同之前,所述操作系统恢复装置54还用于将非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区。
在本实施例中,所述二级内核是从所述内存的设备专用分区读取所述待恢复的操作系统的镜像文件的,需要说明的时,采用本方案是,所述二级内核本身也可以具有从非易失性存储器上读文件到内存的功能;当然,所述二级内核也可以不具有从非易失性存储器上读文件到内存的功能。具体的,在所述二级内核的镜像文件不具有从非易失性存储器上读文件到内存的功能时,则需要由引导加载程序先将所述操作系统的镜像文件从非易失性存储器读到所述内存的设备专用分区,然后再由所述所述二级内核将所述操作系统的镜像文件从所述内存的设备专用分区转移到所述内存的特定位置。
值得注意的是,所述内存的设备专用分区是指物理内存上分配给设备专用的不归内核管理的分区,且所述设备专用分区在物理内存上的地址是连续的,所述设备专用分区可以是PMEM分区等。
需要说明的是,所述操作系统恢复装置54还用于利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。以及所述操作系统恢复装置54还用于通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
可知,利用本发明实施例所述的终端设备恢复所述终端设备上的操作系统时,因为原始内核中的恢复程序在所述内存中的位置与所述二级内核中的恢复程序在所述内存中的位置相同,保证了使用所述二级内核能够顺利地将所述操作系统恢复到其进入休眠模式前的状态;其次,因为本发明实施例提供的技术方案是通过启动所述二级内核将所述操作系统恢复到其进入休眠模式前的状态的,所述二级内核是通过裁剪并重新编译所述原始内核获得的,所以启动所述二级内核所需的时间小于启动所述原始内核所需的时间,也即加快了所述二级内核的启动速度,也即本发明实施例提供的操作系统恢复装置在保证正常恢复操作系统的情形下,加快所述操作系统的恢复速度。
进一步的,由于所述二级内核的镜像文件小于原始内核的镜像文件,所以加载所述二级内核的镜像文件所需的时间也小于加载所述原始内核的镜像文件所需的时间,则所述操作系统的恢复速度进一步得以提升。
为了更好的实施上述方法以及装置实施例,请参阅附图6,为本发明实施例提供的一种终端设备600的结构框图,该终端设备600的逻辑结构图可以如图1所示。具体的,如图6所示,所述终端设备600包括:至少一个处理器601,至少一个网络接口604或者其他用户接口603,存储器605,至少一个通信总线602。所述通信总线602用于实现这些组件之间的连接通信。该终端设备600可选的包含用户接口603,包括显示器(例如,触摸屏、LCD、CTR、全息成像(Holographic)或者投影(Projector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。
存储器605可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器605的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施例中,存储器605存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统6051,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块6052,包含各种应用程序,例如桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。
在本发明实施例中,通过调用存储器605存储的程序或指令,处理器601用于启动二级内核,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
需要说明的是,所述二级内核的镜像文件是通过裁剪所述原始内核的镜像文件中包含的与恢复操作系统无关的代码段得到的,所述二级内核可以仅包含恢复操作系统必不可少的代码段,也可以还包括与恢复操作系统不相关的代码段,总之,只要保证所述二级内核的镜像文件相对于所述原始内核的镜像文件包含的代码段比较少,就能够实现本发明加快操作系统恢复速度的发明目的,则就在本发明的保护范围之内。值得注意的是,所述二级内核的镜像文件是通过裁剪并编译原始内核的镜像文件获得的,且所述二级内核的镜像文件是可以是系统休眠关机时产生并保存在系统非易失性存储器上的,也可以是预先保存在系统非易失性存储器上的,在需要将系统从休眠模式唤醒时,所述二级内核就会被加载运行以实现本发明的发明目的。总之,本发明实施例对与所述二级内核的镜像文件的产生方式不做限制性规定。
需要说明的是,之所以所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,其中,所述原始内核是指所述操作系统进入休眠模式前包含在所述操作系统中的内核。因为使用所述二级内核将所述操作系统恢复到其进入休眠模式前的状态,实际上是使用所述二级内核中的恢复程序实现上述恢复功能的,所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,是为了保证所述二级内核中的恢复程序在顺利的被恢复后的所述操作系统中包含的所述原始内核中的恢复程序覆盖并替换掉,也即为了实现所述二级内核中的恢复程序与所述原始内核中的恢复程序安全交接,避免所述原始内核的其他代码段覆盖所述二级内核中的恢复程序而导致系统崩溃不能正常恢复。
作为本发明的一个实施例,所述处理器601具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
所述二级内核可以直接将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,当然该方案实现的前提是所述二级内核具有从非易失性存储器上读文件到内存的功能。
作为本发明的另一个实施例,所述处理器601具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。相应的是,在所述处理器601具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置时,所述处理器601还用于将非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区。
在本实施例中,所述二级内核是从所述内存的设备专用分区读取所述待恢复的操作系统的镜像文件的,需要说明的时,采用本方案是,所述二级内核本身也可以具有从非易失性存储器上读文件到内存的功能;当然,所述二级内核也可以不具有从非易失性存储器上读文件到内存的功能。具体的,在所述二级内核的镜像文件不具有从非易失性存储器上读文件到内存的功能时,则需要由引导加载程序先将所述操作系统的镜像文件从非易失性存储器读到所述内存的设备专用分区,然后再由所述所述二级内核将所述操作系统的镜像文件从所述内存的设备专用分区转移到所述内存的特定位置。
值得注意的是,所述内存的设备专用分区是指物理内存上分配给设备专用的不归内核管理的分区,且所述设备专用分区在物理内存上的地址是连续的,所述设备专用分区可以是PMEM分区等。
进一步地,所述处理器601还用于加载所述二级内核的镜像文件,其中加载所述二级内核的镜像文件所需的时间小于加载所述原始内核的镜像文件所需的时间。
进一步地,所述处理器601还用于利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。
具体的,所述二级内核中的恢复程序利用包含在所述操作系统的镜像文件中的休眠状态信息将操作系统恢复到其进入休眠模式前的状态,所述操作系统恢复后,包含在所述操作系统中的原始内核同时得以恢复,基于所述原始内核中包含的恢复程序在所述内存中的位置与所述二级内核中包含的恢复程序在所述内存中的位置相同,所述原始内核可以覆盖并替换所述二级内核,以使所述操作系统恢复成功。
进一步地,所述处理器601还用于通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
具体的,所述操作系统恢复到其进入休眠模式前的状态时,包含在所述操作系统中的原始内核会将所述操作系统进入休眠模式时被挂起的外部设备进行resume,以将运行所述操作系统的终端设备完全恢复到其进入休眠模式前的状态。其中,所述外部设备可以是系统硬盘等。
可见,采用本发明实施例所述的终端设备恢复所述终端设备上的操作系统时,首先因为原始内核中的恢复程序在所述内存中的位置与所述二级内核中的恢复程序在所述内存中的位置相同,可以保证了使用所述二级内核能够顺利地将所述操作系统恢复到其进入休眠模式前的状态;因为本发明实施例提供的技术方案是通过启动所述二级内核将所述操作系统恢复到其进入休眠模式前的状态的,所述二级内核是通过裁剪并重新编译所述原始内核获得的,所以启动所述二级内核所需的时间小于启动所述原始内核所需的时间,也即加快了所述二级内核的启动速度,采用本发明实施例所述的终端设备可以在保证正常恢复操作系统的前提下,加快所述操作系统的恢复效率。
进一步的,由于所述二级内核的镜像文件小于原始内核的镜像文件,所以加载所述二级内核的镜像文件所需的时间也小于加载所述原始内核的镜像文件所需的时间,所以进一步减少了恢复所述操作系统所需的时间,提高了所述操作系统的恢复效率。
其中上述实施例之间可以相互参见。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
1.一种操作系统恢复方法,其特征在于,所述方法包括:
启动二级内核,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;
通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
2.根据权利要求1所述的操作系统恢复方法,其特征在于,所述通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,包括:
通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
3.根据权利要求1所述的操作系统恢复方法,其特征在于,所述通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,包括:
将非易失性存储器上的所述操作系统的镜像文件读入所述内存的设备专用分区;
通过启动后的所述二级内核将待恢复的操作系统的镜像文件从内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同。
4.根据权利要求1-3任一项所述的操作系统恢复方法,其特征在于,所述在二级内核启动完成后,通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到内存的指定位置之前,所述方法还包括:
加载所述二级内核的镜像文件。
5.根据权利要求1-4任一项所述的操作系统恢复方法,其特征在于,所述通过所述启动后的二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态之后,还包括:
利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。
6.根据权利要求5所述的操作系统恢复方法,其特征在于,还包括:
通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
7.根据权利要求1-6任一项所述的操作系统恢复方法,其特征在于:
所述操作系统的休眠状态信息包括:所述操作系统进入休眠模式前被冻结保存的所述操作系统的休眠状态信息;或者,被预先设置并保存的所述操作系统的休眠状态信息。
8.一种操作系统恢复装置,其特征在于,所述装置包括:
引导加载单元,用于启动二级内核,其中,所述二级内核是通过对原始内核的镜像文件进行裁剪后并编译得到的;
读取单元,用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息;
恢复单元,用于通过启动后的所述二级内核中的恢复程序使用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述操作系统的休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
9.根据权利要求8所述的操作系统恢复装置,其特征在于:
所述读取单元具体用于通过启动后的所述二级内核将待恢复的操作系统的镜像文件从非易失性存储器转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息。
10.根据权利要求8所述的操作系统恢复装置,其特征在于:
所述引导加载单元还用于将外存上的所述操作系统的镜像文件读入所述内存的设备专用分区;
所述读取单元具体用于通过启动后的二级内核将待恢复的操作系统的镜像文件从所述内存的设备专用分区转移到所述内存的指定位置,使得所述二级内核中的恢复程序在所述内存中的位置与原始内核中的恢复程序在所述内存中的位置相同,所述操作系统的镜像文件包含所述操作系统的休眠状态信息。
11.根据权利要求8-10任一项所述的操作系统恢复装置,其特征在于,
所述引导加载单元还用于加载所述二级内核的镜像文件。
12.根据权利要求8-11任一项所述的操作系统恢复装置,其特征在于:
所述恢复单元还用于利用恢复后的所述操作系统中包含的所述原始内核替换所述二级内核。
13.根据权利要求12所述的操作系统恢复装置,其特征在于:
所述恢复单元还用于通过恢复后的所述操作系统中包含的所述原始内核重启所述操作系统进入休眠模式时被挂起的外部设备。
14.一种终端设备,其特征在于,包括内存,以及如权利要求8至13任一项所述的操作系统恢复装置,其中所述内存中存储有所述终端设备上运行的操作系统的镜像文件,所述操作系统恢复装置用于利用所述内存的指定位置上的所述操作系统的镜像文件中包含的所述休眠状态信息将所述操作系统恢复到其进入休眠模式前的状态。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310674990.2A CN103729211B (zh) | 2013-12-10 | 2013-12-10 | 一种操作系统恢复方法、装置及终端设备 |
JP2015551982A JP5951145B2 (ja) | 2013-12-10 | 2014-06-30 | オペレーティングシステムリカバリー方法、装置、及び端末デバイス |
EP14808804.0A EP2905700B1 (en) | 2013-12-10 | 2014-06-30 | Operating system recovery method, apparatus and terminal device |
KR1020157000032A KR101673299B1 (ko) | 2013-12-10 | 2014-06-30 | 운영 시스템 복구 방법 및 장치, 그리고 단말기기 |
PCT/CN2014/081159 WO2015085755A1 (zh) | 2013-12-10 | 2014-06-30 | 一种操作系统恢复方法、装置及终端设备 |
TW103142972A TWI608345B (zh) | 2013-12-10 | 2014-12-10 | Operating system recovery method, device and terminal equipment |
US14/583,938 US9600369B2 (en) | 2013-12-10 | 2014-12-29 | Operating system recovery method and apparatus, and terminal device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310674990.2A CN103729211B (zh) | 2013-12-10 | 2013-12-10 | 一种操作系统恢复方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729211A true CN103729211A (zh) | 2014-04-16 |
CN103729211B CN103729211B (zh) | 2017-08-04 |
Family
ID=50453295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310674990.2A Active CN103729211B (zh) | 2013-12-10 | 2013-12-10 | 一种操作系统恢复方法、装置及终端设备 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2905700B1 (zh) |
JP (1) | JP5951145B2 (zh) |
KR (1) | KR101673299B1 (zh) |
CN (1) | CN103729211B (zh) |
TW (1) | TWI608345B (zh) |
WO (1) | WO2015085755A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015085755A1 (zh) * | 2013-12-10 | 2015-06-18 | 华为技术有限公司 | 一种操作系统恢复方法、装置及终端设备 |
CN105117246A (zh) * | 2015-08-04 | 2015-12-02 | 晶晨半导体(上海)有限公司 | 电子设备快速启动的方法 |
US9600369B2 (en) | 2013-12-10 | 2017-03-21 | Huawei Technologies Co., Ltd. | Operating system recovery method and apparatus, and terminal device |
CN106681771A (zh) * | 2016-12-30 | 2017-05-17 | 合网络技术(北京)有限公司 | 一种系统重装方法及装置 |
CN107357684A (zh) * | 2017-07-07 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种内核故障重启方法和装置 |
CN107835360A (zh) * | 2017-10-27 | 2018-03-23 | 深圳市共进电子股份有限公司 | 一种休眠低功耗网络相机的快速启动方法及系统 |
CN108132826A (zh) * | 2016-11-30 | 2018-06-08 | 华为技术有限公司 | 跨云服务器的镜像管理方法、装置及服务器 |
CN114595006A (zh) * | 2022-03-21 | 2022-06-07 | 恒玄科技(上海)股份有限公司 | 一种用于智能穿戴设备的快速启动方法、装置和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338664A (zh) * | 2018-12-18 | 2020-06-26 | 启碁科技股份有限公司 | 映像文件打包方法及映像文件打包系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002312174A (ja) * | 2001-04-16 | 2002-10-25 | Nippon Marketing Agency:Kk | コンピュータの運用方法、コンピュータ運用プログラム、コンピュータ運用プログラムを記録した記録媒体及びコンピュータ |
US7634689B2 (en) * | 2005-09-22 | 2009-12-15 | Advanced Micro Devices, Inc. | Boot performance optimization for hard drive for personal internet communicator |
TW200719134A (en) * | 2005-11-15 | 2007-05-16 | Mitac Int Corp | PDA power saving method |
CN100383739C (zh) * | 2006-03-15 | 2008-04-23 | 浙江大学 | 嵌入式操作系统镜像启动的启动优化方法 |
CN100377085C (zh) * | 2006-03-31 | 2008-03-26 | 浙江大学 | 嵌入式操作系统硬件镜像启动优化的实现方法 |
US7640440B2 (en) * | 2006-04-25 | 2009-12-29 | Apple Inc. | Method and apparatus for facilitating device hibernation |
JP2007334383A (ja) * | 2006-06-12 | 2007-12-27 | Sony Corp | 情報処理装置とその起動方法およびプログラム |
US8504850B2 (en) * | 2008-09-08 | 2013-08-06 | Via Technologies, Inc. | Method and controller for power management |
CN101582029B (zh) * | 2009-06-05 | 2013-07-03 | 中兴通讯股份有限公司 | 一种实现嵌入式应用的系统和方法 |
CN101794232A (zh) * | 2009-06-23 | 2010-08-04 | 深圳市朗科科技股份有限公司 | 快速启动系统的方法 |
CN101625647A (zh) * | 2009-08-06 | 2010-01-13 | 青岛海信电器股份有限公司 | 加快嵌入式软件系统启动速度的方法 |
US20110107020A1 (en) * | 2009-10-30 | 2011-05-05 | Duan Binghua | Hibernation solution for embedded devices and systems |
CN101916201B (zh) * | 2010-08-06 | 2015-05-27 | 中兴通讯股份有限公司 | 一种基于Android移动终端冷启动的方法和装置 |
US8694764B2 (en) * | 2011-02-24 | 2014-04-08 | Microsoft Corporation | Multi-phase resume from hibernate |
CN102799498A (zh) * | 2011-05-27 | 2012-11-28 | 鸿富锦精密工业(深圳)有限公司 | 计算机状态快速切换方法及系统 |
JP5783809B2 (ja) * | 2011-06-03 | 2015-09-24 | キヤノン株式会社 | 情報処理装置、起動方法およびプログラム |
CN102207881B (zh) * | 2011-07-07 | 2014-01-22 | 电子科技大学 | 一种基于Android的操作系统快速启动方法 |
CN103729211B (zh) * | 2013-12-10 | 2017-08-04 | 华为技术有限公司 | 一种操作系统恢复方法、装置及终端设备 |
-
2013
- 2013-12-10 CN CN201310674990.2A patent/CN103729211B/zh active Active
-
2014
- 2014-06-30 EP EP14808804.0A patent/EP2905700B1/en active Active
- 2014-06-30 KR KR1020157000032A patent/KR101673299B1/ko active IP Right Grant
- 2014-06-30 WO PCT/CN2014/081159 patent/WO2015085755A1/zh active Application Filing
- 2014-06-30 JP JP2015551982A patent/JP5951145B2/ja active Active
- 2014-12-10 TW TW103142972A patent/TWI608345B/zh active
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015085755A1 (zh) * | 2013-12-10 | 2015-06-18 | 华为技术有限公司 | 一种操作系统恢复方法、装置及终端设备 |
US9600369B2 (en) | 2013-12-10 | 2017-03-21 | Huawei Technologies Co., Ltd. | Operating system recovery method and apparatus, and terminal device |
CN105117246A (zh) * | 2015-08-04 | 2015-12-02 | 晶晨半导体(上海)有限公司 | 电子设备快速启动的方法 |
CN108132826A (zh) * | 2016-11-30 | 2018-06-08 | 华为技术有限公司 | 跨云服务器的镜像管理方法、装置及服务器 |
CN108132826B (zh) * | 2016-11-30 | 2020-12-22 | 华为技术有限公司 | 跨云服务器的镜像管理方法、装置及服务器 |
US11403146B2 (en) | 2016-11-30 | 2022-08-02 | Huawei Cloud Computing Technologies Co., Ltd. | Method, apparatus, and server for managing image across cloud servers |
CN106681771A (zh) * | 2016-12-30 | 2017-05-17 | 合网络技术(北京)有限公司 | 一种系统重装方法及装置 |
CN106681771B (zh) * | 2016-12-30 | 2020-12-29 | 阿里巴巴(中国)有限公司 | 一种系统重装方法及装置 |
CN107357684A (zh) * | 2017-07-07 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种内核故障重启方法和装置 |
CN107835360A (zh) * | 2017-10-27 | 2018-03-23 | 深圳市共进电子股份有限公司 | 一种休眠低功耗网络相机的快速启动方法及系统 |
CN114595006A (zh) * | 2022-03-21 | 2022-06-07 | 恒玄科技(上海)股份有限公司 | 一种用于智能穿戴设备的快速启动方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2905700A4 (en) | 2015-12-23 |
TWI608345B (zh) | 2017-12-11 |
EP2905700B1 (en) | 2021-09-15 |
TW201531844A (zh) | 2015-08-16 |
CN103729211B (zh) | 2017-08-04 |
JP2016506583A (ja) | 2016-03-03 |
KR101673299B1 (ko) | 2016-11-07 |
KR20150087177A (ko) | 2015-07-29 |
JP5951145B2 (ja) | 2016-07-13 |
EP2905700A1 (en) | 2015-08-12 |
WO2015085755A1 (zh) | 2015-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729211A (zh) | 一种操作系统恢复方法、装置及终端设备 | |
US8671241B2 (en) | Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state | |
US9600369B2 (en) | Operating system recovery method and apparatus, and terminal device | |
CN101650660B (zh) | 从中央存储装置引导计算机系统 | |
US9910664B2 (en) | System and method of online firmware update for baseboard management controller (BMC) devices | |
JP2016535329A (ja) | プリブートファームウェア更新のための選択的パワーマネジメント | |
KR102219122B1 (ko) | 다중-운영-체제 환경들에서 운영 체제 전환들을 위한 기술들 | |
US8589647B2 (en) | Apparatus and method for synchronizing a snapshot image | |
CN104778066A (zh) | 一种嵌入式操作系统的快速启动方法及其装置 | |
CN103870298A (zh) | 切换方法和电子设备 | |
KR20130068630A (ko) | 임베디드 디바이스의 초기화 방법 및 장치 | |
CN103984572A (zh) | 一种无光驱实现电脑安装和切换操作系统的方法及设备 | |
CN102760063B (zh) | 一种文件加载方法及装置 | |
CN103870295A (zh) | 切换方法和电子设备 | |
CN105159714A (zh) | 一种pmic初始化方法和电子设备 | |
KR20220036232A (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
CN113950673A (zh) | 非易失性存储分区标识符 | |
CN101739262A (zh) | 固件更新方法及应用其的电子装置 | |
KR20220005852A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
CN103092632A (zh) | 一种Vxworks操作系统的安装方法 | |
WO2016122471A1 (en) | Memory module persistent data back-ups | |
CN110704237A (zh) | 用于无代理程序的分区备份的方法、设备和数据处理系统 | |
CN113918284B (zh) | 云主机批量迁移的方法及装置、电子设备和存储介质 | |
US20080320248A1 (en) | Computer system architecture and operating method for the operating system thereof | |
CN118057337A (zh) | 垃圾回收方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |