CN102467403B - 一种基于进程迁出/迁入的软件快速切换方法及装置 - Google Patents
一种基于进程迁出/迁入的软件快速切换方法及装置 Download PDFInfo
- Publication number
- CN102467403B CN102467403B CN201110311372.2A CN201110311372A CN102467403B CN 102467403 B CN102467403 B CN 102467403B CN 201110311372 A CN201110311372 A CN 201110311372A CN 102467403 B CN102467403 B CN 102467403B
- Authority
- CN
- China
- Prior art keywords
- software
- user
- information
- identifying information
- progress
- 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
Abstract
本发明涉及计算机领域,用于解决现有技术中再次启动大型软件速度缓慢问题,本发明实施例提供了一种基于进程迁出/迁入的软件快速切换方法和装置,其中方法包括在软件运行时,根据预设的触发条件获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中;根据用户的命令或当用户再次启动该软件时,向用户显示已存储的进程的识别信息,根据用户的选择,将某一进程上下文信息加载到操作系统的内存中,并继续执行该进程。通过上述实施例,用户可以控制恢复哪个进程,可以大幅度提高进程的启动速度,并且可以恢复进程在上一次关闭时的所有数据。
Description
技术领域
本发明涉及计算机领域,特别是关于一种基于进程迁出/迁入的软件快速切换方法及装置。
背景技术
计算机例如包括台式计算机、笔记本计算机、智能型移动电话、平板计算机等,在计算机上运行程序前都需要进行开机操作,所述开机操作包括基本输入输出系统(BIOS)以及操作系统(OS)的启动,在开机完毕后才允许用户以正常的方式启动各种程序,例如文字编辑程序(如word)、图像编辑程序(如flash、Photoshop)、电子表格程序(如excel)、演示程序(如power point)、多媒体播放程序等。
但是,随着人们需求的增长,程序越来越复杂且数量也越来越多,当要启动执行某个程序时,由处理器从硬盘等非易失性存储器中获取程序文件,再在动态随机存取内存(DRAM)等快速存储器中开辟运行空间,在快速存储器中加载该程序,当关闭该程序时,系统要回收这部分被占用的随机存储器空间,而在再一次启动该程序时,还需要重复执行上述步骤过程,而由于处理器从硬盘等非易失性存储器中获取程序文件的过程通常较慢,这样就造成了程序启动时的延迟,造成效率低、用户使用体验差的问题。
虽然磁盘等外部接口也从以前的ATA33发展到今天的SATA 6Gbit/s。但是,这还是不能彻底解决磁盘瓶颈的问题,特别是在运行一些对数据存取速度要求很高的程序,如数字影像处理或玩3D游戏装入纹理数据时,受磁盘存取速度的影响,屏幕画面时常会出现延迟和停顿。
在现有技术中,例如申请号为200810108323.7的中国专利,发明名称为《用以快速开启程序的计算机执行系统以及方法》的发明专利公开了一种通过在计算机起动时预先加载程序运行文件的方式提高程序启动的速度,但是并无法提供海量新奇的程序更加高效的运行启动、关闭后再次启动。
发明内容
本发明实施例提供一种基于进程迁出/迁入的软件快速切换方法及装置,用于提高软件再次加载的效率。
本发明实施例提供了一种基于进程迁出/迁入的软件快速切换方法,包括,
在软件运行时,根据预设的触发条件获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中;根据用户的命令或当用户再次启动该软件时,向用户显示已存储的进程的识别信息,根据用户的选择,将某一进程上下文信息加载到操作系统的内存中,并继续执行该进程。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的一个进一步的方面,所述触发条件为按照一定的时间间隔定时获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的再一个进一步的方面,所述触发条件为用户指令,根据该指令获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的另一个进一步的方面,所述触发条件为用户进行软件关闭的操作或计算机系统关闭的操作,根据该操作获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的另一个进一步的方面,所述识别信息为所述进程上下文信息迁移时的用户名、文件名和时间。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的另一个进一步的方面,所述存储器包括非易失性存储器或者易失性存储器。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的另一个进一步的方面,根据预设的触发条件多次获取用户指定的某个进程的上下文信息和进程的识别信息,当所述存储器已满,将所述存储器内迁移进程的使用频率和时间进行排队,将最长时间没有使用的进程上下文信息和识别信息在所述存储器内删除。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的另一个进一步的方面,另外使用一个非易失性存储器的备份存储器对所述存储器中的进程上下文信息和识别信息进行备份。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换方法的另一个进一步的方面,在软件运行时,根据预设的触发条件获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中还包括,根据预设的触发条件在多个瞬间获取该软件进程的上下文信息和进程的识别信息,并将多个进程上下文信息和识别信息迁移到存储器中。
本发明实施例还提供了一种基于进程迁出/迁入的软件快速切换装置,包括,
触发条件单元,进程获取单元,进程管理器,存储器,提示单元,选择单元;
在软件运行时,所述触发条件单元根据预设的触发条件向所述进程获取单元发出指令;
所述进程获取单元根据所述指令获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中;
当用户再次启动该软件时或者根据用户的命令,所述提示单元向用户显示已存储的进程的识别信息;
所述选择单元根据用户的选择通知进程管理器将某一进程上下文信息加载到操作系统的内存中,并继续执行该进程。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换装置的一个进一步的方面,还包括定时器,用于定时信息发送给所述触发条件单元,所述触发条件单元向所述进程获取单元发出获取该进程上下文和识别信息并迁移到存储器中的指令。
或者,还包括指令接收单元,用于接收用户发出的迁移进程上下文信息和识别信息的指令,并将该指令发送给所述触发条件单元,所述触发条件单元向所述进程获取单元发出获取该进程上下文和识别信息并迁移到存储器中的指令。
或者,还包括操作监测单元,监测用户进行软件关闭的操作或计算机系统关闭的操作,将监测结果发送给所述触发条件单元,所述触发条件单元向所述进程获取单元发出获取该进程上下文和识别信息并迁移到存储器中的指令。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换装置的另一个进一步的方面,所述存储器包括非易失性存储器或者易失性存储器。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换装置的另一个进一步的方面,还包括监控单元,用于当所述存储器已满,将所述存储器内存储进程的使用频率和时间进行排队,将最长时间没有使用的进程上下文信息和识别信息从所述存储器中删除。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换装置的另一个进一步的方面,还包括备份单元和备份存储器,所述备份单元将所述存储器中的进程上下文信息和识别信息备份到非易失性存储器的备份存储器。
根据本发明实施例所述的一种基于进程迁出/迁入的软件快速切换装置的另一个进一步的方面,所述进程获取单元还用于在多个瞬间获取该软件进程的上下文信息和进程的识别信息,并将多个进程上下文信息和识别信息迁移到存储器中。
通过本发明实施例,在本地计算机中通过将进程迁移到存储空间中,通过用户的控制恢复进程,即重新启动该进程,可以大幅度提高进程的启动速度,并且可以恢复进程在上一次关闭时的所有数据;并且通过独立于操作系统的存储空间,可以减轻操作系统管理庞大地址空间的工作负荷,并且操作系统不会影响存储空间内的进程迁移数据;还可以通过进程选择迁入用户需要的进程;而且由于使用的是外部非易失性存储器作为迁出进程的存储载体,因此即使计算机重新启动,非易失性存储器中的进程上下文信息、识别信息和特征信息等数据也不会丢失。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种软件快速切换的方法流程图;
图2为本发明实施例嵌入式浏览器Konqueror进程迁出的流程图;
图3为本发明实施例嵌入式浏览器Konqueror进程迁入的流程图;
图4为本发明实施例一种实现软件快速切换装置的结构图;
图5a为现有技术中实现故障恢复的系统结构图;
图5b为现有技术中实现负载平衡的系统结构图;
图6为本发明实施例实现软件快速切换装置的结构图;
图7所示为本发明实施例软件快速切换的数据备份方法流程图;
图8所示为本发明实施例启动某个进程时将备份恢复的流程图;
图9所示为本发明实施例数据恢复时进行进程选择恢复的流程图;
图10所示为本发明实施例进程迁出和迁入的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明实施例一种基于进程迁出/迁入的软件快速切换方法流程图。
包括,步骤101,在软件运行时,根据预设的触发条件获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中。作为可选的实施例,还可以根据预设的触发条件在多个瞬间获取该进程的上下文信息和进程的识别信息,将所述多个进程上下文信息和识别信息迁移到存储器中。
步骤102,根据用户的命令或当用户再次启动该软件时,向用户显示已存储的进程的识别信息。此时向用户显示的进程识别信息可以包括显示某个进程的多个瞬间迁移的识别信息,例如按照时间顺序显示出多个进程的存储时间。
步骤103,根据用户的选择通知进程管理器将所述存储器中的该进程上下文信息加载到操作系统的内存中,并执行该进程。如果用户选择某一个进程在多个瞬间迁移的进程识别信息,则将该进程识别信息对应的进程上下文加载到操作系统的内存中。
其中,所述触发条件包括,按照一定的时间间隔定时获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中;
或者,根据用户的指令,根据该指令获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中;
或者,根据用户进行软件关闭的操作或计算机系统关闭的操作,根据该操作获取该软件进程的上下文信息和进程的识别信息并迁移到存储器中。
所述存储器可以包括非易失性存储器或者易失性存储器,所述非易失性存储器可以包括硬盘、Flash存储器、U盘、网络硬盘灯,所述易失性存储器包括计算机或者智能终端的内存等。
所述多次获取进程的上下文信息和进程的识别信息是指,当满足触发条件时,即,例如用户点击某个按键或者定时器到时,就将用户指定的进程上下文信息和进程的识别信息迁移到存储器中,迁移所述进程上下文信息和进程的识别信息时,由于相同程序的进程可能有很多个,例如每半个小时存储一次游戏进程,如果该游戏进程运行了2个小时,则在存储器中迁移了4个该游戏的进程,这里的识别信息可能包括迁移进程的时间。
上述实施例中,可以在存储器中迁移某个进程的多个实例,用户指定的每个进程实例均会被迁移到存储器中,存储器中保存了迁移进程的很多实例后,当再次启动该进程时,用户可以根据进程的识别信息区分想要迁入的进程实例,其中所述进程识别信息包括存储时的用户名、文件名和时间等内容。
例如当用户1登录操作系统,将word进程的上下文迁移到内存中,该进程识别信息包括当前用户(用户1),执行时间(2011年8月1日),文件路径为C:\Program Files\MicrosoftOffice\OFFICE11;当用户2登录到操作系统中,也将word进程的上下文迁移到内存中,该进程识别信息包括当前用户(用户2),执行时间(2011年8月1日),文件路径为C:\ProgramFiles\Microsoft Office\OFFICE11;在内存中存储有两个word进程的上下文,当用户1想要启动word进程时,可以在屏幕上显示内存中的两个word进程识别信息,用户可以选择迁入用户1的word进程,或者迁入用户2的word进程,亦或者正常启动一个word进程。
当用户选择迁移word进程,或者由设定的定时器发出迁移指令迁移word进程的上下文到内存中后,在内存中保存该进程的识别信息,包括执行时间(2011年8月1日);该用户又一次迁移了word进程的上下文到内存中,其保存的进程识别信息为,执行时间(2011年8月2日);在内存中有两个word进程的上下文,当用户想要启动word进程时,可以在屏幕上显示存储器中的两个word进程的识别信息,即两个被存储进程的执行时间,用户可以选择迁入2011年8月1日的word进程,或者迁入2011年8月2日的word进程,亦或者正常启动一个word进程。
在所述将进程的上下文信息迁移到存储器中,当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容被称为该进程的上下文,进程的上下文信息就是进程执行时的环境,各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。一个进程的上下文可以分为三个部分:用户级上下文、寄存器上下文以及系统级上下文,其中用户级上下文包括:正文、数据、用户堆栈以及共享存储区;寄存器上下文包括:通用寄存器、程序寄存器(IP)、处理器状态寄存器(EFLAGS)、栈指针(ESP);系统级上下文包括:进程控制块task_struct、内存管理信息(mm_struct、vm_area_struct、pgd、pte)、内核栈。
在所述步骤101之中,当所述存储器已满,将所述存储器内被迁移出进程的使用频率和时间进行排队,将最长时间没有使用的进程上下文信息和识别信息在所述存储器内删除。
所述步骤102中,可以通过在预定时间内持续点击某个图标或者鼠标右键点击,然后弹出菜单,在该菜单中显示该图标对应的所有进程识别信息,或者还可以通过例如在显示图标属性时,显示该程序对应的所有进程的识别信息。
在步骤103中,当用户选择了某个进程的识别信息,则通知进程管理器将存储器中相应进程识别信息的进程上下文信息加载到操作系统的内存中,并执行该进程。
在所述步骤101之后还包括,将该内存空间中的进程上下文信息和识别信息备份到备份存储器中,该备份存储器为不同于上述存储器的非易失性存储器;
在所述步骤102中,当用户启动进程时,判断在所述存储器和备份存储器中是否有将要启动的进程,如果有所述进程,则进程管理器将所述进程的上下文信息加载到操作系统的内存中,并执行该进程。
在上述步骤102中,将该内存空间中的进程上下文信息和识别信息备份到备份存储器中之中还包括,根据定时器定时将内存空间中的进程上下文信息和识别信息备份到非易失性存储器的备份存储器中。
通过上述实施例,在本地计算机或者智能终端中通过多个时刻将同一进程上下文迁移到存储器中,通过用户的控制恢复进程,即重新启动该进程,可以大幅度提高进程的启动速度,并且可以恢复进程在上一次关闭时的所有数据;通过进程的识别信息,可以由用户选择迁入哪个进程以及进程哪个瞬间上下文,或者删除哪个进程,方便用户管理存储空间中的进程。
如图2所示为本发明实施例嵌入式浏览器Konqueror进程迁出的流程图。
包括步骤201,用户关闭嵌入式浏览器Konqueror进程时,操作系统发出关闭进程指令。或者用户可以通过选项发出迁出某个进程的指令。
步骤202,获取该被关闭进程的上下文信息和进程的识别信息,在本例中可以提取进程执行时间2011年8月1日22:00作为该进程的识别信息。
具体的,触发条件单元获取用户关闭进程的指令,进程获取单元根据该指令获取进程的上下文信息和进程的识别信息,通知进程管理器是嵌入式浏览器Konqueror进程关闭。
步骤203,通过内存的接口保存进程上下文信息、识别信息和各寄存器状态到内存,在本例中可以记录进程执行时间2011年8月1日22:00。
步骤204,操作系统关闭进程。
可以于多个瞬间将本例中的Konqueror进程迁移至内存中,按照时间序列保存在文件或者数据库中。
在上述步骤201和202中,也可以通过定时器等方式在预定的时间由进程获取单元获得当前用户正在操作的进程上下文信息,定时的保存进程上下文信息、识别信息,这样做可以随时保持进程的工作状态,重新迁入该进程时可以由用户选择迁入的工作状态,并且,本发明实施例保存进程本身的工作状态,包括其使用的数据的状态,在进程迁入时恢复成迁出时的状态,而不是现有技术中一些文字处理软件保存数据文件的变化日志,根据数据文件不同版本信息恢复以前版本。
如图3所示为本发明实施例嵌入式浏览器Konqueror进程迁入的流程图。
在内存中保存有两个识别信息为Konqueror的进程上下文,一个进程的执行时间是2011年8月1日22:00,另一个进程执行时间为2011年8月1日20:00。
包括步骤301,用户启动嵌入式浏览器Konqueror进程,操作系统准备运行进程。
步骤302,进程管理器在内存中搜索是否有相应的Konqueror进程存在,如果有则进入步骤303,否则进入步骤304。
步骤303,进程管理器在内存中匹配出两个识别信息为Konqueror的进程,提示单元将该进程的两次执行时间提取出来显示在屏幕上,在屏幕的选择界面上还可以包括一个重新启动一个Konqueror的进程的选项,供用户选择。
步骤304,按照现有技术中那样正常启动嵌入式浏览器Konqueror进程,其中向操作系统内存中加载数据等步骤均为现有技术,在此不再赘述。
步骤305,用户根据屏幕提示的进程执行时间,选择了2011年8月1日20:00的进程。
步骤306,进程管理器通过接口从内存中加载执行时间为2011年8月1日20:00的嵌入式浏览器Konqueror进程的上下文到操作系统的内存中。
步骤307,进程管理器恢复该进程各寄存器状态。
步骤308,操作系统执行该进程。
以上步骤306和307即为进程重构过程。
如图4所示为本发明实施例一种基于进程迁出/迁入的软件快速切换装置的结构图。
包括触发条件单元401,进程获取单元402,进程管理器403,存储器404,提示单元405,选择单元406。
在软件运行时,所述触发条件单元401,用于根据预设的触发条件向所述进程获取单元发出指令。
所述进程获取单元402,用于根据所述指令获取该软件进程的上下文信息和进程的识别信息并迁移到存储器404中;其中,所述存储器404可以包括非易失性存储器或者易失性存储器,所述进程获取单元402可以在多个瞬间获取该软件进程的上下文信息和进程的识别信息,并将多个进程上下文信息和识别信息迁移到存储器中。
当用户再次启动该软件时或者根据用户的命令,所述提示单元405向用户显示已存储的进程的识别信息;
所述选择单元406根据用户的选择通知进程管理器402将所述存储器中的该进程上下文信息加载到操作系统的内存中,并继续执行该进程。
所述装置还可以包括定时器407,将定时信息发送给所述触发条件单元401,所述触发条件单元401根据所述定时信息向所述进程获取单元发出进程迁移的指令;或者所述定时器407还可以将定时信息发送给备份单元,所述备份单元将存储器404中的进程上下文信息和识别信息备份到所述备份存储器。
所述装置还可以包括指令接收单元412,用于接收用户发出的迁移进程上下文信息和识别信息的指令,并将该指令发送给所述触发条件单元401,所述触发条件单元401向所述进程获取单元402发出获取该进程上下文和识别信息并迁移到存储器404中的指令。
所述装置还可以包括操作监测单元408,监测用户进行软件关闭的操作或计算机系统关闭的操作,将所述用户操作发送给所述触发条件单元401,所述触发条件单元401向所述进程获取单元发出进程迁移的指令。
所述装置还可以包括监控单元409,用于当所述存储空间已满,将所述存储器内被迁移出进程的使用频率和时间进行排队,将最长时间没有使用的进程上下文信息和识别信息从所述存储器中删除。包括但不限于所述策略,替换的策略允许用户自己定义。
所述装置还可以包括备份单元410和备份存储器411,所述备份单元410将存储器404中的进程上下文信息和识别信息备份到非易失性存储器的备份存储器411。
通过上述实施例,通过进程获取单元可以获取用户指定的进程,即不是所有的进程都被迁移,而只有用户指定的进程被迁移,以提高进程的切换速度;并且可以多次迁出同一进程,并保存多个进程;所述进程管理器是通过用户的指令进行进程迁移的操作,并不像现有技术中那样,由于故障或者负载平衡而进行的迁移,可控性强,并且在重新启动该进程时,从存储器中将进程加载到操作系统内存中,可以明显提高进程启动速度,特别是对大型软件或者游戏来说,每一次启动都需要很差时间加载,而通过在现有的计算机系统中加入本发明实施例的装置,可以提高再次启动大型软件或者游戏时的速度,缩短用户等待时间,提升用户体验;通过进程选择单元可以由用户选择迁回哪个进程,或者通过进程删除单元选择删除哪个进程,方便用户管理存储空间中的进程。
在现有技术中进程迁移主要由两个方面,其中之一就是故障恢复中的进程迁移,其利用了如图5a所示的系统结构图实现了故障恢复中的进程迁移,另一种就是负载平衡中进程迁移,其利用了如图5b所示的系统结构图实现了负载平衡中的进程迁移。
在图5a中,进程管理器定期保存本地CPU或者计算节点进程重构必须的上下文信息,任务管理器发现CPU或者计算节点故障后,任务管理器选择其它CPU或者计算节点,并激活进程迁移信息提取模块,进程迁移信息提取模块提取重构进程必须的上下文信息,所述进程迁移传输模块将所述重构信息传送给目标CPU或者计算节点,由进程管理器进行进程的重构。
在图5b中,负载监视器定期检查本节点的负载,并与负载收集器中的节点信息比较,决定是否迁移,当负载达到门限值时,负载监视器激活进程迁移选择模块进行进程的选择,激活进程迁移信息提取模块提取迁移进程必须的上下文信息,进程迁移传输模块将进程的重构信息传送给目标CPU或者计算节点,由进程管理器进行进程的重构。
本发明实施例的实现软件快速切换装置不同于上述现有技术中的结构,如图6所示,在本发明实施例中,进程获取单元601根据触发条件单元602的指令获取用户指定的进程上下文信息和识别信息,进程管理器603根据用户指定的识别信息从进程获取单元601获取重构进程所需的进程上下文信息,将所述进程上下文信息和识别信息存储到硬盘604的存储空间中,随后关闭该进程;当用户重新启动该进程时,进程管理器603在硬盘604的存储空间中查询是否存储有相应识别信息的进程,如果有则启动提示单元605将存储空间中与重新启动的进程相应的进程显示到屏幕上以供用户选择,当用户通过选择单元606选择了某个进程时,进程管理器603重构该进程,在操作系统的内存607中加载该进程,如果在存储空间中没有存储相应识别信息的进程则进程管理器603正常启动该进程。
如图7所示为本发明实施例软件快速切换的数据备份方法流程图。
步骤701,当定时器到时通知进程获取单元进行进程迁出,进程获取单元获取用户指定进程的上下文信息和识别信息,所述识别信息可以为进行迁出操作的时间。
步骤702,进程获取单元将所述进程的上下文信息、识别信息存储于内存中。
步骤703,所述备份单元将所述内存中的进程上下文信息、识别信息备份到备份存储器中。
作为本实施例的一个进一步的方面,当计算机或者终端在重新启动后,即内存中的进程数据丢失后,备份单元根据定时器定时发送来的指令,将备份存储器中的进程上下文信息、识别信息恢复到内存中。
如图8所示为本发明实施例启动某个进程时将备份恢复的流程图。
步骤801,用户选择启动某个进程。
步骤802,进程管理器在内存中搜索是否有该进程。
步骤803,如果在内存中没有该进程,则进程管理器在备份存储器中搜索该进程。
步骤804,如果在备份存储器中也没有该进程,则进程管理器正常启动该进程。
步骤805,如果在备份存储器中有该进程,则备份单元将该进程上下文信息、识别信息恢复到内存中。作为可选的,备份单元可以通知进程管理器将所述进程的上下文信息加载到操作系统的内存中,并恢复该进程各寄存器状态。
步骤806,进程管理器将所述进程的上下文信息加载到操作系统的内存中,并恢复该进程各寄存器状态。
如图9所示为本发明实施例数据恢复时进行进程选择恢复的流程图。
步骤901,用户启动某个进程,例如启动word的进程。
步骤902,进程管理器检索内存中是否具有该进程。
步骤903,如果内存中具有多个相关进程,则提示单元将与该进程相关的多个进程特征信息显示在屏幕上,例如在内存中具有2个word进程,一个识别信息为2011年10月7日20:00的word进程,另一个识别信息为2011年10月7日20:01的word进程,显示单元将上述时间信息显示在屏幕上,以供用户选择。
步骤904,用户通过选择单元选择了某个进程,例如选择了2011年10月7日20:00的进程。
步骤905,进程管理器将内存中2011年10月7日20:00的word进程上下文信息加载到操作系统的内存中,并恢复该进程各寄存器状态。
如图10所示为本发明实施例进程迁出和迁入的示意图。
在本例中以计算10的阶乘为例进行说明,根据公式N!=N*(N-1)!可知10!=1*2*3*4*5*6*7*8*9*10。
假设每一秒钟完成一次计算,定时器设定的触发条件为每两秒钟进程迁出一次,即图中实线表示进程迁出,虚线表示计算。
第1秒计算2!即2*1=2;
第2秒计算3!及3*2!=6;两秒钟迁出一次进程,记录时间戳为第2秒,将当前内存中的进程上下文(此处为计算结果6)与识别信息(时间戳)一起迁移到内存中;
第3秒计算4!即4*3!=24;
第4秒计算5!即5*4!=120;两秒钟迁出一次进程,记录时间戳为第4秒,将当前内存中的进程上下文(此处为计算结果120)与识别信息(时间戳)一起迁移到内存中,该迁移出的数据可以以时间戳顺序存储,在内存中保存有两个该进程的迁出数据,分别为第2秒迁移出的进程上下文和第4秒迁移出的进程上下文;
第5秒和第6秒类似上述过程,在此不再赘述。
第7秒用户指定迁出改进程,触发条件单元根据用户点击某个按键的操作将进行进程迁出的指令发送给进程获取单元,记录当前时间戳为第7秒,将进程上下文(此处是8!=40320)与识别信息(时间戳)一起迁移到内存中。
当用户需要迁入进程时,用户选择启动10!这个进程,显示单元提示从第7秒开始或者从第2、第4、第6秒或者重新开始。如果用户选择从第4秒开始,则将内存中的识别信息为第4秒的进程上下文进行迁入,在系统的内存中加载该进程上下文,恢复运行第4秒的进程;然后从该第4秒之后继续运行该进程,指针移动到第5秒开始计算6!,计算第6秒7!…直到计算完成10!。
通过本发明实施例,进程的指定和迁移均是在用户的控制下进行的,可以实现对特定的进程快速切换的目的,而且进程迁入也是将进程页面中的应用代码和数据同时迁入到操作系统的内存中,CPU的状态被保持,应用页在中断点开始运行,可以应用于单核CPU的计算机系统,也可以应用于多核CPU的计算机系统;并且可以明显提高再次启动大型软件或者游戏再次启动时的速度,缩短用户等待时间,提升用户体验;能够根据用户选择迁入进程,使得进程管理更加的灵活;而且由于使用的是外部非易失性存储器作为迁出进程的存储载体,因此即使计算机重新启动,非易失性存储器中的进程上下文信息、识别信息和特征信息等数据也不会丢失,并且外部非易失性存储器的存储空间很大,可以存储用户的很多进程数据,如果通过高速网络可以将迁出的进程数据存储于位于网络的存储器中,这样的进程数据的安全系数更高。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于进程迁出/迁入的软件快速切换方法,其特征在于包括,
在软件运行时,根据预设的触发条件在多个瞬间获取该软件的进程的上下文信息和进程的识别信息并将多个进程上下文信息和识别信息迁移到存储器中;
根据用户的命令或当用户再次启动该软件时,向用户显示已存储的与该进程相关的多个进程的识别信息,根据用户的选择,将某一进程上下文信息加载到操作系统的内存中,并继续执行该进程。
2.根据权利要求1所述的一种基于进程迁出/迁入的软件快速切换方法,其特征在于,所述触发条件为按照一定的时间间隔定时获取该软件的进程的上下文信息和进程的识别信息并迁移到存储器中。
3.根据权利要求1所述的一种基于进程迁出/迁入的软件快速切换方法,其特征在于,所述触发条件为用户指令,根据该用户指令获取该软件的进程的上下文信息和进程的识别信息并迁移到存储器中。
4.根据权利要求1所述的一种基于进程迁出/迁入的软件快速切换方法,其特征在于,所述触发条件为用户进行软件关闭的操作或计算机系统关闭的操作,根据该操作获取该软件的进程的上下文信息和进程的识别信息并迁移到存储器中。
5.根据权利要求1-4任意一项所述的一种基于进程迁出/迁入的软件快速切换方法,其特征在于,所述识别信息为所述进程上下文信息迁移时的用户名、文件名和时间。
6.根据权利要求1-4任意一项所述的一种基于进程迁出/迁入的软件快速切换方法,其特征在于,所述存储器包括非易失性存储器或者易失性存储器。
7.根据权利要求1-4任意一项所述的一种基于进程迁出/迁入的软件快速切换方法,其特征在于,当所述存储器已满,将所述存储器内迁移的进程的使用频率和时间进行排队,将最长时间没有使用的进程上下文信息和识别信息在所述存储器内删除。
8.根据权利要求1-4任意一项所述的一种基于进程迁出/迁入的软件快速切换方法,其特征在于,另外使用一个非易失性存储器的备份存储器对所述存储器中的进程上下文信息和识别信息进行备份。
9.一种基于进程迁出/迁入的软件快速切换装置,其特征在于包括,
在软件运行时,用于根据预设的触发条件在多个瞬间获取该软件的进程的上下文信息和进程的识别信息并将多个进程上下文信息和识别信息迁移到存储器中的单元;
根据用户的命令或当用户再次启动该软件时,向用户显示已存储的与该进程相关的多个进程的识别信息,根据用户的选择,将某一进程上下文信息加载到操作系统的内存中,并继续执行该进程的单元。
10.根据权利要求9所述的一种基于进程迁出/迁入的软件快速切换装置,其特征在于还包括监控单元,用于当所述存储器已满,将所述存储器内存储进程的使用频率和时间进行排队,将最长时间没有使用的进程上下文信息和识别信息从所述存储器中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110311372.2A CN102467403B (zh) | 2011-10-14 | 2011-10-14 | 一种基于进程迁出/迁入的软件快速切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110311372.2A CN102467403B (zh) | 2011-10-14 | 2011-10-14 | 一种基于进程迁出/迁入的软件快速切换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102467403A CN102467403A (zh) | 2012-05-23 |
CN102467403B true CN102467403B (zh) | 2015-06-10 |
Family
ID=46071071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110311372.2A Active CN102467403B (zh) | 2011-10-14 | 2011-10-14 | 一种基于进程迁出/迁入的软件快速切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102467403B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102535B (zh) * | 2013-04-01 | 2018-10-02 | 华为技术有限公司 | 进程迁移方法和可迁移操作系统 |
CN106855808A (zh) * | 2016-12-30 | 2017-06-16 | 硕诺科技(深圳)有限公司 | 一种加快应用启动响应的系统和方法 |
CN106982264B (zh) * | 2017-05-16 | 2019-06-11 | 华中科技大学 | 基于移动云环境下代码迁移的终端节能方法及系统 |
CN109992402B (zh) * | 2017-12-29 | 2021-07-09 | Oppo广东移动通信有限公司 | 内存处理方法和装置、电子设备、计算机可读存储介质 |
CN110071880B (zh) * | 2018-01-24 | 2021-06-18 | 北京金山云网络技术有限公司 | 报文转发方法、转发装置、服务器及存储介质 |
CN110716758A (zh) * | 2018-06-26 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 程序运行方法、装置、设备以及存储介质 |
CN113064640B (zh) * | 2021-03-12 | 2023-03-21 | 山东英信计算机技术有限公司 | 一种bios选项校验方法、系统及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023863A (zh) * | 2010-12-13 | 2011-04-20 | 中兴通讯股份有限公司 | 版本切换方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100375034C (zh) * | 2005-01-05 | 2008-03-12 | 联想(新加坡)私人有限公司 | 在计算机系统中用于对进程进行休眠的方法和系统 |
US7523344B2 (en) * | 2006-05-08 | 2009-04-21 | Sun Microsystems, Inc. | Method and apparatus for facilitating process migration |
-
2011
- 2011-10-14 CN CN201110311372.2A patent/CN102467403B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023863A (zh) * | 2010-12-13 | 2011-04-20 | 中兴通讯股份有限公司 | 版本切换方法及装置 |
Non-Patent Citations (2)
Title |
---|
吴小平等.进程迁移.《操作系统》.机械工业出版社,2011,(第一版), * |
通用版本控制系统的研究和设计;阳万安等;《计算机工程》;20080630;第34卷(第12期);正文第1-3部分、第3.2部分 * |
Also Published As
Publication number | Publication date |
---|---|
CN102467403A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102467403B (zh) | 一种基于进程迁出/迁入的软件快速切换方法及装置 | |
US8694764B2 (en) | Multi-phase resume from hibernate | |
WO2018059027A1 (zh) | 一种内存回收方法及终端 | |
CN102467404A (zh) | 一种基于物理内存实现软件快速切换的方法及装置 | |
US8261269B2 (en) | System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment | |
US11093109B2 (en) | Technologies for computing context replay with visual searching | |
US8966237B2 (en) | Operating system switching method in information processing system including a switcher checking wakeup status in the processor | |
CN108763572B (zh) | 一种实现Apache Solr读写分离的方法和装置 | |
US20130031490A1 (en) | On-demand tab rehydration | |
CN104166600A (zh) | 数据备份与恢复方法及装置 | |
US11126454B2 (en) | Enforcing retention policies with respect to virtual machine snapshots | |
CN104850296B (zh) | 显示页面内容的方法及装置 | |
KR20130127465A (ko) | 고속 컴퓨터 시동 | |
CN102880477A (zh) | 一种实现计算机启动的方法和计算机 | |
US20160055027A1 (en) | Virtual machine image disk usage | |
US8468388B2 (en) | Restoring programs after operating system failure | |
US20090217022A1 (en) | Method and apparatus for loading classes and re-organizing class archives | |
CN109582382B (zh) | 配置信息的加载方法、装置、存储介质及终端设备 | |
CN102214105A (zh) | 平行化快速启动方法及具有多处理单元的电子装置 | |
US11809275B2 (en) | FaaS in-memory checkpoint restore | |
Jo et al. | Improving the startup time of digital TV | |
Juric et al. | Checkpoint, Restore, and Live Migration for Science Platforms | |
CN112805978A (zh) | 针对事件流处理的增强型锚协议 | |
CN113962316A (zh) | 模型训练方法、装置及电子设备 | |
Joo et al. | Improving application launch performance on solid state drives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |