專利名稱:一種基于進(jìn)程遷出/遷入的軟件快速切換方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)領(lǐng)域,特別是關(guān)于一種基于進(jìn)程遷出/遷入的軟件快速切換方法及裝置。
背景技術(shù):
計算機(jī)例如包括臺式計算機(jī)、筆記本計算機(jī)、智能型移動電話、平板計算機(jī)等,在計算機(jī)上運(yùn)行程序前都需要進(jìn)行開機(jī)操作,所述開機(jī)操作包括基本輸入輸出系統(tǒng)(BIOS) 以及操作系統(tǒng)(OS)的啟動,在開機(jī)完畢后才允許用戶以正常的方式啟動各種程序,例如文字編輯程序(如word)、圖像編輯程序(如f lasKWiotoshop)、電子表格程序(如excel)、 演示程序(如power point)、多媒體播放程序等。但是,隨著人們需求的增長,程序越來越復(fù)雜且數(shù)量也越來越多,當(dāng)要啟動執(zhí)行某個程序時,由處理器從硬盤等非易失性存儲器中獲取程序文件,再在動態(tài)隨機(jī)存取內(nèi)存 (DRAM)等快速存儲器中開辟運(yùn)行空間,在快速存儲器中加載該程序,當(dāng)關(guān)閉該程序時,系統(tǒng)要回收這部分被占用的隨機(jī)存儲器空間,而在再一次啟動該程序時,還需要重復(fù)執(zhí)行上述步驟過程,而由于處理器從硬盤等非易失性存儲器中獲取程序文件的過程通常較慢,這樣就造成了程序啟動時的延遲,造成效率低、用戶使用體驗(yàn)差的問題。雖然磁盤等外部接口也從以前的ATA33發(fā)展到今天的SATA 6Gbit/s。但是,這還是不能徹底解決磁盤瓶頸的問題,特別是在運(yùn)行一些對數(shù)據(jù)存取速度要求很高的程序,如數(shù)字影像處理或玩3D游戲裝入紋理數(shù)據(jù)時,受磁盤存取速度的影響,屏幕畫面時常會出現(xiàn)延遲和停頓。在現(xiàn)有技術(shù)中,例如申請?zhí)枮?00810108323.7的中國專利,發(fā)明名稱為《用以快速開啟程序的計算機(jī)執(zhí)行系統(tǒng)以及方法》的發(fā)明專利公開了一種通過在計算機(jī)起動時預(yù)先加載程序運(yùn)行文件的方式提高程序啟動的速度,但是并無法提供海量新奇的程序更加高效的運(yùn)行啟動、關(guān)閉后再次啟動。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于進(jìn)程遷出/遷入的軟件快速切換方法及裝置,用于提高軟件再次加載的效率。本發(fā)明實(shí)施例提供了一種基于進(jìn)程遷出/遷入的軟件快速切換方法,包括,在軟件運(yùn)行時,根據(jù)預(yù)設(shè)的觸發(fā)條件獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中;根據(jù)用戶的命令或當(dāng)用戶再次啟動該軟件時,向用戶顯示已存儲的進(jìn)程的識別信息,根據(jù)用戶的選擇,將某一進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并繼續(xù)執(zhí)行該進(jìn)程。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的一個進(jìn)一步的方面,所述觸發(fā)條件為按照一定的時間間隔定時獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。
根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的再一個進(jìn)一步的方面,所述觸發(fā)條件為用戶指令,根據(jù)該指令獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的另一個進(jìn)一步的方面,所述觸發(fā)條件為用戶進(jìn)行軟件關(guān)閉的操作或計算機(jī)系統(tǒng)關(guān)閉的操作,根據(jù)該操作獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的另一個進(jìn)一步的方面,所述識別信息為所述進(jìn)程上下文信息遷移時的用戶名、文件名和時間。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的另一個進(jìn)一步的方面,所述存儲器包括非易失性存儲器或者易失性存儲器。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的另一個進(jìn)一步的方面,根據(jù)預(yù)設(shè)的觸發(fā)條件多次獲取用戶指定的某個進(jìn)程的上下文信息和進(jìn)程的識別信息,當(dāng)所述存儲器已滿,將所述存儲器內(nèi)遷移進(jìn)程的使用頻率和時間進(jìn)行排隊,將最長時間沒有使用的進(jìn)程上下文信息和識別信息在所述存儲器內(nèi)刪除。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的另一個進(jìn)一步的方面,另外使用一個非易失性存儲器的備份存儲器對所述存儲器中的進(jìn)程上下文信息和識別信息進(jìn)行備份。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法的另一個進(jìn)一步的方面,在軟件運(yùn)行時,根據(jù)預(yù)設(shè)的觸發(fā)條件獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中還包括,根據(jù)預(yù)設(shè)的觸發(fā)條件在多個瞬間獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息,并將多個進(jìn)程上下文信息和識別信息遷移到存儲器中。本發(fā)明實(shí)施例還提供了一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,包括,觸發(fā)條件單元,進(jìn)程獲取單元,進(jìn)程管理器,存儲器,提示單元,選擇單元;在軟件運(yùn)行時,所述觸發(fā)條件單元根據(jù)預(yù)設(shè)的觸發(fā)條件向所述進(jìn)程獲取單元發(fā)出指令;所述進(jìn)程獲取單元根據(jù)所述指令獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中;當(dāng)用戶再次啟動該軟件時或者根據(jù)用戶的命令,所述提示單元向用戶顯示已存儲的進(jìn)程的識別信息;所述選擇單元根據(jù)用戶的選擇通知進(jìn)程管理器將某一進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并繼續(xù)執(zhí)行該進(jìn)程。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置的一個進(jìn)一步的方面,還包括定時器,用于定時信息發(fā)送給所述觸發(fā)條件單元,所述觸發(fā)條件單元向所述進(jìn)程獲取單元發(fā)出獲取該進(jìn)程上下文和識別信息并遷移到存儲器中的指令。或者,還包括指令接收單元,用于接收用戶發(fā)出的遷移進(jìn)程上下文信息和識別信息的指令,并將該指令發(fā)送給所述觸發(fā)條件單元,所述觸發(fā)條件單元向所述進(jìn)程獲取單元發(fā)出獲取該進(jìn)程上下文和識別信息并遷移到存儲器中的指令。或者,還包括操作監(jiān)測單元,監(jiān)測用戶進(jìn)行軟件關(guān)閉的操作或計算機(jī)系統(tǒng)關(guān)閉的操作,將監(jiān)測結(jié)果發(fā)送給所述觸發(fā)條件單元,所述觸發(fā)條件單元向所述進(jìn)程獲取單元發(fā)出獲取該進(jìn)程上下文和識別信息并遷移到存儲器中的指令。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置的另一個進(jìn)一步的方面,所述存儲器包括非易失性存儲器或者易失性存儲器。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置的另一個進(jìn)一步的方面,還包括監(jiān)控單元,用于當(dāng)所述存儲器已滿,將所述存儲器內(nèi)存儲進(jìn)程的使用頻率和時間進(jìn)行排隊,將最長時間沒有使用的進(jìn)程上下文信息和識別信息從所述存儲器中刪除。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置的另一個進(jìn)一步的方面,還包括備份單元和備份存儲器,所述備份單元將所述存儲器中的進(jìn)程上下文信息和識別信息備份到非易失性存儲器的備份存儲器。根據(jù)本發(fā)明實(shí)施例所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置的另一個進(jìn)一步的方面,所述進(jìn)程獲取單元還用于在多個瞬間獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息,并將多個進(jìn)程上下文信息和識別信息遷移到存儲器中。通過本發(fā)明實(shí)施例,在本地計算機(jī)中通過將進(jìn)程遷移到存儲空間中,通過用戶的控制恢復(fù)進(jìn)程,即重新啟動該進(jìn)程,可以大幅度提高進(jìn)程的啟動速度,并且可以恢復(fù)進(jìn)程在上一次關(guān)閉時的所有數(shù)據(jù);并且通過獨(dú)立于操作系統(tǒng)的存儲空間,可以減輕操作系統(tǒng)管理龐大地址空間的工作負(fù)荷,并且操作系統(tǒng)不會影響存儲空間內(nèi)的進(jìn)程遷移數(shù)據(jù);還可以通過進(jìn)程選擇遷入用戶需要的進(jìn)程;而且由于使用的是外部非易失性存儲器作為遷出進(jìn)程的存儲載體,因此即使計算機(jī)重新啟動,非易失性存儲器中的進(jìn)程上下文信息、識別信息和特征信息等數(shù)據(jù)也不會丟失。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例一種軟件快速切換的方法流程圖;圖2為本發(fā)明實(shí)施例嵌入式瀏覽器Konqueror進(jìn)程遷出的流程圖;圖3為本發(fā)明實(shí)施例嵌入式瀏覽器Konqueror進(jìn)程遷入的流程圖;圖4為本發(fā)明實(shí)施例一種實(shí)現(xiàn)軟件快速切換裝置的結(jié)構(gòu)圖;圖fe為現(xiàn)有技術(shù)中實(shí)現(xiàn)故障恢復(fù)的系統(tǒng)結(jié)構(gòu)圖;圖恥為現(xiàn)有技術(shù)中實(shí)現(xiàn)負(fù)載平衡的系統(tǒng)結(jié)構(gòu)圖;圖6為本發(fā)明實(shí)施例實(shí)現(xiàn)軟件快速切換裝置的結(jié)構(gòu)圖;圖7所示為本發(fā)明實(shí)施例軟件快速切換的數(shù)據(jù)備份方法流程圖;圖8所示為本發(fā)明實(shí)施例啟動某個進(jìn)程時將備份恢復(fù)的流程圖;圖9所示為本發(fā)明實(shí)施例數(shù)據(jù)恢復(fù)時進(jìn)行進(jìn)程選擇恢復(fù)的流程圖;圖10所示為本發(fā)明實(shí)施例進(jìn)程遷出和遷入的示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖1所示為本發(fā)明實(shí)施例一種基于進(jìn)程遷出/遷入的軟件快速切換方法流程圖。包括,步驟101,在軟件運(yùn)行時,根據(jù)預(yù)設(shè)的觸發(fā)條件獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。作為可選的實(shí)施例,還可以根據(jù)預(yù)設(shè)的觸發(fā)條件在多個瞬間獲取該進(jìn)程的上下文信息和進(jìn)程的識別信息,將所述多個進(jìn)程上下文信息和識別信息遷移到存儲器中。步驟102,根據(jù)用戶的命令或當(dāng)用戶再次啟動該軟件時,向用戶顯示已存儲的進(jìn)程的識別信息。此時向用戶顯示的進(jìn)程識別信息可以包括顯示某個進(jìn)程的多個瞬間遷移的識別信息,例如按照時間順序顯示出多個進(jìn)程的存儲時間。步驟103,根據(jù)用戶的選擇通知進(jìn)程管理器將所述存儲器中的該進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并執(zhí)行該進(jìn)程。如果用戶選擇某一個進(jìn)程在多個瞬間遷移的進(jìn)程識別信息,則將該進(jìn)程識別信息對應(yīng)的進(jìn)程上下文加載到操作系統(tǒng)的內(nèi)存中。其中,所述觸發(fā)條件包括,按照一定的時間間隔定時獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中;或者,根據(jù)用戶的指令,根據(jù)該指令獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中;或者,根據(jù)用戶進(jìn)行軟件關(guān)閉的操作或計算機(jī)系統(tǒng)關(guān)閉的操作,根據(jù)該操作獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。所述存儲器可以包括非易失性存儲器或者易失性存儲器,所述非易失性存儲器可以包括硬盤、Flash存儲器、U盤、網(wǎng)絡(luò)硬盤燈,所述易失性存儲器包括計算機(jī)或者智能終端的內(nèi)存等。所述多次獲取進(jìn)程的上下文信息和進(jìn)程的識別信息是指,當(dāng)滿足觸發(fā)條件時,即, 例如用戶點(diǎn)擊某個按鍵或者定時器到時,就將用戶指定的進(jìn)程上下文信息和進(jìn)程的識別信息遷移到存儲器中,遷移所述進(jìn)程上下文信息和進(jìn)程的識別信息時,由于相同程序的進(jìn)程可能有很多個,例如每半個小時存儲一次游戲進(jìn)程,如果該游戲進(jìn)程運(yùn)行了 2個小時,則在存儲器中遷移了 4個該游戲的進(jìn)程,這里的識別信息可能包括遷移進(jìn)程的時間。上述實(shí)施例中,可以在存儲器中遷移某個進(jìn)程的多個實(shí)例,用戶指定的每個進(jìn)程實(shí)例均會被遷移到存儲器中,存儲器中保存了遷移進(jìn)程的很多實(shí)例后,當(dāng)再次啟動該進(jìn)程時,用戶可以根據(jù)進(jìn)程的識別信息區(qū)分想要遷入的進(jìn)程實(shí)例,其中所述進(jìn)程識別信息包括存儲時的用戶名、文件名和時間等內(nèi)容。例如當(dāng)用戶1登錄操作系統(tǒng),將word進(jìn)程的上下文遷移到內(nèi)存中,該進(jìn)程識別信息包括當(dāng)前用戶(用戶1),執(zhí)行時間(2011年8月1日),文件路徑為C:\Program Files\ Microsoft 0ffice\0FFICEll ;當(dāng)用戶2登錄到操作系統(tǒng)中,也將word進(jìn)程的上下文遷移到內(nèi)存中,該進(jìn)程識別信息包括當(dāng)前用戶(用戶2),執(zhí)行時間QOll年8月1日),文件路徑為 C:\Program Files\Microsoft 0ffice\0FFICEll ;在內(nèi)存中存儲有兩個 word 進(jìn)程的上下文,當(dāng)用戶1想要啟動word進(jìn)程時,可以在屏幕上顯示內(nèi)存中的兩個word進(jìn)程識別信息,用戶可以選擇遷入用戶1的word進(jìn)程,或者遷入用戶2的word進(jìn)程,亦或者正常啟動一個word進(jìn)禾呈。當(dāng)用戶選擇遷移word進(jìn)程,或者由設(shè)定的定時器發(fā)出遷移指令遷移word進(jìn)程的上下文到內(nèi)存中后,在內(nèi)存中保存該進(jìn)程的識別信息,包括執(zhí)行時間(2011年8月1日); 該用戶又一次遷移了 word進(jìn)程的上下文到內(nèi)存中,其保存的進(jìn)程識別信息為,執(zhí)行時間 (2011年8月2日);在內(nèi)存中有兩個word進(jìn)程的上下文,當(dāng)用戶想要啟動word進(jìn)程時,可以在屏幕上顯示存儲器中的兩個word進(jìn)程的識別信息,即兩個被存儲進(jìn)程的執(zhí)行時間,用戶可以選擇遷入2011年8月1日的word進(jìn)程,或者遷入2011年8月2日的word進(jìn)程,亦或者正常啟動一個word進(jìn)程。在所述將進(jìn)程的上下文信息遷移到存儲器中,當(dāng)一個進(jìn)程在執(zhí)行時,CPU的所有寄存器中的值、進(jìn)程的狀態(tài)以及堆棧中的內(nèi)容被稱為該進(jìn)程的上下文,進(jìn)程的上下文信息就是進(jìn)程執(zhí)行時的環(huán)境,各個變量和數(shù)據(jù),包括所有的寄存器變量、進(jìn)程打開的文件、內(nèi)存信息等。一個進(jìn)程的上下文可以分為三個部分用戶級上下文、寄存器上下文以及系統(tǒng)級上下文,其中用戶級上下文包括正文、數(shù)據(jù)、用戶堆棧以及共享存儲區(qū);寄存器上下文包括通用寄存器、程序寄存器(IP)、處理器狀態(tài)寄存器(EFLAGS)、棧指針(ESP);系統(tǒng)級上下文包 舌 禾呈控塊 task—struct、 #iWSff^ (mm_struct> vm_area_struct>pgd>pte)、內(nèi)核棧。在所述步驟101之中,當(dāng)所述存儲器已滿,將所述存儲器內(nèi)被遷移出進(jìn)程的使用頻率和時間進(jìn)行排隊,將最長時間沒有使用的進(jìn)程上下文信息和識別信息在所述存儲器內(nèi)刪除。所述步驟102中,可以通過在預(yù)定時間內(nèi)持續(xù)點(diǎn)擊某個圖標(biāo)或者鼠標(biāo)右鍵點(diǎn)擊, 然后彈出菜單,在該菜單中顯示該圖標(biāo)對應(yīng)的所有進(jìn)程識別信息,或者還可以通過例如在顯示圖標(biāo)屬性時,顯示該程序?qū)?yīng)的所有進(jìn)程的識別信息。在步驟103中,當(dāng)用戶選擇了某個進(jìn)程的識別信息,則通知進(jìn)程管理器將存儲器中相應(yīng)進(jìn)程識別信息的進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并執(zhí)行該進(jìn)程。在所述步驟101之后還包括,將該內(nèi)存空間中的進(jìn)程上下文信息和識別信息備份到備份存儲器中,該備份存儲器為不同于上述存儲器的非易失性存儲器;在所述步驟102中,當(dāng)用戶啟動進(jìn)程時,判斷在所述存儲器和備份存儲器中是否有將要啟動的進(jìn)程,如果有所述進(jìn)程,則進(jìn)程管理器將所述進(jìn)程的上下文信息加載到操作系統(tǒng)的內(nèi)存中,并執(zhí)行該進(jìn)程。在上述步驟102中,將該內(nèi)存空間中的進(jìn)程上下文信息和識別信息備份到備份存儲器中之中還包括,根據(jù)定時器定時將內(nèi)存空間中的進(jìn)程上下文信息和識別信息備份到非易失性存儲器的備份存儲器中。通過上述實(shí)施例,在本地計算機(jī)或者智能終端中通過多個時刻將同一進(jìn)程上下文遷移到存儲器中,通過用戶的控制恢復(fù)進(jìn)程,即重新啟動該進(jìn)程,可以大幅度提高進(jìn)程的啟動速度,并且可以恢復(fù)進(jìn)程在上一次關(guān)閉時的所有數(shù)據(jù);通過進(jìn)程的識別信息,可以由用戶選擇遷入哪個進(jìn)程以及進(jìn)程哪個瞬間上下文,或者刪除哪個進(jìn)程,方便用戶管理存儲空間中的進(jìn)程。
如圖2所示為本發(fā)明實(shí)施例嵌入式瀏覽器Konqueror進(jìn)程遷出的流程圖。包括步驟201,用戶關(guān)閉嵌入式瀏覽器Konqueror進(jìn)程時,操作系統(tǒng)發(fā)出關(guān)閉進(jìn)程指令?;蛘哂脩艨梢酝ㄟ^選項(xiàng)發(fā)出遷出某個進(jìn)程的指令。步驟202,獲取該被關(guān)閉進(jìn)程的上下文信息和進(jìn)程的識別信息,在本例中可以提取進(jìn)程執(zhí)行時間2011年8月1日22:00作為該進(jìn)程的識別信息。具體的,觸發(fā)條件單元獲取用戶關(guān)閉進(jìn)程的指令,進(jìn)程獲取單元根據(jù)該指令獲取進(jìn)程的上下文信息和進(jìn)程的識別信息,通知進(jìn)程管理器是嵌入式瀏覽器Konqueror進(jìn)程關(guān)閉。步驟203,通過內(nèi)存的接口保存進(jìn)程上下文信息、識別信息和各寄存器狀態(tài)到內(nèi)存,在本例中可以記錄進(jìn)程執(zhí)行時間2011年8月1日22:00。步驟204,操作系統(tǒng)關(guān)閉進(jìn)程。可以于多個瞬間將本例中的Konqueror進(jìn)程遷移至內(nèi)存中,按照時間序列保存在文件或者數(shù)據(jù)庫中。在上述步驟201和202中,也可以通過定時器等方式在預(yù)定的時間由進(jìn)程獲取單元獲得當(dāng)前用戶正在操作的進(jìn)程上下文信息,定時的保存進(jìn)程上下文信息、識別信息,這樣做可以隨時保持進(jìn)程的工作狀態(tài),重新遷入該進(jìn)程時可以由用戶選擇遷入的工作狀態(tài),并且,本發(fā)明實(shí)施例保存進(jìn)程本身的工作狀態(tài),包括其使用的數(shù)據(jù)的狀態(tài),在進(jìn)程遷入時恢復(fù)成遷出時的狀態(tài),而不是現(xiàn)有技術(shù)中一些文字處理軟件保存數(shù)據(jù)文件的變化日志,根據(jù)數(shù)據(jù)文件不同版本信息恢復(fù)以前版本。如圖3所示為本發(fā)明實(shí)施例嵌入式瀏覽器Konqueror進(jìn)程遷入的流程圖。在內(nèi)存中保存有兩個識別信息為Konqueror的進(jìn)程上下文,一個進(jìn)程的執(zhí)行時間是2011年8月1日22:00,另一個進(jìn)程執(zhí)行時間為2011年8月1日20:00。包括步驟301,用戶啟動嵌入式瀏覽器Konqueror進(jìn)程,操作系統(tǒng)準(zhǔn)備運(yùn)行進(jìn)程。步驟302,進(jìn)程管理器在內(nèi)存中搜索是否有相應(yīng)的Konqueror進(jìn)程存在,如果有則進(jìn)入步驟303,否則進(jìn)入步驟304。步驟303,進(jìn)程管理器在內(nèi)存中匹配出兩個識別信息為Konqueror的進(jìn)程,提示單元將該進(jìn)程的兩次執(zhí)行時間提取出來顯示在屏幕上,在屏幕的選擇界面上還可以包括一個重新啟動一個Konqueror的進(jìn)程的選項(xiàng),供用戶選擇。步驟304,按照現(xiàn)有技術(shù)中那樣正常啟動嵌入式瀏覽器Konqueror進(jìn)程,其中向操作系統(tǒng)內(nèi)存中加載數(shù)據(jù)等步驟均為現(xiàn)有技術(shù),在此不再贅述。步驟305,用戶根據(jù)屏幕提示的進(jìn)程執(zhí)行時間,選擇了 2011年8月1日20:00的進(jìn)程。步驟306,進(jìn)程管理器通過接口從內(nèi)存中加載執(zhí)行時間為2011年8月1日20:00 的嵌入式瀏覽器Konqueror進(jìn)程的上下文到操作系統(tǒng)的內(nèi)存中。步驟307,進(jìn)程管理器恢復(fù)該進(jìn)程各寄存器狀態(tài)。
步驟308,操作系統(tǒng)執(zhí)行該進(jìn)程。以上步驟306和307即為進(jìn)程重構(gòu)過程。如圖4所示為本發(fā)明實(shí)施例一種基于進(jìn)程遷出/遷入的軟件快速切換裝置的結(jié)構(gòu)圖。
包括觸發(fā)條件單元401,進(jìn)程獲取單元402,進(jìn)程管理器403,存儲器404,提示單元 405,選擇單元406。在軟件運(yùn)行時,所述觸發(fā)條件單元401,用于根據(jù)預(yù)設(shè)的觸發(fā)條件向所述進(jìn)程獲取單元發(fā)出指令。所述進(jìn)程獲取單元402,用于根據(jù)所述指令獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器404中;其中,所述存儲器404可以包括非易失性存儲器或者易失性存儲器,所述進(jìn)程獲取單元402可以在多個瞬間獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息,并將多個進(jìn)程上下文信息和識別信息遷移到存儲器中。當(dāng)用戶再次啟動該軟件時或者根據(jù)用戶的命令,所述提示單元405向用戶顯示已存儲的進(jìn)程的識別信息;所述選擇單元406根據(jù)用戶的選擇通知進(jìn)程管理器402將所述存儲器中的該進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并繼續(xù)執(zhí)行該進(jìn)程。所述裝置還可以包括定時器407,將定時信息發(fā)送給所述觸發(fā)條件單元401,所述觸發(fā)條件單元401根據(jù)所述定時信息向所述進(jìn)程獲取單元發(fā)出進(jìn)程遷移的指令;或者所述定時器407還可以將定時信息發(fā)送給備份單元,所述備份單元將存儲器404中的進(jìn)程上下文信息和識別信息備份到所述備份存儲器。所述裝置還可以包括指令接收單元412,用于接收用戶發(fā)出的遷移進(jìn)程上下文信息和識別信息的指令,并將該指令發(fā)送給所述觸發(fā)條件單元401,所述觸發(fā)條件單元401向所述進(jìn)程獲取單元402發(fā)出獲取該進(jìn)程上下文和識別信息并遷移到存儲器404中的指令。所述裝置還可以包括操作監(jiān)測單元408,監(jiān)測用戶進(jìn)行軟件關(guān)閉的操作或計算機(jī)系統(tǒng)關(guān)閉的操作,將所述用戶操作發(fā)送給所述觸發(fā)條件單元401,所述觸發(fā)條件單元401向所述進(jìn)程獲取單元發(fā)出進(jìn)程遷移的指令。所述裝置還可以包括監(jiān)控單元409,用于當(dāng)所述存儲空間已滿,將所述存儲器內(nèi)被遷移出進(jìn)程的使用頻率和時間進(jìn)行排隊,將最長時間沒有使用的進(jìn)程上下文信息和識別信息從所述存儲器中刪除。包括但不限于所述策略,替換的策略允許用戶自己定義。所述裝置還可以包括備份單元410和備份存儲器411,所述備份單元410將存儲器 404中的進(jìn)程上下文信息和識別信息備份到非易失性存儲器的備份存儲器411。通過上述實(shí)施例,通過進(jìn)程獲取單元可以獲取用戶指定的進(jìn)程,即不是所有的進(jìn)程都被遷移,而只有用戶指定的進(jìn)程被遷移,以提高進(jìn)程的切換速度;并且可以多次遷出同一進(jìn)程,并保存多個進(jìn)程;所述進(jìn)程管理器是通過用戶的指令進(jìn)行進(jìn)程遷移的操作,并不像現(xiàn)有技術(shù)中那樣,由于故障或者負(fù)載平衡而進(jìn)行的遷移,可控性強(qiáng),并且在重新啟動該進(jìn)程時,從存儲器中將進(jìn)程加載到操作系統(tǒng)內(nèi)存中,可以明顯提高進(jìn)程啟動速度,特別是對大型軟件或者游戲來說,每一次啟動都需要很差時間加載,而通過在現(xiàn)有的計算機(jī)系統(tǒng)中加入本發(fā)明實(shí)施例的裝置,可以提高再次啟動大型軟件或者游戲時的速度,縮短用戶等待時間, 提升用戶體驗(yàn);通過進(jìn)程選擇單元可以由用戶選擇遷回哪個進(jìn)程,或者通過進(jìn)程刪除單元選擇刪除哪個進(jìn)程,方便用戶管理存儲空間中的進(jìn)程。在現(xiàn)有技術(shù)中進(jìn)程遷移主要由兩個方面,其中之一就是故障恢復(fù)中的進(jìn)程遷移, 其利用了如圖如所示的系統(tǒng)結(jié)構(gòu)圖實(shí)現(xiàn)了故障恢復(fù)中的進(jìn)程遷移,另一種就是負(fù)載平衡中進(jìn)程遷移,其利用了如圖恥所示的系統(tǒng)結(jié)構(gòu)圖實(shí)現(xiàn)了負(fù)載平衡中的進(jìn)程遷移。
在圖fe中,進(jìn)程管理器定期保存本地CPU或者計算節(jié)點(diǎn)進(jìn)程重構(gòu)必須的上下文信息,任務(wù)管理器發(fā)現(xiàn)CPU或者計算節(jié)點(diǎn)故障后,任務(wù)管理器選擇其它CPU或者計算節(jié)點(diǎn),并激活進(jìn)程遷移信息提取模塊,進(jìn)程遷移信息提取模塊提取重構(gòu)進(jìn)程必須的上下文信息,所述進(jìn)程遷移傳輸模塊將所述重構(gòu)信息傳送給目標(biāo)CPU或者計算節(jié)點(diǎn),由進(jìn)程管理器進(jìn)行進(jìn)程的重構(gòu)。在圖恥中,負(fù)載監(jiān)視器定期檢查本節(jié)點(diǎn)的負(fù)載,并與負(fù)載收集器中的節(jié)點(diǎn)信息比較,決定是否遷移,當(dāng)負(fù)載達(dá)到門限值時,負(fù)載監(jiān)視器激活進(jìn)程遷移選擇模塊進(jìn)行進(jìn)程的選擇,激活進(jìn)程遷移信息提取模塊提取遷移進(jìn)程必須的上下文信息,進(jìn)程遷移傳輸模塊將進(jìn)程的重構(gòu)信息傳送給目標(biāo)CPU或者計算節(jié)點(diǎn),由進(jìn)程管理器進(jìn)行進(jìn)程的重構(gòu)。本發(fā)明實(shí)施例的實(shí)現(xiàn)軟件快速切換裝置不同于上述現(xiàn)有技術(shù)中的結(jié)構(gòu),如圖6所示,在本發(fā)明實(shí)施例中,進(jìn)程獲取單元601根據(jù)觸發(fā)條件單元602的指令獲取用戶指定的進(jìn)程上下文信息和識別信息,進(jìn)程管理器603根據(jù)用戶指定的識別信息從進(jìn)程獲取單元601 獲取重構(gòu)進(jìn)程所需的進(jìn)程上下文信息,將所述進(jìn)程上下文信息和識別信息存儲到硬盤604 的存儲空間中,隨后關(guān)閉該進(jìn)程;當(dāng)用戶重新啟動該進(jìn)程時,進(jìn)程管理器603在硬盤604的存儲空間中查詢是否存儲有相應(yīng)識別信息的進(jìn)程,如果有則啟動提示單元605將存儲空間中與重新啟動的進(jìn)程相應(yīng)的進(jìn)程顯示到屏幕上以供用戶選擇,當(dāng)用戶通過選擇單元606選擇了某個進(jìn)程時,進(jìn)程管理器603重構(gòu)該進(jìn)程,在操作系統(tǒng)的內(nèi)存607中加載該進(jìn)程,如果在存儲空間中沒有存儲相應(yīng)識別信息的進(jìn)程則進(jìn)程管理器603正常啟動該進(jìn)程。如圖7所示為本發(fā)明實(shí)施例軟件快速切換的數(shù)據(jù)備份方法流程圖。步驟701,當(dāng)定時器到時通知進(jìn)程獲取單元進(jìn)行進(jìn)程遷出,進(jìn)程獲取單元獲取用戶指定進(jìn)程的上下文信息和識別信息,所述識別信息可以為進(jìn)行遷出操作的時間。步驟702,進(jìn)程獲取單元將所述進(jìn)程的上下文信息、識別信息存儲于內(nèi)存中。步驟703,所述備份單元將所述內(nèi)存中的進(jìn)程上下文信息、識別信息備份到備份存儲器中。作為本實(shí)施例的一個進(jìn)一步的方面,當(dāng)計算機(jī)或者終端在重新啟動后,即內(nèi)存中的進(jìn)程數(shù)據(jù)丟失后,備份單元根據(jù)定時器定時發(fā)送來的指令,將備份存儲器中的進(jìn)程上下文信息、識別信息恢復(fù)到內(nèi)存中。如圖8所示為本發(fā)明實(shí)施例啟動某個進(jìn)程時將備份恢復(fù)的流程圖。步驟801,用戶選擇啟動某個進(jìn)程。步驟802,進(jìn)程管理器在內(nèi)存中搜索是否有該進(jìn)程。步驟803,如果在內(nèi)存中沒有該進(jìn)程,則進(jìn)程管理器在備份存儲器中搜索該進(jìn)程。步驟804,如果在備份存儲器中也沒有該進(jìn)程,則進(jìn)程管理器正常啟動該進(jìn)程。步驟805,如果在備份存儲器中有該進(jìn)程,則備份單元將該進(jìn)程上下文信息、識別信息恢復(fù)到內(nèi)存中。作為可選的,備份單元可以通知進(jìn)程管理器將所述進(jìn)程的上下文信息加載到操作系統(tǒng)的內(nèi)存中,并恢復(fù)該進(jìn)程各寄存器狀態(tài)。步驟806,進(jìn)程管理器將所述進(jìn)程的上下文信息加載到操作系統(tǒng)的內(nèi)存中,并恢復(fù)該進(jìn)程各寄存器狀態(tài)。如圖9所示為本發(fā)明實(shí)施例數(shù)據(jù)恢復(fù)時進(jìn)行進(jìn)程選擇恢復(fù)的流程圖。步驟901,用戶啟動某個進(jìn)程,例如啟動word的進(jìn)程。
步驟902,進(jìn)程管理器檢索內(nèi)存中是否具有該進(jìn)程。步驟903,如果內(nèi)存中具有多個相關(guān)進(jìn)程,則提示單元將與該進(jìn)程相關(guān)的多個進(jìn)程特征信息顯示在屏幕上,例如在內(nèi)存中具有2個word進(jìn)程,一個識別信息為2011年10月 7日20:00的word進(jìn)程,另一個識別信息為2011年10月7日20:01的word進(jìn)程,顯示單元將上述時間信息顯示在屏幕上,以供用戶選擇。步驟904,用戶通過選擇單元選擇了某個進(jìn)程,例如選擇了 2011年10月7日20:00
的進(jìn)程。步驟905,進(jìn)程管理器將內(nèi)存中2011年10月7日20:00的word進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并恢復(fù)該進(jìn)程各寄存器狀態(tài)。如圖10所示為本發(fā)明實(shí)施例進(jìn)程遷出和遷入的示意圖。在本例中以計算10的階乘為例進(jìn)行說明,根據(jù)公式N ! = N*(N_1) !可知10 ! =1氺2氺3氺4氺5氺6氺7氺8氺9氺10。假設(shè)每一秒鐘完成一次計算,定時器設(shè)定的觸發(fā)條件為每兩秒鐘進(jìn)程遷出一次, 即圖中實(shí)線表示進(jìn)程遷出,虛線表示計算。第1秒計算2 !即2*1 = 2 ;第2秒計算3 !及3*2 ! = 6 ;兩秒鐘遷出一次進(jìn)程,記錄時間戳為第2秒,將當(dāng)前內(nèi)存中的進(jìn)程上下文(此處為計算結(jié)果6)與識別信息(時間戳)一起遷移到內(nèi)存中;第3 秒計算 4 !即 4*3 ! = 24 ;第4秒計算5 !即5*4 ! = 120 ;兩秒鐘遷出一次進(jìn)程,記錄時間戳為第4秒,將當(dāng)前內(nèi)存中的進(jìn)程上下文(此處為計算結(jié)果120)與識別信息(時間戳)一起遷移到內(nèi)存中,該遷移出的數(shù)據(jù)可以以時間戳順序存儲,在內(nèi)存中保存有兩個該進(jìn)程的遷出數(shù)據(jù),分別為第2秒遷移出的進(jìn)程上下文和第4秒遷移出的進(jìn)程上下文;第5秒和第6秒類似上述過程,在此不再贅述。第7秒用戶指定遷出改進(jìn)程,觸發(fā)條件單元根據(jù)用戶點(diǎn)擊某個按鍵的操作將進(jìn)行進(jìn)程遷出的指令發(fā)送給進(jìn)程獲取單元,記錄當(dāng)前時間戳為第7秒,將進(jìn)程上下文(此處是 8 ! = 40320)與識別信息(時間戳)一起遷移到內(nèi)存中。當(dāng)用戶需要遷入進(jìn)程時,用戶選擇啟動10 !這個進(jìn)程,顯示單元提示從第7秒開始或者從第2、第4、第6秒或者重新開始。如果用戶選擇從第4秒開始,則將內(nèi)存中的識別信息為第4秒的進(jìn)程上下文進(jìn)行遷入,在系統(tǒng)的內(nèi)存中加載該進(jìn)程上下文,恢復(fù)運(yùn)行第4秒的進(jìn)程;然后從該第4秒之后繼續(xù)運(yùn)行該進(jìn)程,指針移動到第5秒開始計算6 !,計算第6 秒7 !…直到計算完成10 !。通過本發(fā)明實(shí)施例,進(jìn)程的指定和遷移均是在用戶的控制下進(jìn)行的,可以實(shí)現(xiàn)對特定的進(jìn)程快速切換的目的,而且進(jìn)程遷入也是將進(jìn)程頁面中的應(yīng)用代碼和數(shù)據(jù)同時遷入到操作系統(tǒng)的內(nèi)存中,CPU的狀態(tài)被保持,應(yīng)用頁在中斷點(diǎn)開始運(yùn)行,可以應(yīng)用于單核CPU 的計算機(jī)系統(tǒng),也可以應(yīng)用于多核CPU的計算機(jī)系統(tǒng);并且可以明顯提高再次啟動大型軟件或者游戲再次啟動時的速度,縮短用戶等待時間,提升用戶體驗(yàn);能夠根據(jù)用戶選擇遷入進(jìn)程,使得進(jìn)程管理更加的靈活;而且由于使用的是外部非易失性存儲器作為遷出進(jìn)程的存儲載體,因此即使計算機(jī)重新啟動,非易失性存儲器中的進(jìn)程上下文信息、識別信息和特征信息等數(shù)據(jù)也不會丟失,并且外部非易失性存儲器的存儲空間很大,可以存儲用戶的很多進(jìn)程數(shù)據(jù),如果通過高速網(wǎng)絡(luò)可以將遷出的進(jìn)程數(shù)據(jù)存儲于位于網(wǎng)絡(luò)的存儲器中,這樣的進(jìn)程數(shù)據(jù)的安全系數(shù)更高。 以上所述的具體實(shí)施方式
,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于進(jìn)程遷出/遷入的軟件快速切換方法,其特征在于包括,在軟件運(yùn)行時,根據(jù)預(yù)設(shè)的觸發(fā)條件獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中;根據(jù)用戶的命令或當(dāng)用戶再次啟動該軟件時,向用戶顯示已存儲的進(jìn)程的識別信息,根據(jù)用戶的選擇,將某一進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并繼續(xù)執(zhí)行該進(jìn)程。
2.根據(jù)權(quán)利要求1所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法,其特征在于, 所述觸發(fā)條件為按照一定的時間間隔定時獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。
3.根據(jù)權(quán)利要求1所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法,其特征在于, 所述觸發(fā)條件為用戶指令,根據(jù)該指令獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。
4.根據(jù)權(quán)利要求1所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法,其特征在于, 所述觸發(fā)條件為用戶進(jìn)行軟件關(guān)閉的操作或計算機(jī)系統(tǒng)關(guān)閉的操作,根據(jù)該操作獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中。
5.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法, 其特征在于,所述識別信息為所述進(jìn)程上下文信息遷移時的用戶名、文件名和時間。
6.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法, 其特征在于,所述存儲器包括非易失性存儲器或者易失性存儲器。
7.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法, 其特征在于,當(dāng)所述存儲器已滿,將所述存儲器內(nèi)遷移進(jìn)程的使用頻率和時間進(jìn)行排隊,將最長時間沒有使用的進(jìn)程上下文信息和識別信息在所述存儲器內(nèi)刪除。
8.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法, 其特征在于,另外使用一個非易失性存儲器的備份存儲器對所述存儲器中的進(jìn)程上下文信息和識別信息進(jìn)行備份。
9.根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的一種基于進(jìn)程遷出/遷入的軟件快速切換方法, 其特征在于,在軟件運(yùn)行時,根據(jù)預(yù)設(shè)的觸發(fā)條件獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中還包括,根據(jù)預(yù)設(shè)的觸發(fā)條件在多個瞬間獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息,并將多個進(jìn)程上下文信息和識別信息遷移到存儲器中。
10.一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于包括,觸發(fā)條件單元,進(jìn)程獲取單元,進(jìn)程管理器,存儲器,提示單元,選擇單元;在軟件運(yùn)行時,所述觸發(fā)條件單元根據(jù)預(yù)設(shè)的觸發(fā)條件向所述進(jìn)程獲取單元發(fā)出指令;所述進(jìn)程獲取單元根據(jù)所述指令獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中;當(dāng)用戶再次啟動該軟件時或者根據(jù)用戶的命令,所述提示單元向用戶顯示已存儲的進(jìn)程的識別信息;所述選擇單元根據(jù)用戶的選擇通知進(jìn)程管理器將某一進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并繼續(xù)執(zhí)行該進(jìn)程。
11.根據(jù)權(quán)利要求10所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于還包括定時器,用于定時信息發(fā)送給所述觸發(fā)條件單元,所述觸發(fā)條件單元向所述進(jìn)程獲取單元發(fā)出獲取該進(jìn)程上下文和識別信息并遷移到存儲器中的指令。
12.根據(jù)權(quán)利要求10所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于還包括指令接收單元,用于接收用戶發(fā)出的遷移進(jìn)程上下文信息和識別信息的指令,并將該指令發(fā)送給所述觸發(fā)條件單元,所述觸發(fā)條件單元向所述進(jìn)程獲取單元發(fā)出獲取該進(jìn)程上下文和識別信息并遷移到存儲器中的指令。
13.根據(jù)權(quán)利要求10所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于還包括操作監(jiān)測單元,監(jiān)測用戶進(jìn)行軟件關(guān)閉的操作或計算機(jī)系統(tǒng)關(guān)閉的操作,將監(jiān)測結(jié)果發(fā)送給所述觸發(fā)條件單元,所述觸發(fā)條件單元向所述進(jìn)程獲取單元發(fā)出獲取該進(jìn)程上下文和識別信息并遷移到存儲器中的指令。
14.根據(jù)權(quán)利要求10-13所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于,所述存儲器包括非易失性存儲器或者易失性存儲器。
15.根據(jù)權(quán)利要求10-13所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于還包括監(jiān)控單元,用于當(dāng)所述存儲器已滿,將所述存儲器內(nèi)存儲進(jìn)程的使用頻率和時間進(jìn)行排隊,將最長時間沒有使用的進(jìn)程上下文信息和識別信息從所述存儲器中刪除。
16.根據(jù)權(quán)利要求10-13所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于還包括備份單元和備份存儲器,所述備份單元將所述存儲器中的進(jìn)程上下文信息和識別信息備份到非易失性存儲器的備份存儲器。
17.根據(jù)權(quán)利要求10-13所述的一種基于進(jìn)程遷出/遷入的軟件快速切換裝置,其特征在于所述進(jìn)程獲取單元還用于在多個瞬間獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息,并將多個進(jìn)程上下文信息和識別信息遷移到存儲器中。
全文摘要
本發(fā)明涉及計算機(jī)領(lǐng)域,用于解決現(xiàn)有技術(shù)中再次啟動大型軟件速度緩慢問題,本發(fā)明實(shí)施例提供了一種基于進(jìn)程遷出/遷入的軟件快速切換方法和裝置,其中方法包括在軟件運(yùn)行時,根據(jù)預(yù)設(shè)的觸發(fā)條件獲取該軟件進(jìn)程的上下文信息和進(jìn)程的識別信息并遷移到存儲器中;根據(jù)用戶的命令或當(dāng)用戶再次啟動該軟件時,向用戶顯示已存儲的進(jìn)程的識別信息,根據(jù)用戶的選擇,將某一進(jìn)程上下文信息加載到操作系統(tǒng)的內(nèi)存中,并繼續(xù)執(zhí)行該進(jìn)程。通過上述實(shí)施例,用戶可以控制恢復(fù)哪個進(jìn)程,可以大幅度提高進(jìn)程的啟動速度,并且可以恢復(fù)進(jìn)程在上一次關(guān)閉時的所有數(shù)據(jù)。
文檔編號G06F9/445GK102467403SQ20111031137
公開日2012年5月23日 申請日期2011年10月14日 優(yōu)先權(quán)日2011年10月14日
發(fā)明者喻子達(dá), 王襲, 翟翌立, 馬國軍 申請人:海爾集團(tuán)公司, 海爾集團(tuán)技術(shù)研發(fā)中心