專利名稱:電子裝置與其操作系統(tǒng)切換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電子裝置與其多個(gè)操作系統(tǒng)(operating system),具體涉及一種電子裝置與其操作系統(tǒng)切換方法。
背景技術(shù):
在現(xiàn)今眾多開放平臺(tái)操作系統(tǒng)的發(fā)展下,各操作系統(tǒng)都擁有不同的愛好者,也充分帶給用戶不同的體驗(yàn)。各家平臺(tái)也都試著整合出有別于自己平臺(tái)之外的優(yōu)點(diǎn),試著在開放平臺(tái)的競(jìng)爭(zhēng)環(huán)境之中脫穎而出。在這個(gè)百家爭(zhēng)鳴的時(shí)代,沒有任何一個(gè)操作系統(tǒng)能在任何應(yīng)用環(huán)境都占有絕對(duì)優(yōu)勢(shì),用戶難免會(huì)有在單一電子裝置上安裝多個(gè)操作系統(tǒng)的想法。但是以目前的技術(shù)來說,如果有兩個(gè)以上的操作系統(tǒng)安裝在單一的電子裝置上,在切換操作系統(tǒng)時(shí),都需要將目前正在運(yùn)作的操作系統(tǒng)關(guān)閉之后,再用另一個(gè)操作系統(tǒng)開機(jī)。每一次操作系統(tǒng)開機(jī)都很緩慢,可能要等待幾分鐘,進(jìn)而造成用戶的切換操作系統(tǒng)的意愿下降。
發(fā)明內(nèi)容
本發(fā)明提供一種電子裝置與其操作系統(tǒng)切換方法,以縮短操作系統(tǒng)的切換時(shí)間。本發(fā)明提出一種操作系統(tǒng)切換方法,包括下列步驟:執(zhí)行第一操作系統(tǒng),并偵測(cè)一觸發(fā)事件;當(dāng)偵測(cè)到觸發(fā)事件時(shí),執(zhí)行第一操作系統(tǒng)的休眠(hibernation)程序;當(dāng)觸發(fā)事件所指定的第二操作系統(tǒng)是第一次執(zhí)行,則執(zhí)行第二操作系統(tǒng)的開機(jī)(boot)程序;當(dāng)?shù)诙僮飨到y(tǒng)并非第一次執(zhí)行,則執(zhí)行第二操作系統(tǒng)的恢復(fù)(resumption)程序。本發(fā)明另提出一種電子裝置,包括偵測(cè)模塊和處理器。偵測(cè)模塊偵測(cè)觸發(fā)事件。處理器連接偵測(cè)模塊,并執(zhí)行第一操作系統(tǒng)。當(dāng)偵測(cè)模塊偵測(cè)到觸發(fā)事件時(shí),處理器執(zhí)行第一操作系統(tǒng)的休眠程序。當(dāng)觸發(fā)事件所指定的第二操作系統(tǒng)是第一次執(zhí)行,則處理器執(zhí)行第二操作系統(tǒng)的開機(jī)程序。當(dāng)?shù)诙僮飨到y(tǒng)并非第一次執(zhí)行,則處理器執(zhí)行第二操作系統(tǒng)的恢復(fù)程序。上述的休眠程序可儲(chǔ)存操作系統(tǒng)的狀態(tài),此狀態(tài)包括電子裝置執(zhí)行此操作系統(tǒng)所使用到的所有內(nèi)存和緩存器的內(nèi)容。上述的恢復(fù)程序可將操作系統(tǒng)前次儲(chǔ)存的狀態(tài)寫回電子裝置,不需要重新開機(jī)就能迅速恢復(fù)操作系統(tǒng)的運(yùn)作。本發(fā)明的電子裝置與其操作系統(tǒng)切換方法,其休眠程序可儲(chǔ)存操作系統(tǒng)在切換時(shí)的狀態(tài),恢復(fù)程序可快速寫回操作系統(tǒng)在前次切換時(shí)儲(chǔ)存的狀態(tài),不需要冗長(zhǎng)的重新開機(jī)程序,就能迅速進(jìn)入下一個(gè)操作系統(tǒng)。相對(duì)于傳統(tǒng)的操作系統(tǒng)切換時(shí)的重新開機(jī)所需的數(shù)分鐘之久,本發(fā)明可以將操作系統(tǒng)的切換時(shí)間縮短至數(shù)秒鐘。因此本發(fā)明可以大幅縮短操作系統(tǒng)的切換時(shí)間,增進(jìn)使用的便利性,提高用戶同時(shí)使用多個(gè)操作系統(tǒng)的意愿。
圖1是依照本發(fā)明一實(shí)施例的一種電子裝置的示意圖。
圖2至圖4是依照本發(fā)明一實(shí)施例的一種操作系統(tǒng)切換方法的流程圖。圖5是依照本發(fā)明一實(shí)施例的一種電子裝置的示意圖。主要組件符號(hào)說明:100:電子裝置110:處理器120:偵測(cè)模塊130:儲(chǔ)存裝置210 270、320、340、420、440:流程步驟500:擴(kuò)充基座
具體實(shí)施例方式下面通過實(shí)施例并結(jié)合附圖,對(duì)本發(fā)明做進(jìn)一步說明。圖1是依照本發(fā)明一實(shí)施例的一種電子裝置100的示意圖。電子裝置100可以是任何一種可安裝執(zhí)行操作系統(tǒng)的桌上電子裝置或移動(dòng)電子裝置,例如個(gè)人電腦、筆記本電腦、平板電腦或智能手機(jī)。電子裝置100包括處理器(processor) 110、偵測(cè)模塊120、以及儲(chǔ)存裝置130。處理器110連接偵測(cè)模塊120和儲(chǔ)存裝置130。偵測(cè)模塊120用于偵測(cè)觸發(fā)事件。儲(chǔ)存裝置130可以是硬盤或內(nèi)嵌式多媒體儲(chǔ)存卡(embedded multimedia card)之類的任何一種非揮發(fā)性數(shù)據(jù)儲(chǔ)存裝置。圖2是依照本發(fā)明一實(shí)施例的一種操作系統(tǒng)切換方法的流程圖。圖2的方法可由電子裝置100的處理器110執(zhí)行。電子裝置100安裝有多個(gè)不同的操作系統(tǒng),其中有一個(gè)操作系統(tǒng)是預(yù)設(shè)的。當(dāng)用戶打開電子裝置100的電源,處理器110執(zhí)行預(yù)設(shè)操作系統(tǒng)的開機(jī)程序(步驟210)。然后處理器110執(zhí)行目前的操作系統(tǒng)(此時(shí)就是預(yù)設(shè)操作系統(tǒng)),同時(shí)通過偵測(cè)模塊120偵測(cè)觸發(fā)事件(步驟220)。然后,處理器110檢查偵測(cè)模塊120是否有偵測(cè)到觸發(fā)事件發(fā)生(步驟230)。若無觸發(fā)事件發(fā)生,則流程返回步驟220,繼續(xù)執(zhí)行目前的操作系統(tǒng),繼續(xù)偵測(cè)觸發(fā)事件。如果在步驟230有觸發(fā)事件發(fā)生,表示必須切換操作系統(tǒng),則處理器110執(zhí)行目前的操作系統(tǒng)的休眠程序(步驟240)。每一個(gè)操作系統(tǒng)的休眠程序都如圖3所示。首先,處理器110暫停目前操作系統(tǒng)的所有運(yùn)作(步驟320),然后將目前操作系統(tǒng)的狀態(tài)寫入儲(chǔ)存裝置130,以儲(chǔ)存目前操作系統(tǒng)的狀態(tài)(步驟340)。休眠程序至此完成。對(duì)于每一個(gè)操作系統(tǒng),其狀態(tài)包括電子裝置100執(zhí)行此操作系統(tǒng)所使用到的所有內(nèi)存和緩存器的內(nèi)容。上述的緩存器內(nèi)容包括處理器110和其它相關(guān)的控制裝置的所有緩存器內(nèi)容。每一個(gè)操作系統(tǒng)的狀態(tài)在儲(chǔ)存裝置130之中各有專屬的儲(chǔ)存空間,分別獨(dú)立儲(chǔ)存。如果儲(chǔ)存裝置130的空間不夠,或有需要節(jié)省儲(chǔ)存空間,處理器110可以先壓縮操作系統(tǒng)的狀態(tài),再寫入儲(chǔ)存裝置130。上述觸發(fā)事件會(huì)指定電子裝置100即將切換到的下一個(gè)操作系統(tǒng)。接下來,處理器110檢查觸發(fā)事件所指定的下一個(gè)操作系統(tǒng)是不是第一次執(zhí)行(步驟250)。若下一個(gè)操作系統(tǒng)是第一次執(zhí)行,則處理器110執(zhí)行下一個(gè)操作系統(tǒng)的開機(jī)程序,也就是傳統(tǒng)的操作系統(tǒng)開機(jī)程序(步驟260)?;氐讲襟E250,如果下一個(gè)操作系統(tǒng)并非第一次執(zhí)行,則處理器110執(zhí)行下一個(gè)操作系統(tǒng)的恢復(fù)程序(步驟270)。每一個(gè)操作系統(tǒng)的恢復(fù)程序都如圖4所示。因?yàn)椴皇堑谝淮螆?zhí)行,下一個(gè)操作系統(tǒng)在前次執(zhí)行的最后被切換時(shí),其休眠程序會(huì)將其狀態(tài)寫入儲(chǔ)存裝置130。因此在恢復(fù)程序中,處理器110自儲(chǔ)存裝置130將下一個(gè)操作系統(tǒng)前次儲(chǔ)存的狀態(tài)寫回電子裝置100的內(nèi)存和緩存器之中(步驟420)。如果處理器110在前次的休眠程序中曾經(jīng)壓縮過下一個(gè)操作系統(tǒng)的狀態(tài),則處理器110會(huì)自儲(chǔ)存裝置130讀出下一個(gè)操作系統(tǒng)的狀態(tài),經(jīng)過解壓縮再寫回電子裝置100。然后處理器110恢復(fù)下一個(gè)操作系統(tǒng)的運(yùn)作,從前次切換時(shí)執(zhí)行到的指令繼續(xù)執(zhí)行下一個(gè)操作系統(tǒng)(步驟440)。因?yàn)槊恳粋€(gè)操作系統(tǒng)的狀態(tài)都包括切換時(shí)的處理器110的所有緩存器內(nèi)容,其中包括切換時(shí)處理器110執(zhí)行到的指令地址,所以在恢復(fù)程序中寫回此操作系統(tǒng)的狀態(tài)之后,處理器110可以從上述指令地址恢復(fù)此操作系統(tǒng)的運(yùn)作。在步驟260或步驟270之后,下一個(gè)操作系統(tǒng)成為目前的操作系統(tǒng),然后流程返回步驟220,執(zhí)行目前的操作系統(tǒng),同時(shí)偵測(cè)觸發(fā)事件。接下來,用戶可以繼續(xù)操作電子裝置100,引起觸發(fā)事件以切換操作系統(tǒng)。如以上的流程所述,只要切換到的操作系統(tǒng)在前面有執(zhí)行過,就會(huì)有前次執(zhí)行的狀態(tài)存放在儲(chǔ)存裝置130之中,可以迅速將前次儲(chǔ)存的狀態(tài)寫回電子裝置100,不需要再次執(zhí)行繁雜緩慢的開機(jī)程序,很快就能恢復(fù)下一個(gè)操作系統(tǒng)的運(yùn)作。因此,本實(shí)施例的電子裝置和操作系統(tǒng)切換方法可大幅縮短操作系統(tǒng)的切換時(shí)間。圖3的休眠程序和圖4的恢復(fù)程序可包括在電子裝置100的一個(gè)韌體(firmware)之中,例如電子裝置100的基本輸入輸出系統(tǒng)(BIOS:basic input/output system)。處理器110可通過執(zhí)行上述韌體而執(zhí)行上述的休眠程序和恢復(fù)程序。偵測(cè)模塊120可以是硬件,也可以是軟件,若是軟件,可以是上述韌體其中的一部分。處理器110可以是多核心(mult1-core)的處理器,可以平行處理上述的休眠程序和恢復(fù)程序,以加快操作系統(tǒng)的切換速度。例如可用一個(gè)核心執(zhí)行目前操作系統(tǒng)的休眠程序,同時(shí)用另一個(gè)核心執(zhí)行下一個(gè)操作系統(tǒng)的恢復(fù)程序。不過多核心的平行處理必須注意避免沖突。例如步驟420必須在步驟340完成之后才能執(zhí)行,否則可能目前操作系統(tǒng)的狀態(tài)尚未儲(chǔ)存完畢就被下一個(gè)操作系統(tǒng)的狀態(tài)覆蓋,導(dǎo)致目前操作系統(tǒng)儲(chǔ)存的狀態(tài)不正確。上述的觸發(fā)事件可觸發(fā)操作系統(tǒng)的切換,并且指定要切換到的下一個(gè)操作系統(tǒng)。舉例而言,電子裝置100可以搭配一個(gè)擴(kuò)充基座500,如圖5所示。擴(kuò)充基座500包括鍵盤和觸控面板等輸入接口。上述的觸發(fā)事件可以是電子裝置100連接擴(kuò)充基座500,此時(shí)電子裝置100成為筆記本電腦,可以切換到適合筆記本電腦的操作系統(tǒng)。上述的觸發(fā)事件也可以是電子裝置100和擴(kuò)充基座500分離,此時(shí)電子裝置100成為平板電腦,可以切換到適合移動(dòng)裝置的操作系統(tǒng)。上述的觸發(fā)事件也可以是用戶對(duì)電子裝置100的某一個(gè)硬件接口(例如按鍵或觸控面板)進(jìn)行預(yù)設(shè)操作,例如按下預(yù)設(shè)的按鍵。上述的觸發(fā)事件也可以是用戶對(duì)目前操作系統(tǒng)的一個(gè)軟件接口進(jìn)行預(yù)設(shè)操作以下達(dá)切換命令。如果電子裝置100只安裝兩個(gè)操作系統(tǒng),可用同一個(gè)預(yù)設(shè)操作在兩個(gè)操作系統(tǒng)之間來回切換。如果電子裝置100安裝三個(gè)以上的操作系統(tǒng),可將每一個(gè)操作系統(tǒng)對(duì)應(yīng)到不同的預(yù)設(shè)操作,讓用戶通過對(duì)應(yīng)的預(yù)設(shè)操作來指定要切換到的下一個(gè)操作系統(tǒng)。如果需要修改操作系統(tǒng)以適應(yīng)上述的電子裝置和操作系統(tǒng)切換方法,可以使用Linux操作系統(tǒng)。因?yàn)長(zhǎng)inux操作系統(tǒng)開放所有原始碼,比較容易修改。
綜上所述,以上實(shí)施例的休眠程序可儲(chǔ)存操作系統(tǒng)在切換時(shí)的狀態(tài),恢復(fù)程序可快速寫回操作系統(tǒng)在前次切換時(shí)儲(chǔ)存的狀態(tài),不需要冗長(zhǎng)的重新開機(jī)程序,就能迅速進(jìn)入下一個(gè)操作系統(tǒng)。相對(duì)于傳統(tǒng)的操作系統(tǒng)切換時(shí)的重新開機(jī)所需的數(shù)分鐘之久,本發(fā)明可以將操作系統(tǒng)的切換時(shí)間縮短至數(shù)秒鐘。因此本發(fā)明可以大幅縮短操作系統(tǒng)的切換時(shí)間,增進(jìn)使用的便利性,提高用戶同時(shí)使用多個(gè)操作系統(tǒng)的意愿。上述實(shí)施例僅是為了說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員可在不違背本發(fā)明的技術(shù)原理及精神下,對(duì)實(shí)施例作修改與變化。本發(fā)明的權(quán)利保護(hù)范圍應(yīng)如權(quán)利要求所述。
權(quán)利要求
1.一種操作系統(tǒng)切換方法,包括: 執(zhí)行一第一操作系統(tǒng),并偵測(cè)一觸發(fā)事件; 當(dāng)偵測(cè)到該觸發(fā)事件時(shí),執(zhí)行該第一操作系統(tǒng)的休眠程序; 當(dāng)該觸發(fā)事件所指定的一第二操作系統(tǒng)是第一次執(zhí)行,則執(zhí)行該第二操作系統(tǒng)的開機(jī)程序;以及 當(dāng)該第二操作系統(tǒng)并非第一次執(zhí)行時(shí),則執(zhí)行該第二操作系統(tǒng)的恢復(fù)程序。
2.如權(quán)利要求1所述的方法,在執(zhí)行該第一操作系統(tǒng)之前還包括:執(zhí)行該第一操作系統(tǒng)的開機(jī)程序。
3.如權(quán)利要求1所述的方法,其中該第一操作系統(tǒng)和該第二操作系統(tǒng)由一電子裝置執(zhí)行,該觸發(fā)事件為該電子裝置連接一擴(kuò)充基座、該電子裝置和該擴(kuò)充基座分離、一使用者對(duì)該電子裝置的一硬件接口進(jìn)行一第一預(yù)設(shè)操作、或該使用者對(duì)該第一操作系統(tǒng)的一軟件接口進(jìn)行一第二預(yù)設(shè)操作。
4.如權(quán)利要求1所述的方法,其中該休眠程序包括: 暫停該第一操作系統(tǒng)的所有運(yùn)作;以及 儲(chǔ)存該第一操作系統(tǒng)的狀態(tài); 其中該第一操作系統(tǒng)由一電子裝置執(zhí)行,該第一操作系統(tǒng)的狀態(tài)包括該電子裝置執(zhí)行該第一操作系統(tǒng)所使用到的所有內(nèi)存和緩存器的內(nèi)容。
5.如權(quán)利要求1所述的方法,其中該恢復(fù)程序包括: 寫回該第二操作系統(tǒng)前次儲(chǔ)存的狀態(tài);以及 恢復(fù)該第二操作系統(tǒng)的運(yùn)作; 其中該第二操作系統(tǒng)由一電子裝置執(zhí)行,該第二操作系統(tǒng)的狀態(tài)包括該電子裝置執(zhí)行該第二操作系統(tǒng)所使用到的所有內(nèi)存和緩存器的內(nèi)容,而且寫回該第二操作系統(tǒng)前次儲(chǔ)存的狀態(tài)的步驟包括: 將該第二操作系統(tǒng)前次儲(chǔ)存的狀態(tài)寫回該電子裝置。
6.一種電子裝置,包括: 一偵測(cè)模塊,偵測(cè)一觸發(fā)事件;以及 一處理器,連接該偵測(cè)模塊,執(zhí)行一第一操作系統(tǒng);當(dāng)該偵測(cè)模塊偵測(cè)到該觸發(fā)事件時(shí),該處理器執(zhí)行該第一操作系統(tǒng)的休眠程序;當(dāng)該觸發(fā)事件所指定的一第二操作系統(tǒng)是第一次執(zhí)行,則該處理器執(zhí)行該第二操作系統(tǒng)的開機(jī)程序;當(dāng)該第二操作系統(tǒng)并非第一次執(zhí)行,則該處理器執(zhí)行該第二操作系統(tǒng)的恢復(fù)程序。
7.如權(quán)利要求6所述的電子裝置,其中該觸發(fā)事件為該電子裝置連接一擴(kuò)充基座、該電子裝置和該擴(kuò)充基座分離、一使用者對(duì)該電子裝置的一硬件接口進(jìn)行一第一預(yù)設(shè)操作、或該使用者對(duì)該第一操作系統(tǒng)的一軟件接口進(jìn)行一第二預(yù)設(shè)操作。
8.如權(quán)利要求6所述的電子裝置,其中該電子裝置還包括: 一儲(chǔ)存裝置,連接該處理器,其中,在該休眠程序中,該處理器暫停該第一操作系統(tǒng)的所有運(yùn)作,然后將該第一操作系統(tǒng)的狀態(tài)寫入該儲(chǔ)存裝置; 其中該第一操作系統(tǒng)的狀態(tài)包括該電子裝置執(zhí)行該第一操作系統(tǒng)所使用到的所有內(nèi)存和緩存器的內(nèi)容。
9.如權(quán)利要求6所述的電子裝置,其中該電子裝置還包括:一儲(chǔ)存裝置,連接該處理器,其中,在該恢復(fù)程序中,該處理器自該儲(chǔ)存裝置將該第二操作系統(tǒng)前次儲(chǔ)存的狀態(tài)寫回該電子裝置,然后恢復(fù)該第二操作系統(tǒng)的運(yùn)作,以繼續(xù)執(zhí)行該第二操作系統(tǒng); 其中該第二操作系統(tǒng)的狀態(tài)包括該電子裝置執(zhí)行該第二操作系統(tǒng)所使用到的所有內(nèi)存和緩存器的內(nèi)容。
10.如權(quán)利要求6所述的電子裝置,其中該休眠程序和該恢復(fù)程序包括在該電子裝置的一韌體中,該處 理器通過執(zhí)行該韌體而執(zhí)行該休眠程序和該恢復(fù)程序。
全文摘要
本發(fā)明提出一種電子裝置與其操作系統(tǒng)切換方法,上述方法包括下列步驟執(zhí)行第一操作系統(tǒng),并偵測(cè)一觸發(fā)事件;當(dāng)偵測(cè)到觸發(fā)事件時(shí),執(zhí)行第一操作系統(tǒng)的休眠程序;當(dāng)觸發(fā)事件所指定的第二操作系統(tǒng)是第一次執(zhí)行,則執(zhí)行第二操作系統(tǒng)的開機(jī)程序;當(dāng)?shù)诙僮飨到y(tǒng)并非第一次執(zhí)行,則執(zhí)行第二操作系統(tǒng)的恢復(fù)程序。上述的電子裝置和操作系統(tǒng)切換方法在切換操作系統(tǒng)時(shí)不需要重新開機(jī),所以能大幅縮短切換操作系統(tǒng)所需的時(shí)間。
文檔編號(hào)G06F9/48GK103150210SQ20111040434
公開日2013年6月12日 申請(qǐng)日期2011年12月7日 優(yōu)先權(quán)日2011年12月7日
發(fā)明者張毅偉, 朱俊霖, 辛志浩, 高吏垚 申請(qǐng)人:宏碁股份有限公司