本發(fā)明是有關(guān)于一種系統(tǒng)暫停方法、系統(tǒng)回復(fù)方法及應(yīng)用其的計(jì)算機(jī)系統(tǒng)。
背景技術(shù):
利用休眠技術(shù)(suspend to disk)來達(dá)到快速開機(jī)的方法已廣泛被采用。在休眠模式(S4)中,存儲(chǔ)器的信息被寫入至外部存儲(chǔ)媒體,并停止所有周邊裝置的工作。
在一般休眠技術(shù)的系統(tǒng)暫停程序(system suspend procedure)中,存儲(chǔ)器的內(nèi)容會(huì)被制作成休眠檔(hibernate file),并寫至外部存儲(chǔ)媒體。
在休眠技術(shù)的系統(tǒng)回復(fù)程序(system resume procedure)中,則會(huì)初始化所有的周邊裝置,并加載休眠檔,以回復(fù)所有的周邊裝置。然而,在這樣的系統(tǒng)回復(fù)程序中,必須花費(fèi)相當(dāng)多的時(shí)間進(jìn)行所有周邊裝置的初始化動(dòng)作與回復(fù)動(dòng)作,造成快速開機(jī)執(zhí)行速度的瓶頸。
隨著穿戴式裝置的崛起,如何節(jié)省穿戴式裝置的電力是一項(xiàng)相當(dāng)困難的議題。對(duì)于智能穿戴式裝置(如智能眼鏡)來說,其上可能需要執(zhí)行一個(gè)復(fù)雜的操作系統(tǒng),如Android系統(tǒng),其電力需求相當(dāng)高。因此,針對(duì)智能穿戴式裝置的節(jié)電衍生出不同大小的雙核心的設(shè)計(jì),當(dāng)系統(tǒng)需要執(zhí)行高性能應(yīng)用程序時(shí),便使用高性能的大核心來執(zhí)行,若不需要時(shí)就讓大核心進(jìn)入休眠模式或待機(jī)模式,并關(guān)閉多數(shù)周邊裝置,只保留小核心繼續(xù)運(yùn)行,以節(jié)省更多的電力。要實(shí)現(xiàn)這個(gè)設(shè)計(jì)有一個(gè)關(guān)鍵,便是大核心的系統(tǒng)回復(fù)程序不能太久,才不至于影響到使用者經(jīng)驗(yàn)。因此,需要有更快速的系統(tǒng)回復(fù)程序來解決大核心系統(tǒng)回復(fù)的問題。
此外,隨著非揮發(fā)性存儲(chǔ)器的進(jìn)步,未來將有機(jī)會(huì)逐步取代現(xiàn)有的動(dòng)態(tài)存取存儲(chǔ)器(DRAM)。利用休眠技術(shù)的快速開機(jī)方法也將逐漸轉(zhuǎn)成利用待機(jī)技術(shù)(suspend to ram)的快速開機(jī)方法(待機(jī)技術(shù)又稱睡眠技術(shù))。 存儲(chǔ)器的內(nèi)容將直接被保留在非揮發(fā)存儲(chǔ)器中,而不需要再寫出到外部存儲(chǔ)媒體。
在一般待機(jī)技術(shù)的系統(tǒng)回復(fù)程序中,雖然少了休眠檔的讀取動(dòng)作。但仍須初始化與回復(fù)所有的周邊裝置。在這樣的系統(tǒng)回復(fù)程序中,仍必須花費(fèi)相當(dāng)多的時(shí)間進(jìn)行所有周邊裝置的初始化動(dòng)作與回復(fù)動(dòng)作,也造成快速開機(jī)流程的瓶頸。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明有關(guān)于一種系統(tǒng)暫停方法、系統(tǒng)回復(fù)方法及應(yīng)用其的計(jì)算機(jī)系統(tǒng)。
根據(jù)本發(fā)明的第一方面,提出一種計(jì)算機(jī)系統(tǒng)的系統(tǒng)暫停方法。計(jì)算機(jī)系統(tǒng)的系統(tǒng)暫停方法用以使一計(jì)算機(jī)系統(tǒng)進(jìn)入一待機(jī)模式(S3)或一休眠模式(S4)。計(jì)算機(jī)系統(tǒng)包括多個(gè)周邊裝置及一中央處理器。計(jì)算機(jī)系統(tǒng)的系統(tǒng)暫停方法包括以下步驟。凍結(jié)(freeze)計(jì)算機(jī)系統(tǒng)的運(yùn)作。暫停(suspend)這些周邊裝置。這些周邊裝置被分類為一第一類別及一第二類別。屬于第一類別的這些周邊裝置于計(jì)算機(jī)系統(tǒng)進(jìn)行一系統(tǒng)回復(fù)程序時(shí),均被回復(fù)(resume)。屬于第二類別的這些周邊裝置于計(jì)算機(jī)系統(tǒng)攔截到一使用需求時(shí),才被回復(fù)。關(guān)閉中央處理器的電力。
根據(jù)本發(fā)明的第二方面,提出一種計(jì)算機(jī)系統(tǒng)的系統(tǒng)回復(fù)方法。計(jì)算機(jī)系統(tǒng)的系統(tǒng)回復(fù)方法用以使一計(jì)算機(jī)系統(tǒng)從一待機(jī)狀態(tài)(S3)或一休眠狀態(tài)(S4)回復(fù)至一開機(jī)狀態(tài)(S0)。計(jì)算機(jī)系統(tǒng)包括多個(gè)周邊裝置及一中央處理器。這些周邊裝置被分類為一第一類別及一第二類別。計(jì)算機(jī)系統(tǒng)的系統(tǒng)回復(fù)方法包括以下步驟。開啟中央處理器的電力。僅回復(fù)(resume)屬于第一類別的這些周邊裝置。解凍(thaw)計(jì)算機(jī)系統(tǒng)的運(yùn)作。
根據(jù)本發(fā)明的第三方面,提出一種計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)包括多個(gè)周邊裝置、一中央處理器及一電源管理接口。中央處理器用以控制這些周邊裝置。電源管理接口用以執(zhí)行一系統(tǒng)暫停程序,以使計(jì)算機(jī)系統(tǒng)進(jìn)入一待機(jī)模式(S3)或一休眠模式(S4)。于系統(tǒng)暫停程序中,電源管理接口用以凍結(jié)(freeze)計(jì)算機(jī)系統(tǒng)的運(yùn)作、暫停(suspend)這些周邊裝置、 并關(guān)閉中央處理器的電力。電源管理接口分類這些周邊裝置為一第一類別及一第二類。屬于第一類別的這些周邊裝置于計(jì)算機(jī)系統(tǒng)進(jìn)行一系統(tǒng)回復(fù)程序時(shí),均被回復(fù)(resume)。屬于第二類別的這些周邊裝置于計(jì)算機(jī)系統(tǒng)攔截到一使用需求時(shí),才被回復(fù)。
附圖說明
圖1為計(jì)算機(jī)系統(tǒng)的示意圖。
圖2為計(jì)算機(jī)系統(tǒng)采用“周邊裝置需求性回復(fù)機(jī)制”進(jìn)入休眠模式的系統(tǒng)暫停方法的流程圖。
圖3為計(jì)算機(jī)系統(tǒng)采用“周邊裝置需求性回復(fù)機(jī)制”離開休眠模式的系統(tǒng)回復(fù)方法的流程圖。
圖4為電源管理接口實(shí)施“周邊裝置需求性回復(fù)機(jī)制”的示意圖。
圖5為計(jì)算機(jī)系統(tǒng)采用“周邊裝置需求性回復(fù)機(jī)制”進(jìn)入待機(jī)模式的系統(tǒng)暫停方法的流程圖。
圖6為計(jì)算機(jī)系統(tǒng)采用“周邊裝置需求性回復(fù)機(jī)制”機(jī)制離開待機(jī)模式的系統(tǒng)回復(fù)方法的流程圖。
圖7為Linux操作系統(tǒng)環(huán)境的示意圖。
圖8為Linux操作系統(tǒng)環(huán)境進(jìn)行存儲(chǔ)器映像的示意圖。
附圖標(biāo)記說明
100:計(jì)算機(jī)系統(tǒng)
110:中央處理器
120:電源管理接口
121:默認(rèn)回復(fù)單元
122:攔截單元
123:需求性回復(fù)單元
130:存儲(chǔ)器
140:外部存儲(chǔ)裝置
150:周邊裝置
710:存儲(chǔ)器映射相關(guān)分頁
720:頁面錯(cuò)誤處理程序
910:應(yīng)用程序
920:GNU C函數(shù)庫
930:系統(tǒng)呼叫接口
940:虛擬文件系統(tǒng)
950:索引節(jié)點(diǎn)快取
960:目錄快取
970:個(gè)別文件系統(tǒng)
980:緩沖快取
990:裝置驅(qū)動(dòng)器
KS:核心空間
Q1:使用需求
R1:第一類別
R2:第二類別
S210、S220、S230、S240、S250、S310、S320、S330、S340、S350、S360、S370、S380、S381、S382、S510、S520、S530、S540、S550、S610、S620、S630、S640、S650、S660、S670、S671、S672:流程步驟
US:用戶空間
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明在系統(tǒng)回復(fù)程序(system resume procedure)中,提出一個(gè)“周邊裝置依需求回復(fù)機(jī)制(peripheral resume on demand)”,而僅回復(fù)(resume)立即必要的周邊裝置,并讓不立即必要的周邊裝置保留為暫停狀態(tài)、或假裝為已經(jīng)成功回復(fù)的偽回復(fù)(fake resumed)狀態(tài),并繞行(bypass)系統(tǒng)回復(fù)程序。待系統(tǒng)回復(fù)程序完成后,應(yīng)用程序?qū)和顟B(tài)或偽回復(fù)狀態(tài)的周邊裝置提出使用需求時(shí),再對(duì)暫停狀態(tài)或偽回復(fù)狀態(tài)的周邊裝置進(jìn)行回復(fù)的動(dòng)作。如此一來,系統(tǒng)回復(fù)程序可以通過減少需要回復(fù)的周邊裝置數(shù)量來縮短系統(tǒng)回復(fù)程序的運(yùn)行時(shí)間。
請(qǐng)參照?qǐng)D1,其為計(jì)算機(jī)系統(tǒng)100的示意圖。計(jì)算機(jī)系統(tǒng)100包括一 中央處理器110、一電源管理接口120、一存儲(chǔ)器130、一外部存儲(chǔ)裝置140及多個(gè)周邊裝置150。周邊裝置150例如是顯面板、觸控面板、擴(kuò)音器、照相機(jī)、或通用串行總線(USB)。周邊裝置150分為第一類別R1與第二類別R2。第一類別R1的周邊裝置150與前臺(tái)程序相關(guān),在系統(tǒng)回復(fù)程序中需立即必要回復(fù)。第二類別R2的周邊裝置150與前臺(tái)程序無關(guān),在系統(tǒng)回復(fù)程序中不立即必要回復(fù)。舉例來說,第一類別R1的周邊裝置150例如是顯示面板、或觸控面板。第二類別R2的周邊裝置150例如是擴(kuò)音器、照相機(jī)、或通用串行總線。
請(qǐng)參照?qǐng)D1及圖2,圖2為計(jì)算機(jī)系統(tǒng)100采用“周邊裝置需求性回復(fù)機(jī)制”進(jìn)入休眠模式(S4)的系統(tǒng)暫停方法的流程圖。首先,在步驟S210中,凍結(jié)(freeze)計(jì)算機(jī)系統(tǒng)100的運(yùn)作。
接著,在步驟S220中,暫停(suspend)全部的周邊裝置150,并變更周邊裝置150為暫停狀態(tài)。這些周邊裝置150被分類為第一類別R1及第二類別R2。在此步驟中,電源管理接口120可以對(duì)屬于第一類別R1的各個(gè)周邊裝置150注記一預(yù)定標(biāo)簽?;蛘?,電源管理接口120可以將屬于第一類別R1的周邊裝置150記錄于一預(yù)定列表。后續(xù)僅需查詢注記內(nèi)容或預(yù)定列表即可得知此周邊裝置150是否屬于第一類別R1。屬于第一類別R1的周邊裝置150于計(jì)算機(jī)系統(tǒng)100進(jìn)行系統(tǒng)回復(fù)程序時(shí),均會(huì)被回復(fù)(resume)。屬于第二類別R2的周邊裝置150于計(jì)算機(jī)系統(tǒng)100攔截到一使用需求Q1(如圖4所示)時(shí),才會(huì)被回復(fù)。在此步驟中,所有周邊裝置150均進(jìn)入暫停狀態(tài)(或關(guān)電狀態(tài)),但所有周邊裝置150仍保持與操作系統(tǒng)的連結(jié),而未卸除。使得所有的周邊裝置150皆能夠被回復(fù)到暫停前的狀態(tài),而非僅僅只能初始化到預(yù)設(shè)啟動(dòng)狀態(tài)。
在步驟S230中,將存儲(chǔ)器130的內(nèi)容制作成一休眠文件(hibernate file),以記錄存儲(chǔ)器130對(duì)應(yīng)于所有周邊裝置150的內(nèi)容。在此步驟中,不論是第一類別R1還是第二類別R2,所有的周邊裝置150在暫停前的狀態(tài)均會(huì)被記錄在休眠文件中。
在步驟S240,將休眠文件存儲(chǔ)于外部存儲(chǔ)裝置140中,以存儲(chǔ)存儲(chǔ)器130對(duì)應(yīng)于所有周邊裝置150的內(nèi)容至外部存儲(chǔ)裝置140。
在步驟S250中,關(guān)閉中央處理器110及存儲(chǔ)器130等大部分元件的 電力。
請(qǐng)?jiān)賲⒄請(qǐng)D1及圖3,圖3為計(jì)算機(jī)系統(tǒng)100采用“周邊裝置需求性回復(fù)機(jī)制”離開休眠模式(S4)的系統(tǒng)回復(fù)方法的流程圖。首先,在步驟S310中,開啟中央處理器110、存儲(chǔ)器130、外部存儲(chǔ)裝置140等各項(xiàng)元件的電力。
在步驟S320中,由啟動(dòng)程序(Boot-loader)進(jìn)行簡單的初始化。
在步驟S330中,加載核心(kernel),對(duì)核心進(jìn)行詳細(xì)的初始化。
在步驟S340中,對(duì)屬于第一類別R1的周邊裝置150進(jìn)行初始化。屬于第二類別R2的周邊裝置150則保持在暫停狀態(tài)、或變更為偽回復(fù)狀態(tài)。通過減少需要進(jìn)行初始化的周邊裝置150的數(shù)量,可以縮短系統(tǒng)回復(fù)程序所需的時(shí)間。
在步驟S350中,載入休眠檔,還原暫停前存儲(chǔ)器130的內(nèi)容。
在步驟S360中,僅回復(fù)(resume)屬于第一類別R1的周邊裝置150。屬于第二類別R2的周邊裝置150保持在暫停狀態(tài)或變更為偽回復(fù)狀態(tài)。通過減少需要進(jìn)行回復(fù)的周邊裝置150的數(shù)量,可以縮短系統(tǒng)回復(fù)程序所需的時(shí)間。
在步驟S370中,解凍計(jì)算機(jī)系統(tǒng)100的運(yùn)作。至此即完成系統(tǒng)回復(fù)程序。
接下來,在步驟S380中,進(jìn)行“周邊裝置需求性回復(fù)機(jī)制”。請(qǐng)參照?qǐng)D3及圖4,圖4為電源管理接口120實(shí)施“周邊裝置需求性回復(fù)機(jī)制”的示意圖。電源管理接口120包括一默認(rèn)回復(fù)單元121、一攔截單元122及一需求性回復(fù)單元123。在步驟S340及S360中,默認(rèn)回復(fù)單元121用以初始化并回復(fù)屬于第一類別R1的周邊裝置150。在步驟S381中,攔截單元122攔截用戶空間(user space)US的應(yīng)用程序910發(fā)出的使用需求Q1。在步驟S382中,需求性回復(fù)單元123依據(jù)此使用需求Q1,比對(duì)所對(duì)應(yīng)的周邊裝置150是否為暫停狀態(tài)或偽回復(fù)狀態(tài)。若此周邊裝置150為暫停狀態(tài)或偽回復(fù)狀態(tài),則此周邊裝置150屬于第二類別R2。需求性回復(fù)單元123則初始化并回復(fù)對(duì)應(yīng)于使用需求Q1的屬于第二類別R2的周邊裝置150。
如此一來,系統(tǒng)回復(fù)程序中,只需初始化及回復(fù)部分周邊裝置150(即 第一類別R1),另一部份的周邊裝置150(即第二類別R2)則待截取到應(yīng)用程序910的使用需求Q1后才初始化并回復(fù),使得上述系統(tǒng)回復(fù)程序應(yīng)用于快速開機(jī)技術(shù)時(shí),更能有有效縮短開機(jī)所需的時(shí)間。
除了休眠技術(shù)以外,利用待機(jī)技術(shù)(suspend to ram)的快速開機(jī)方法(待機(jī)技術(shù)又稱睡眠技術(shù))也適用上述“周邊裝置需求性回復(fù)機(jī)制”。請(qǐng)參照?qǐng)D1及圖5,圖5為計(jì)算機(jī)系統(tǒng)100采用“周邊裝置需求性回復(fù)機(jī)制”進(jìn)入待機(jī)模式(S3)的系統(tǒng)暫停方法的流程圖。首先,在步驟S510中,凍結(jié)(freeze)計(jì)算機(jī)系統(tǒng)100的運(yùn)作。
接著,在步驟S520中,暫停(suspend)全部的周邊裝置150,變更周邊裝置150為暫停狀態(tài),這些周邊裝置150被分類為第一類別R1及第二類別R2。在此步驟中,電源管理接口120可以對(duì)屬于第一類別R1之各個(gè)周邊裝置150注記預(yù)定卷標(biāo)?;蛘撸娫垂芾斫涌?20可以對(duì)屬于第一類別R1的周邊裝置記錄于預(yù)定列表。后續(xù)僅需查詢注記內(nèi)容、或此列表即可得知此周邊裝置150是否屬于第一類別R1。屬于第一類別R1之周邊裝置150于計(jì)算機(jī)系統(tǒng)100進(jìn)行系統(tǒng)回復(fù)程序時(shí),均被回復(fù)(resume)。屬于第二類別R2的周邊裝置150于計(jì)算機(jī)系統(tǒng)100攔截到使用需求Q1(如圖4所示)時(shí),才被回復(fù)。在此步驟中,所有周邊裝置150均進(jìn)入暫停狀態(tài)(或關(guān)電狀態(tài)),但所有周邊裝置150仍保持與操作系統(tǒng)的連結(jié),而未卸除。使得所有的周邊裝置150皆能夠被回復(fù)到暫停前的狀態(tài),而非僅僅只能初始化到預(yù)設(shè)啟動(dòng)狀態(tài)。
在步驟S530中,存儲(chǔ)存儲(chǔ)器130的內(nèi)容,以記錄存儲(chǔ)器130對(duì)應(yīng)于所有周邊裝置150的內(nèi)容。在此步驟中,不論是第一類別R1還是第二類別R2,所有的周邊裝置150在暫停前的狀態(tài)均會(huì)被存儲(chǔ)。
在步驟S540,將存儲(chǔ)器130設(shè)定為刷新模式(refresh mode)。
在步驟S550中,關(guān)閉中央處理器110等大部分元件的電力。
請(qǐng)?jiān)賲⒄盏?及6圖,第6圖為計(jì)算機(jī)系統(tǒng)100采用“周邊裝置需求性回復(fù)機(jī)制”機(jī)制離開待機(jī)模式(S3)的系統(tǒng)回復(fù)方法的流程圖。首先,在步驟S610中,開啟中央處理器110、存儲(chǔ)器130、外部存儲(chǔ)裝置140等各項(xiàng)元件的電力。
在步驟S620中,喚醒中央處理器110。
在步驟S630中,將存儲(chǔ)器130恢復(fù)成正常模式(normal mode)。
在步驟S640中,將系統(tǒng)狀態(tài)恢復(fù)。
在步驟S650中,僅回復(fù)(resume)屬于第一類別R1的周邊裝置150。屬于第二類別R2的周邊裝置150保持為暫停狀態(tài)或變更為偽回復(fù)狀態(tài)。通過減少需要進(jìn)行回復(fù)的周邊裝置150的數(shù)量,可以縮短系統(tǒng)回復(fù)程序所需的時(shí)間。
在步驟S660中,解凍計(jì)算機(jī)系統(tǒng)100的運(yùn)作。至此即完成系統(tǒng)回復(fù)程序。
接下來,在步驟S670中,進(jìn)行“周邊裝置需求性回復(fù)機(jī)制”。請(qǐng)參照?qǐng)D4及圖6,在步驟S650中,默認(rèn)回復(fù)單元121用以回復(fù)屬于第一類別R1的周邊裝置150。在步驟S671中,攔截單元122攔截用戶空間(user space)的應(yīng)用程序910發(fā)出的使用需求Q1。在步驟S672中,需求性回復(fù)單元123依據(jù)此使用需求Q1,初始化并回復(fù)對(duì)應(yīng)于使用需求Q1的屬于第二類別R2的周邊裝置150。
在一實(shí)施例中,進(jìn)行某一周邊裝置150初始化與回復(fù)動(dòng)作時(shí),可連同其依附的周邊裝置150一同回復(fù)。周邊裝置150之間的依附關(guān)系可以預(yù)先設(shè)立、或者可于計(jì)算機(jī)系統(tǒng)100進(jìn)行正常開機(jī)程序時(shí)在初始化步驟建立、或者可于計(jì)算機(jī)系統(tǒng)100進(jìn)行系統(tǒng)暫停程序時(shí)建立。
上述周邊裝置150的分類可以依據(jù)與前臺(tái)程序的相關(guān)性來做區(qū)分。或者,在另一實(shí)施例中,周邊裝置150的分類可由使用者來設(shè)定。
此外,偽回復(fù)狀態(tài)可利用原來的裝置狀態(tài)變量來標(biāo)記,亦可另外建立一變量或列表予以注記。
請(qǐng)參照?qǐng)D7,其為Linux操作系統(tǒng)環(huán)境的示意圖。Linux操作系統(tǒng)包含用戶空間(user space)US及核心空間(kernel space)KS。應(yīng)用程序(application)910及GNU C函數(shù)庫(GNU C library)920位于用戶空間US。系統(tǒng)呼叫接口(system call interface)930、虛擬文件系統(tǒng)(virtual file system)940、索引節(jié)點(diǎn)快取(inode cache)950、目錄快取(directory cache)960、個(gè)別文件系統(tǒng)(individual file system)970、緩沖快取(buffer cache)980及裝置驅(qū)動(dòng)器(device driver)990位于核心空間KS。在Linux操作系統(tǒng)環(huán)境中,周邊裝置150皆以檔案(file)的形式呈現(xiàn)。應(yīng)用程序910以系 統(tǒng)呼叫(system call)與周邊裝置150進(jìn)行溝通,上述攔截單元122可以在系統(tǒng)呼叫接口930攔截到使用需求Q1,例如open、read、write、ioctl呼叫。當(dāng)攔截單元122攔截到使用需求Q1時(shí),即判斷周邊裝置150的狀態(tài)。若此周邊裝置150屬于暫停狀態(tài)或偽回復(fù)狀態(tài),則由需求性回復(fù)單元123進(jìn)行初始化與回復(fù)動(dòng)作,并將此周邊裝置150變更為正常狀態(tài)。完成后再響應(yīng)使用需求Q1。
請(qǐng)參照?qǐng)D8,其為Linux操作系統(tǒng)環(huán)境進(jìn)行存儲(chǔ)器映像的示意圖。在Linux操作系統(tǒng)環(huán)境中,對(duì)于周邊裝置150的操作亦可透過存儲(chǔ)器映像(mmap)的方式進(jìn)行,可以在系統(tǒng)暫停程序進(jìn)行時(shí),將對(duì)應(yīng)到第二類別R2的周邊裝置150的存儲(chǔ)器映像相關(guān)分頁(mmaped page)710的權(quán)限設(shè)定成“不可擦寫”,在系統(tǒng)回復(fù)程序完成后,應(yīng)用程序910若利用存儲(chǔ)器映像之存儲(chǔ)器空間對(duì)此周邊裝置150進(jìn)行操作時(shí),將會(huì)引發(fā)頁缺失(page fault)PG的中斷。頁面錯(cuò)誤處理程序(page fault handler)720進(jìn)行周邊裝置150的狀態(tài)判斷,若此周邊裝置150為暫停狀態(tài)或偽回復(fù)狀態(tài),則由需求性回復(fù)單元123進(jìn)行初始化與回復(fù)動(dòng)作,并將此周邊裝置150變更為正常狀態(tài)。完成后再響應(yīng)應(yīng)用程序910的使用需求Q1。
根據(jù)上述實(shí)施例,“周邊裝置依需求回復(fù)機(jī)制”可以僅回復(fù)(resume)立即必要的周邊裝置,而讓不立即必要的周邊裝置保留為暫停狀態(tài)、或假裝為已經(jīng)成功回復(fù)的偽回復(fù)(fake resumed)狀態(tài),并繞行(bypass)系統(tǒng)回復(fù)程序,待系統(tǒng)回復(fù)程序完成后,應(yīng)用程序?qū)和顟B(tài)或偽回復(fù)狀態(tài)的周邊裝置提出使用需求時(shí),再對(duì)暫停狀態(tài)或偽回復(fù)狀態(tài)的周邊裝置進(jìn)行回復(fù)的動(dòng)作。如此一來,系統(tǒng)回復(fù)程序可以通過減少需要回復(fù)的周邊裝置數(shù)量來縮短系統(tǒng)回復(fù)程序的運(yùn)行時(shí)間,以此加速開機(jī)速度。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。