專利名稱:執(zhí)行快速啟動(dòng)喚醒的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體涉及執(zhí)行快速啟動(dòng)喚醒(fast boot wake-up)的處理系統(tǒng)。更具體而言,本發(fā)明可通過在系統(tǒng)啟動(dòng)期間對(duì)映象文件系統(tǒng)(imagefilesystem)的選擇性拷貝來執(zhí)行快速啟動(dòng)喚醒操作。
背景技術(shù):
諸如嵌入式系統(tǒng)這樣的處理系統(tǒng),可被廣泛用在民用應(yīng)用系統(tǒng)和商用應(yīng)用系統(tǒng)中。諸如包含在自動(dòng)遠(yuǎn)程信息處理系統(tǒng)中的那些應(yīng)用系統(tǒng)對(duì)處理系統(tǒng)的操作有很大的約束。對(duì)系統(tǒng)功耗的約束可能需要系統(tǒng)以低功率模式進(jìn)行操作。而系統(tǒng)響應(yīng)時(shí)間約束可能需要最小化系統(tǒng)的起動(dòng)(startup)時(shí)間和/或喚醒時(shí)間。
但通常很難設(shè)計(jì)出一種能充分使功率約束和響應(yīng)時(shí)間約束這二者彼此平衡的處理系統(tǒng)。每次系統(tǒng)進(jìn)入低功率模式(由功率約束規(guī)定的)時(shí),它都必須在能很容易響應(yīng)各種系統(tǒng)事件之前執(zhí)行喚醒操作。然而,喚醒操作的持續(xù)時(shí)間必須落在對(duì)系統(tǒng)的響應(yīng)時(shí)間約束的范圍內(nèi)。
如果處理器在低功率模式期間已經(jīng)被切斷電源,則喚醒操作包括處理系統(tǒng)的完整的重啟過程。完整的重啟過程是相當(dāng)耗時(shí)的,在利用映象文件系統(tǒng)的嵌入式系統(tǒng)中尤其是這樣的。在這樣的嵌入式系統(tǒng)中,映象文件系統(tǒng)的完整復(fù)制件被從只讀存儲(chǔ)器轉(zhuǎn)移到處理器使用的隨機(jī)存取存儲(chǔ)器處。映象文件系統(tǒng)可包含嵌入式系統(tǒng)所用的操作系統(tǒng)、該嵌入式系統(tǒng)中使用的可執(zhí)行程序、和/或可能與程序有關(guān)的任意數(shù)據(jù)文件。因此,其可能相當(dāng)大,并且執(zhí)行這種轉(zhuǎn)移需要大量的時(shí)間和處理功率。在這種轉(zhuǎn)移期間,處理系統(tǒng)通常對(duì)大多數(shù)該系統(tǒng)被設(shè)計(jì)來處理的事件不做響應(yīng)。因此,系統(tǒng)的響應(yīng)時(shí)間受到轉(zhuǎn)移持續(xù)時(shí)間的影響。
已經(jīng)嘗試過設(shè)計(jì)具有低功率模式的處理系統(tǒng),利用這種處理系統(tǒng)可以作出快速的系統(tǒng)恢復(fù)。大多數(shù)這樣的嘗試致力于驅(qū)使處理器處于休眠模式。然而,即使在休眠模式中,處理器也可以大致耗盡系統(tǒng)的電能供應(yīng)(power supply),從而超出功耗限制。更進(jìn)一步地,可能需要相當(dāng)多的程序代碼才能實(shí)現(xiàn)這種類型的系統(tǒng)。因此,希望有既實(shí)現(xiàn)了快速啟動(dòng)喚醒又實(shí)現(xiàn)了低功率模式的改進(jìn)系統(tǒng)。此外,還希望有能響應(yīng)其它系統(tǒng)事件而進(jìn)行快速啟動(dòng)喚醒的改進(jìn)系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明提供了一種處理系統(tǒng),其包括處理器、存儲(chǔ)可由處理器訪問的操作系統(tǒng)映象文件的只讀存儲(chǔ)器和可由處理器進(jìn)行訪問的隨機(jī)存取存儲(chǔ)器。處理系統(tǒng)還包括引導(dǎo)程序,該引導(dǎo)程序可由處理器執(zhí)行以響應(yīng)例如接通電源事件、復(fù)位事件或喚醒事件而對(duì)處理系統(tǒng)進(jìn)行初始化。當(dāng)最初向處理系統(tǒng)提供電源時(shí),發(fā)生接通電源事件;而在處理系統(tǒng)退出低功率操作模式時(shí),發(fā)生喚醒事件。當(dāng)例如檢測(cè)出致使系統(tǒng)重新啟動(dòng)的故障時(shí),則發(fā)生復(fù)位事件。引導(dǎo)程序(boot program)選擇性地執(zhí)行將操作系統(tǒng)映象文件從只讀存儲(chǔ)器拷貝到隨機(jī)存取存儲(chǔ)器的完全啟動(dòng)拷貝,和只將操作系統(tǒng)映象文件的預(yù)定部分從只讀存儲(chǔ)器拷貝到隨機(jī)存取存儲(chǔ)器中的快速啟動(dòng)拷貝。例如,引導(dǎo)程序可在為響應(yīng)接通電源事件時(shí)執(zhí)行完全啟動(dòng)拷貝操作,而在為響應(yīng)喚醒事件和/或復(fù)位事件時(shí)執(zhí)行快速啟動(dòng)拷貝操作。更進(jìn)一步的,引導(dǎo)程序可將快速啟動(dòng)拷貝操作的執(zhí)行限制成在以下這些情況中才進(jìn)行,即隨機(jī)存取存儲(chǔ)器通過了對(duì)一個(gè)或多個(gè)包含了操作系統(tǒng)選定部分的區(qū)域的內(nèi)容進(jìn)行的完整性檢查,其中該操作系統(tǒng)是在之前的完全啟動(dòng)拷貝操作期間從只讀存儲(chǔ)器中拷貝來的。
在一個(gè)實(shí)例中,引導(dǎo)程序包括初始程序加載程序,該初始程序加載程序被存儲(chǔ)在與處理器復(fù)位向量相對(duì)應(yīng)的只讀存儲(chǔ)器起始位置。初始程序加載程序可由處理器從起始于該起始位置的只讀存儲(chǔ)器中來執(zhí)行。引導(dǎo)程序也包括了起動(dòng)程序,該起動(dòng)程序由處理器執(zhí)行的初始程序加載程序載入到隨機(jī)存取存儲(chǔ)器中。
根據(jù)對(duì)以下附圖和詳細(xì)描述的理解,對(duì)于本領(lǐng)域技術(shù)人員來說,其他系統(tǒng)、方法、特征和發(fā)明的優(yōu)點(diǎn)將會(huì)很明顯或者將變得很明顯。在該描述中包括的所有這樣的附加系統(tǒng)、方法、特征和優(yōu)點(diǎn)都意欲落在本發(fā)明的范圍內(nèi),并受所附權(quán)利要求的保護(hù)。
附圖簡(jiǎn)要說明通過參考以下附圖和說明可更好地理解本發(fā)明。附圖中的元件主要是用來說明本發(fā)明的原則的,而不必被看作是對(duì)實(shí)際大小的按比例縮放。此外,在這些圖中,各個(gè)不同視圖中的相似的附圖標(biāo)記表示相應(yīng)的部分。
圖1是可用于實(shí)現(xiàn)從低功率模式和/或系統(tǒng)復(fù)位進(jìn)行快速啟動(dòng)喚醒的示例性系統(tǒng)的基本元件的框圖。
圖2是說明可以操作圖1中的系統(tǒng)來實(shí)現(xiàn)從低功率模式和/或系統(tǒng)復(fù)位進(jìn)行快速啟動(dòng)喚醒的一種方式的流程圖。
圖3是顯示在圖1的系統(tǒng)中執(zhí)行完全啟動(dòng)拷貝操作的一種方式的圖。
圖4是顯示在圖1的系統(tǒng)中執(zhí)行快速啟動(dòng)拷貝操作的一種方式的圖。
圖5是可用于從低功率模式和/或系統(tǒng)復(fù)位實(shí)現(xiàn)快速啟動(dòng)喚醒的另一個(gè)示例性系統(tǒng)基本元件的框圖。
圖6是顯示在圖5系統(tǒng)中執(zhí)行完全啟動(dòng)拷貝操作的一種方式的圖。
圖7是顯示在圖5系統(tǒng)中執(zhí)行快速啟動(dòng)拷貝操作的一種方式的圖。
圖8是一種操作圖1和圖5所示系統(tǒng)以實(shí)現(xiàn)從低功率模式和/或系統(tǒng)復(fù)位實(shí)現(xiàn)快速啟動(dòng)喚醒,同時(shí)使用小型驅(qū)動(dòng)來控制外圍元件和/或其它系統(tǒng)并且/或者與外圍元件和/或其它系統(tǒng)進(jìn)行通信的方式的流程圖。
圖9是說明指引圖1和圖5所示的系統(tǒng)進(jìn)入低功率操作模式的一種方式的流程圖。
具體實(shí)施例方式
圖1是可用于實(shí)現(xiàn)從低功率模式進(jìn)行快速啟動(dòng)喚醒的示例性系統(tǒng)的基本元件的框圖。系統(tǒng)100包括可訪問I/O接口110的處理器105、隨機(jī)存取存儲(chǔ)器115和只讀存儲(chǔ)器120。I/O接口110允許處理器105與一個(gè)或多個(gè)外圍元件進(jìn)行交互。外圍元件可與I/O接口110的元件相互獨(dú)立,或者可與I/O接口110的元件集成在一起。隨機(jī)存取存儲(chǔ)器115可以多種不同的方式來實(shí)現(xiàn),這些方式例如包括通過使用一個(gè)或多個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的技術(shù)來實(shí)現(xiàn)。在一種實(shí)現(xiàn)方法中,存儲(chǔ)器115通過利用一個(gè)或多個(gè)可被指引成自我更新操作模式的隨機(jī)存取存儲(chǔ)器單元來實(shí)現(xiàn)。同樣地,只讀存儲(chǔ)器120也可以多種不同方式來實(shí)現(xiàn),這些方式例如包括使用一個(gè)或多個(gè)閃存的技術(shù)來實(shí)現(xiàn)。
處理器105也可以被連接成來接收和控制看門狗計(jì)時(shí)器123??撮T狗計(jì)時(shí)器123可用于在如果系統(tǒng)出錯(cuò)時(shí)來復(fù)位處理器105。例如,當(dāng)處理器105臨時(shí)出故障時(shí),將停止與看門狗計(jì)時(shí)器123的周期性通信。周期性通信的這種中斷將致使看門狗計(jì)時(shí)器123沿例如一條或多條信號(hào)線130來向處理器105發(fā)出一個(gè)或多個(gè)復(fù)位信號(hào)。
系統(tǒng)100還可包括功率控制器125,其直接或間接地從處理器105處接收功率控制命令。此外,或可替代地,功率控制器125可從諸如另一個(gè)電源、外部元件、開關(guān)或類似器件這樣的外部信源處接收功率控制信號(hào)。功率控制器125對(duì)這些功率命令和/或功率控制信號(hào)作出響應(yīng),以指引系統(tǒng)100進(jìn)入低功率模式或是從低功率模式喚醒。另外的功能性也可與功率控制器125相關(guān)聯(lián),以指引系統(tǒng)100通過初始加電(power up)操作。初始的加電操作發(fā)生在系統(tǒng)已經(jīng)徹底關(guān)閉后向系統(tǒng)100供應(yīng)電能的時(shí)候。復(fù)位信號(hào)從功率控制器125沿一條或多條信號(hào)線130供應(yīng)給處理器105。在圖示的系統(tǒng)中,看門狗計(jì)時(shí)器123還可沿相同的信號(hào)線發(fā)出復(fù)位信號(hào)。復(fù)位信號(hào)為響應(yīng)系統(tǒng)喚醒事件而進(jìn)入激活狀態(tài),并且此外,可以為響應(yīng)初始的加電事件而被激活。處理器105通過嘗試執(zhí)行存儲(chǔ)在由復(fù)位向量135標(biāo)識(shí)的存儲(chǔ)器位置處的匯編語言(assemblylanguage)代碼來響應(yīng)激活復(fù)位信號(hào)的發(fā)生。
可參考處理系統(tǒng)的特定應(yīng)用來選擇系統(tǒng)100使用的操作系統(tǒng)。例如,嵌入式應(yīng)用系統(tǒng)可以使用可從QNX Software Systems處獲得的Neutrino操作系統(tǒng),或類似的操作系統(tǒng)。在這樣的嵌入式應(yīng)用系統(tǒng)中,操作系統(tǒng)被嵌入存儲(chǔ)在只讀存儲(chǔ)器120中的映象文件系統(tǒng)140中。映象文件系統(tǒng)140可包含系統(tǒng)100所用的操作系統(tǒng),系統(tǒng)100中使用的可執(zhí)行程序,和/或與程序有關(guān)的任意數(shù)據(jù)文件。它還可以包含較小的目錄結(jié)構(gòu),該目錄結(jié)構(gòu)標(biāo)識(shí)了系統(tǒng)100內(nèi)所含文件的名字和位置,以供操作系統(tǒng)的內(nèi)核參考使用。
在圖1所示的實(shí)例中,只讀存儲(chǔ)器120也包括更進(jìn)一步的程序代碼。更具體而言,只讀存儲(chǔ)器120包括用于初始化系統(tǒng)100的引導(dǎo)程序(bootprogram)。在此實(shí)例中,引導(dǎo)程序包括初始程序加載程序(initial programloader)145和起動(dòng)程序150。初始程序加載程序145的起始位置與復(fù)位向量135相對(duì)應(yīng)。起動(dòng)程序150可包括起動(dòng)標(biāo)題155和相應(yīng)的程序代碼160。
圖2中顯示了對(duì)系統(tǒng)100進(jìn)行操作的一種方式。在此實(shí)例中,在方框205處檢測(cè)系統(tǒng)喚醒事件(wake up event)。發(fā)生喚醒事件用來指引系統(tǒng)100退出低功率模式并進(jìn)入,例如,正常操作模式,在該正常操作模式中所有的系統(tǒng)服務(wù)都起作用。如果將處于低功率模式中的處理器105完全斷電,則在方框210處對(duì)操作功率進(jìn)行存儲(chǔ),以對(duì)喚醒事件作出響應(yīng)。更進(jìn)一步的,系統(tǒng)100或者,更具體而言,功率控制器125通過激活復(fù)位信號(hào)以使處理器復(fù)位來對(duì)喚醒事件作出響應(yīng)。在方框215處,這種復(fù)位反過來又指引處理器105開始執(zhí)行只讀存儲(chǔ)器120中的初始程序加載程序145。在方框220處,初始程序加載程序的代碼指引系統(tǒng)100將只讀存儲(chǔ)器120中的起動(dòng)程序150拷貝到隨機(jī)存取存儲(chǔ)器115中。初始程序加載程序145可執(zhí)行的其它功能包括配置一個(gè)或多個(gè)存儲(chǔ)器控制器,配置系統(tǒng)100使用的各種時(shí)鐘,初始化某些堆棧以允許初始程序加載程序145能執(zhí)行操作系統(tǒng)確認(rèn)和建立,以及建立系統(tǒng)硬件例如在系統(tǒng)初始化期間所需的其它的最少的配置。由于初始程序加載程序145是直接從只讀存儲(chǔ)器120執(zhí)行的,因此它至少可以部分地實(shí)現(xiàn)為匯編語言代碼。但是,在進(jìn)行了最少的系統(tǒng)初始化工作之后,初始程序加載程序145可調(diào)用一個(gè)或多個(gè)函數(shù),以初始化例如C語言的環(huán)境。更進(jìn)一步的,盡管聯(lián)系圖1和圖2來顯示和描述的初始程序加載程序145在復(fù)位后獲得了立即控制,但控制可從,例如,系統(tǒng)BIOS或?yàn)轫憫?yīng)處理器復(fù)位而執(zhí)行的類似程序傳遞給初始程序加載程序145。
在方框225處,處理器105從隨機(jī)存取存儲(chǔ)器處執(zhí)行已拷貝的起動(dòng)程序150。可由起動(dòng)程序150執(zhí)行的一些函數(shù)包括硬件初始化、中斷控制器的設(shè)置、系統(tǒng)尋呼(system page)的初始化、系統(tǒng)調(diào)出(callout)的初始化、對(duì)執(zhí)行所要用的系統(tǒng)內(nèi)核進(jìn)行準(zhǔn)備等。
在方框230處,系統(tǒng)100確定是否需要完全啟動(dòng)操作,或者能否執(zhí)行快速啟動(dòng)操作。在方框230處做的這個(gè)確定可在起動(dòng)程序和/或初始程序加載程序中實(shí)現(xiàn)。在一個(gè)實(shí)例中,在系統(tǒng)100徹底斷電之后首次對(duì)系統(tǒng)100加電時(shí),可能需要進(jìn)行完全啟動(dòng)操作。在另一個(gè)實(shí)例中,當(dāng)存儲(chǔ)在隨機(jī)存取存儲(chǔ)器115中的數(shù)據(jù)和/或代碼在之前的完全啟動(dòng)操作期間失敗了一次或多次完整性檢查的時(shí)候,需要進(jìn)行完全啟動(dòng)操作。
在每次需要進(jìn)行完全啟動(dòng)操作的情況下,系統(tǒng)控制可被轉(zhuǎn)移至方框235。在方框235處,系統(tǒng)100例如通過初始程序加載程序145和/或起動(dòng)程序150來將映象文件系統(tǒng)140完整地從只讀存儲(chǔ)器120轉(zhuǎn)移至隨機(jī)存取存儲(chǔ)器115。一旦完成了該拷貝操作,系統(tǒng)在方框240處繼續(xù)它的標(biāo)準(zhǔn)系統(tǒng)操作。這些標(biāo)準(zhǔn)系統(tǒng)操作可包括執(zhí)行正常模式的操作,在這種操作中,系統(tǒng)100被設(shè)計(jì)來提供的所有系統(tǒng)服務(wù)都起作用。
如果在方框230處的確定指示可執(zhí)行快速啟動(dòng)操作來代替完全啟動(dòng)操作,系統(tǒng)控制就被轉(zhuǎn)移至方框245所示的操作。在方框245,系統(tǒng)100通過例如初始程序加載程序145和/或起動(dòng)程序150來僅僅將完整的映象文件系統(tǒng)140的預(yù)定部分從只讀存儲(chǔ)器120拷貝到隨機(jī)存取存儲(chǔ)器115中。由于將映象文件系統(tǒng)從只讀存儲(chǔ)器120中拷貝到隨機(jī)存取存儲(chǔ)器115中經(jīng)常是啟動(dòng)處理中非常耗時(shí)的一部分操作,因此在快速啟動(dòng)操作期間限制對(duì)映象文件系統(tǒng)的拷貝可相當(dāng)多地減少了啟動(dòng)時(shí)間。這種時(shí)間的減少,反過來,可用于減少系統(tǒng)100的整個(gè)響應(yīng)時(shí)間,從而允許系統(tǒng)100滿足和/或超過系統(tǒng)響應(yīng)設(shè)計(jì)規(guī)范。一旦完成了這種拷貝操作,系統(tǒng)在方框240處繼續(xù)它的標(biāo)準(zhǔn)系統(tǒng)操作。又,這些標(biāo)準(zhǔn)系統(tǒng)操作可包括執(zhí)行其中系統(tǒng)100被設(shè)計(jì)來完成的所有系統(tǒng)服務(wù)都起作用的正常模式的操作。
在方框240代表的系統(tǒng)操作期間,可發(fā)生斷電事件(power-downevent),其指引系統(tǒng)100進(jìn)入低功率模式的操作。在圖2的實(shí)例中,系統(tǒng)100通過將隨機(jī)存取存儲(chǔ)器115置于例如自我更新模式或者隨機(jī)存取存儲(chǔ)器115的內(nèi)容在系統(tǒng)處于低功率模式的期間一直被保留的類似模式,來對(duì)斷電事件作出響應(yīng)。在該數(shù)據(jù)保留模式時(shí)由隨機(jī)存取存儲(chǔ)器115消耗的功率可能比在方框240處所示的正常系統(tǒng)模式期間消耗的功率小。這就是隨機(jī)存取存儲(chǔ)器115用例如具有自我更新、低功率操作模式的SDRAM技術(shù)來實(shí)現(xiàn)時(shí)的情況。
進(jìn)入低功率操作模式可在方框255處完成,在此處,例如,處理器105可被完全地?cái)嚯?。?dāng)以這種方式斷電時(shí),可移開對(duì)處理器105的所有的電能供應(yīng),并且處理器105不牽引任何電源。由于處理器105經(jīng)常用系統(tǒng)100中最大的功率消耗來構(gòu)成裝置,即使在休眠模式中,在低功率操作模式中處理器105的徹底斷電可用于滿足對(duì)系統(tǒng)設(shè)計(jì)的功耗約束。但是,可在方框255處使用替代的低功率處理器操作模式來完成進(jìn)入低功率操作模式。
當(dāng)隨機(jī)存取存儲(chǔ)器115在低功率模式期間的數(shù)據(jù)維護(hù)模式中的功耗比其在正常系統(tǒng)操作期間的功耗低時(shí),可實(shí)現(xiàn)更進(jìn)一步的好處。在低功率模式期間,處理器105和隨機(jī)存取存儲(chǔ)器115的功耗都在這樣的情況下被減少,導(dǎo)致對(duì)于這種模式具有總的較低的功率消耗值。在方框255處的操作被完成之后,系統(tǒng)100保留在的功率模式中,直至在方框205處檢測(cè)到系統(tǒng)喚醒事件為止。當(dāng)喚醒事件被檢測(cè)到時(shí),圖2中所示的前述操作被重復(fù)。
圖3示出了在完全啟動(dòng)拷貝操作期間系統(tǒng)100執(zhí)行的轉(zhuǎn)移。如所示那樣,初始程序加載程序145由處理器從只讀存儲(chǔ)器120處執(zhí)行,并且致使起動(dòng)程序150從只讀存儲(chǔ)器120轉(zhuǎn)移到隨機(jī)存取存儲(chǔ)器115。這種拷貝操作由從只讀存儲(chǔ)器120指向隨機(jī)存取存儲(chǔ)器115的箭頭來指示。起動(dòng)程序150可包括起動(dòng)標(biāo)題(startup header)115和起動(dòng)代碼160。此外,映象文件系統(tǒng)140的整個(gè)內(nèi)容被從只讀存儲(chǔ)器120拷貝到隨機(jī)存取存儲(chǔ)器115中。圖1和3中所示的映象文件系統(tǒng)140包括映象文件系統(tǒng)標(biāo)題305、系統(tǒng)內(nèi)核310、多個(gè)庫(kù)315(諸如C語言庫(kù))、驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和應(yīng)用系統(tǒng)(在320處整體指定)。盡管圖3示出了用于線性映射映象的系統(tǒng)100的操作,系統(tǒng)100可同樣地利用存儲(chǔ)切換映象,在這種映象中,映象文件系統(tǒng)的各個(gè)部分是從不同的存儲(chǔ)裝置和/或只讀存儲(chǔ)器120的不連續(xù)的片段中獲得的,和/或被拷貝到不同的存儲(chǔ)裝置和/或隨機(jī)存取存儲(chǔ)器115的不連續(xù)的片段中。
圖4示出了在快速啟動(dòng)拷貝操作期間系統(tǒng)100執(zhí)行的轉(zhuǎn)移。又,初始程序加載程序145由處理器105從只讀存儲(chǔ)器120處來執(zhí)行,并致使起動(dòng)程序150被從只讀存儲(chǔ)器120中轉(zhuǎn)移到隨機(jī)存取存儲(chǔ)器115中。該操作由從只讀存儲(chǔ)器120指向隨機(jī)存取存儲(chǔ)器115的箭頭來指示。在此實(shí)例中,僅僅映象文件系統(tǒng)140的被拷貝到隨機(jī)存取存儲(chǔ)器115中的那部分是內(nèi)核310。為了更進(jìn)一步優(yōu)化這種轉(zhuǎn)移,對(duì)內(nèi)核310的拷貝可被限制成對(duì)整體內(nèi)核程序的子集進(jìn)行。例如,內(nèi)核310的拷貝可局限于可執(zhí)行的二進(jìn)制數(shù)據(jù)段,等等?;趯?duì)標(biāo)題305完整性的部分或完全的校驗(yàn),多個(gè)庫(kù)315、以及驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和部分應(yīng)用程序320,確定在之前的完全啟動(dòng)拷貝操作期間拷貝的數(shù)據(jù)和代碼是完整的。這種完整性可例如通過對(duì)隨機(jī)存取存儲(chǔ)器115中存儲(chǔ)的現(xiàn)有數(shù)據(jù)和/或代碼的一部分或多部分執(zhí)行部分地或完全地檢查和(checksum)操作。因此,與映象文件系統(tǒng)140的這些部分相對(duì)應(yīng)的數(shù)據(jù)和/或代碼的拷貝是不必要的。通過對(duì)在從低功率模式和/或處理器復(fù)位事件進(jìn)入系統(tǒng)喚醒期間發(fā)生的拷貝的量進(jìn)行限制,就可節(jié)省大量的啟動(dòng)時(shí)間。
圖5是另外的示例性系統(tǒng)的基本元件的框圖,該系統(tǒng)可用于實(shí)現(xiàn)從低功率模式和/或處理器復(fù)位事件進(jìn)行快速啟動(dòng)喚醒。系統(tǒng)500包括了可訪問I/O接口510的處理器505、隨機(jī)存取存儲(chǔ)器515、只讀存儲(chǔ)器520、和看門狗計(jì)時(shí)器523。I/O接口510允許處理器505與一個(gè)或多個(gè)外圍元件進(jìn)行交互。各外圍元件可以與I/O接口510的各元件相互獨(dú)立,或者與I/O接口510的各元件集成在一起。隨機(jī)存取存儲(chǔ)器515可以多種不同的方式來實(shí)現(xiàn),這些方式例如包括用一個(gè)或多個(gè)動(dòng)態(tài)的隨機(jī)存取存儲(chǔ)器技術(shù)來實(shí)現(xiàn)。在一種方式中,存儲(chǔ)器515是通過利用一個(gè)或多個(gè)可被指引成低功率、自我更新的操作模式的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器單元來實(shí)現(xiàn)的。同樣,只讀存儲(chǔ)器520也可以用多種不同的方式來實(shí)現(xiàn),這些方式例如包括用一個(gè)或多個(gè)閃存技術(shù)來實(shí)現(xiàn)。
系統(tǒng)500也可包括功率控制器525,其可直接地或間接地從處理器505處接收功率控制命令。此外,或者可替代的,功率控制器525可從諸如另一個(gè)電源、外圍元件、開關(guān)或類似裝置這樣的外部信源處接收功率控制信號(hào)。功率控制器525對(duì)這些功率命令和/或功率控制信號(hào)作出響應(yīng),以指引系統(tǒng)500變成低功率模式和從低功率模式喚醒。附加的功能性也可與功率控制器525相關(guān)聯(lián),以指引系統(tǒng)500通過最初的開機(jī)操作。初始的開機(jī)操作發(fā)生在系統(tǒng)500已被徹底關(guān)閉后向該系統(tǒng)提供電能的時(shí)候。復(fù)位信號(hào)沿一條或多條信號(hào)線530從功率控制器525提供給處理器505。復(fù)位信號(hào)為響應(yīng)系統(tǒng)喚醒事件而變成激活狀態(tài),并且更進(jìn)一步地,可為響應(yīng)初始的開機(jī)事件而被激活。處理器505通過嘗試執(zhí)行存儲(chǔ)在由復(fù)位向量535標(biāo)識(shí)的存儲(chǔ)器位置處的匯編語言來對(duì)激活的復(fù)位信號(hào)的發(fā)生作出響應(yīng)。
系統(tǒng)500利用嵌入在多個(gè)映象文件系統(tǒng)540和545中的操作系統(tǒng),其中多個(gè)映象文件系統(tǒng)540和545存儲(chǔ)在只讀存儲(chǔ)器520中。盡管示出了兩個(gè)映象文件系統(tǒng),但還可以利用更多個(gè)映象文件系統(tǒng)。映象文件系統(tǒng)540可構(gòu)成主要映象文件系統(tǒng),并包含初始化系統(tǒng)的操作所需的操作系統(tǒng)內(nèi)核的那些部分;而映象文件系統(tǒng)545可構(gòu)成次要映象文件系統(tǒng),并包含例如系統(tǒng)100中使用的可執(zhí)行程序,和/或可能與程序有關(guān)的任意的數(shù)據(jù)文件。每個(gè)映象文件系統(tǒng)540和545也可以包含較小的目錄結(jié)構(gòu),其標(biāo)識(shí)了該映象文件系統(tǒng)內(nèi)所含文件的名稱和位置,以便于操作系統(tǒng)的內(nèi)核在正常系統(tǒng)操作期間參考使用。
在圖5所示的實(shí)例中,只讀存儲(chǔ)器520還包括更多的程序代碼。更具體而言,初始程序加載程序550被提供,并且其起始位置與復(fù)位向量535相對(duì)應(yīng)。此外,只讀存儲(chǔ)器520被用于存儲(chǔ)起動(dòng)代碼560。起動(dòng)代碼560可包括起動(dòng)標(biāo)題565和相應(yīng)的程序代碼570。
圖6示出了系統(tǒng)500在完全啟動(dòng)拷貝操作期間執(zhí)行的轉(zhuǎn)移。在此操作中,初始程序加載程序550由處理器505從只讀存儲(chǔ)器520中執(zhí)行,并且致使起動(dòng)程序560從只讀存儲(chǔ)器520中轉(zhuǎn)移到隨機(jī)存取存儲(chǔ)器515中。該拷貝操作由從只讀存儲(chǔ)器520指向隨機(jī)存取存儲(chǔ)器515的箭頭來指示。起動(dòng)程序560可包括起動(dòng)標(biāo)題565和起動(dòng)代碼570。此外,映象文件系統(tǒng)540和545的全部?jī)?nèi)容都被從只讀存儲(chǔ)器520拷貝到隨機(jī)存取存儲(chǔ)器515中。圖5和6所示的映象文件系統(tǒng)540包括第一映象文件系統(tǒng)標(biāo)題575和系統(tǒng)內(nèi)核580。映象文件系統(tǒng)545包括了次要映象文件系統(tǒng)標(biāo)題585、多個(gè)庫(kù)590(諸如C語言庫(kù))、驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和應(yīng)用程序(全部在595處指定)。盡管圖6示出了用于線性映射映象的系統(tǒng)100,但系統(tǒng)100同樣可利用存儲(chǔ)切換映象,在這種映象中,映象文件系統(tǒng)的各部分是從不同的存儲(chǔ)裝置和/或只讀存儲(chǔ)器120的不連續(xù)的片段(section)中獲得的,和/或被拷貝到不同的存儲(chǔ)裝置中和/或隨機(jī)存取存儲(chǔ)器115的不連續(xù)的片段中。
圖7示出了系統(tǒng)500在快速啟動(dòng)拷貝操作期間執(zhí)行的轉(zhuǎn)移。又,初始程序加載程序550由處理器505從只讀存儲(chǔ)器520處執(zhí)行,致使起動(dòng)程序560從只讀存儲(chǔ)器520中轉(zhuǎn)移到隨機(jī)存取存儲(chǔ)器515中,如從只讀存儲(chǔ)器520指向隨機(jī)存取存儲(chǔ)器515的箭頭所指示的那樣。在此實(shí)例中,只有主要的映象文件系統(tǒng)540被拷貝到隨機(jī)存取存儲(chǔ)器515中。可以通過只拷貝內(nèi)核310的數(shù)據(jù)部分來進(jìn)一步優(yōu)化快速啟動(dòng)拷貝操作?;趯?duì)所有或部分的次要文件映象系統(tǒng)545的完整性進(jìn)行局部的或完全的驗(yàn)證(即,對(duì)標(biāo)題585、多個(gè)庫(kù)590、和/或各驅(qū)動(dòng)程序、各動(dòng)態(tài)鏈接庫(kù)、和片段應(yīng)用程序595進(jìn)行局部的或完全的驗(yàn)證),來確定在之前的完全啟動(dòng)拷貝操作期間從只讀存儲(chǔ)器520拷貝到隨機(jī)存取存儲(chǔ)器515中的次要映象文件系統(tǒng)545是否是完整的。因此,認(rèn)為對(duì)次要映象文件系統(tǒng)545的拷貝是不必要的。
圖8示出了可操作圖1和5所示的系統(tǒng)的另外的方式。在此實(shí)例中,處理器被復(fù)位并開始對(duì)初始程序加載程序805的執(zhí)行,該初始程序加載程序805位于與處理器的復(fù)位向量810相對(duì)應(yīng)的只讀存儲(chǔ)器位置處。初始程序加載程序805指引系統(tǒng)將起動(dòng)程序815從只讀存儲(chǔ)器拷貝至隨機(jī)存取存儲(chǔ)器中,其中這是由處理器執(zhí)行的。根據(jù)以上提出的準(zhǔn)則,系統(tǒng)在或者執(zhí)行映象文件系統(tǒng)的完全啟動(dòng)拷貝(820處)或者執(zhí)行映象文件系統(tǒng)的快速啟動(dòng)拷貝(830處)之后,在830處對(duì)內(nèi)核進(jìn)行初始化。一旦內(nèi)核被初始化,則包括了包含在映象文件系統(tǒng)中的各個(gè)系統(tǒng)應(yīng)用程序的操作系統(tǒng)剩余部分,在835處被初始化并繼續(xù)運(yùn)行。
當(dāng)系統(tǒng)在從事啟動(dòng)操作時(shí),系統(tǒng)與各控制外圍裝置和其它系統(tǒng)進(jìn)行通信所需的各個(gè)驅(qū)動(dòng)程序的所有版本通常都是不可用的。因此,在操作系統(tǒng)徹底完成初始化和運(yùn)行之前,系統(tǒng)處理其外圍元件和與其它系統(tǒng)進(jìn)行交互的能力一直是相對(duì)受限制的。但,在與外圍元件和其它系統(tǒng)進(jìn)行交換之前等待啟動(dòng)操作完成,可能會(huì)妨礙系統(tǒng)滿足響應(yīng)事件規(guī)范的能力。
圖8示出了解決這個(gè)問題的一種方式。更具體而言,一個(gè)或多個(gè)小型驅(qū)動(dòng)程序840被載入并由起動(dòng)程序815來執(zhí)行。每個(gè)小型驅(qū)動(dòng)程序用于在啟動(dòng)操作期間與相應(yīng)的外圍元件或系統(tǒng)進(jìn)行交互和/或通信。小型驅(qū)動(dòng)程序與其相應(yīng)的完整驅(qū)動(dòng)程序的不同在于,小型驅(qū)動(dòng)程序可設(shè)計(jì)成僅僅實(shí)現(xiàn)由完整驅(qū)動(dòng)程序提供的功能的一部分。更進(jìn)一步的,完整驅(qū)動(dòng)程序通常由與該驅(qū)動(dòng)程序相關(guān)的外圍元件或系統(tǒng)生成的一次或多次中斷來驅(qū)動(dòng),而小型驅(qū)動(dòng)程序?yàn)榱藢?duì)各計(jì)時(shí)器中斷進(jìn)行響應(yīng)的信息,而輪詢相關(guān)的外圍元件或系統(tǒng),其中各計(jì)時(shí)器中斷是由初始處理加載程序805和/或起動(dòng)程序815來初始化的。如果有必要,則小型驅(qū)動(dòng)程序接收的高優(yōu)先級(jí)的信息可以在啟動(dòng)操作期間來解決。但大多數(shù)信息可存儲(chǔ)在信息隊(duì)列中,該信息隊(duì)列用于由相應(yīng)的小型驅(qū)動(dòng)程序進(jìn)行有限的操作,或者用于由相應(yīng)的完整版本的驅(qū)動(dòng)程序進(jìn)行操作。由于在830處內(nèi)核被初始化,系統(tǒng)在845處開始從使用小型驅(qū)動(dòng)程序轉(zhuǎn)變成使用完整驅(qū)動(dòng)程序。一旦操作系統(tǒng)在835處被運(yùn)行,則在850處完整版本的驅(qū)動(dòng)程序就是可用的。
在835處操作系統(tǒng)繼續(xù)運(yùn)行,直至斷電事件855發(fā)生。系統(tǒng)對(duì)斷電事件的響應(yīng)可由與功率調(diào)出860相交互的功率管理程序來處理。功率調(diào)出860指引系統(tǒng)進(jìn)入低功率模式865,在該模式中,系統(tǒng)保持原狀直至發(fā)生喚醒事件870。
圖9示出了功率管理軟件905可與功率調(diào)出910進(jìn)行交互以將系統(tǒng)轉(zhuǎn)變成低功率模式的一種方式。在此實(shí)例中,功率管理器905用于檢測(cè)斷電事件915。功率管理器905通過例如向運(yùn)行的應(yīng)用程序920和驅(qū)動(dòng)程序925通知已發(fā)生斷電事件來響應(yīng)斷電事件915。驅(qū)動(dòng)程序925可通過將相應(yīng)外圍930的狀態(tài)存儲(chǔ)到例如隨機(jī)存取存儲(chǔ)器935中,來對(duì)此通知作出響應(yīng)。應(yīng)用程序920可采取必要的步驟來在關(guān)閉前了結(jié)(wrap-up)未解決的操作。
功率管理軟件905也執(zhí)行對(duì)于系統(tǒng)內(nèi)核的功率調(diào)出910。功率調(diào)出910,反過來,又采取必要的步驟以指引隨機(jī)存取存儲(chǔ)器935、處理器940、和功率控制器945進(jìn)入低功率模式中利用的各個(gè)狀態(tài)。例如,功率調(diào)出910可在指引功率控制器945從處理器940處移開操作電源以前,指引隨機(jī)存取存儲(chǔ)器935進(jìn)入自我更新模式。因?yàn)橐坏奶幚砥?40處移開操作電源則功率管理器905、應(yīng)用程序920、和驅(qū)動(dòng)程序925不再運(yùn)行,則可拖延對(duì)功率調(diào)出910的執(zhí)行,直至功率管理器905確定應(yīng)用程序920和驅(qū)動(dòng)程序925正常關(guān)閉為止。
在每個(gè)前述的系統(tǒng)中,可在完全啟動(dòng)和/或快速啟動(dòng)操作期間檢查隨機(jī)存取存儲(chǔ)器內(nèi)容的完整性。此外,或者可替代的,可在一旦完全啟動(dòng)和/或快速啟動(dòng)操作已經(jīng)被完成時(shí)來檢查隨機(jī)存取存儲(chǔ)器的內(nèi)容的完整性。如以上提到的那樣,完整性檢查可以對(duì)隨機(jī)存取存儲(chǔ)器全部?jī)?nèi)容或?qū)﹄S機(jī)存取存儲(chǔ)器的局部進(jìn)行校驗(yàn)和操作的形式進(jìn)行。如果系統(tǒng)在完整性檢查時(shí)失敗,則處理器可被復(fù)位,例如,以使系統(tǒng)進(jìn)行完全移動(dòng)操作。
盡管已經(jīng)描述了本發(fā)明的各個(gè)實(shí)施例,但對(duì)于本領(lǐng)域技術(shù)人員來說很明顯的是,在本發(fā)明的范圍內(nèi)可以有更多的實(shí)施例和實(shí)現(xiàn)方法。因此,本發(fā)明并沒有受到限制,而只符合所附權(quán)利要求和其等效體。
權(quán)利要求
1.一種處理系統(tǒng),包括處理器;存儲(chǔ)可由所述處理器訪問的操作系統(tǒng)映象文件的只讀存儲(chǔ)器;可由所述處理器訪問的隨機(jī)存取存儲(chǔ)器;引導(dǎo)程序,其可由處理器執(zhí)行以響應(yīng)于在對(duì)所述處理系統(tǒng)初始供電時(shí)發(fā)生的開機(jī)事件,或是在所述處理系統(tǒng)將退出低功率模式時(shí)發(fā)生的喚醒事件而初始化所述處理系統(tǒng),其中,所述引導(dǎo)程序選擇性地執(zhí)行將所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中的完全啟動(dòng)拷貝,或只將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中的快速啟動(dòng)拷貝。
2.如權(quán)利要求1所述的處理系統(tǒng),其中,所述引導(dǎo)程序響應(yīng)于所述開機(jī)事件執(zhí)行所述完全啟動(dòng)拷貝操作。
3.如權(quán)利要求1所述的處理系統(tǒng),其中,所述引導(dǎo)程序響應(yīng)于所述喚醒事件執(zhí)行所述快速啟動(dòng)拷貝操作。
4.如權(quán)利要求3所述的處理系統(tǒng),其中,所述引導(dǎo)程序在對(duì)所述隨機(jī)存取存儲(chǔ)器的一個(gè)或多個(gè)區(qū)域的內(nèi)容進(jìn)行了完整性檢查之后執(zhí)行所述快速啟動(dòng)拷貝操作,所述隨機(jī)存取存儲(chǔ)器包含了在之前的完全啟動(dòng)拷貝操作期間從所述只讀存儲(chǔ)器中拷貝的操作系統(tǒng)的選定部分。
5.如權(quán)利要求1所述的處理系統(tǒng),其中,所述引導(dǎo)程序包括初始程序加載程序,其存儲(chǔ)在與所述處理器的復(fù)位向量相對(duì)應(yīng)的只讀存儲(chǔ)器中開始位置,其中,所述初始程序加載程序可由所述處理器從所述只讀存儲(chǔ)器中執(zhí)行;和起動(dòng)程序,其由所述初始程序加載程序載入到所述隨機(jī)存取存儲(chǔ)器中,其中該起動(dòng)程序由所述處理器執(zhí)行。
6.如權(quán)利要求5所述的處理系統(tǒng),其中,所述起動(dòng)程序選擇性地執(zhí)行所述完全啟動(dòng)拷貝和所述快速啟動(dòng)拷貝操作。
7.如權(quán)利要求5所述的處理系統(tǒng),其中,所述初始程序加載程序選擇性地執(zhí)行所述完全啟動(dòng)拷貝和所述快速啟動(dòng)拷貝操作。
8.如權(quán)利要求1所述的處理系統(tǒng),其中,所述隨機(jī)存取存儲(chǔ)器包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。
9.如權(quán)利要求1所述的處理系統(tǒng),其中,所述操作系統(tǒng)映象文件包括至少兩個(gè)或多個(gè)包括主要映象文件系統(tǒng)和次要映象文件系統(tǒng)的映象文件系統(tǒng)。
10.如權(quán)利要求9所述的處理系統(tǒng),其中,當(dāng)所述引導(dǎo)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述主要映象文件系統(tǒng)和所述次要映象文件系統(tǒng)都從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,并且在所述引導(dǎo)程序執(zhí)行快速啟動(dòng)拷貝時(shí),所述主要和次要映象文件系統(tǒng)中只有所述主要映象文件系統(tǒng)從所述只讀存儲(chǔ)器中被拷貝到所述隨機(jī)存取存儲(chǔ)器中。
11.如權(quán)利要求1所述的處理系統(tǒng),其中,所述操作系統(tǒng)映象文件包括內(nèi)核程序;從由外圍驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和系統(tǒng)應(yīng)用程序組成的組中選擇的另外的程序。
12.如權(quán)利要求11所述的處理系統(tǒng),其中,當(dāng)所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述另外的程序和所述內(nèi)核程序從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,并且,所述起動(dòng)程序通過將至少一部分所述內(nèi)核程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中而不將所述另外的程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中來執(zhí)行快速啟動(dòng)拷貝。
13.一種處理系統(tǒng),其包括處理器;存儲(chǔ)可由所述處理器訪問的操作系統(tǒng)映象文件的只讀存儲(chǔ)器;可由所述處理器訪問的隨機(jī)存取存儲(chǔ)器;初始程序加載程序,其存儲(chǔ)在與所述處理器的復(fù)位向量相對(duì)應(yīng)的只讀存儲(chǔ)器開始位置,其中,所述初始程序加載程序可由所述處理器從所述只讀存儲(chǔ)器來執(zhí)行;起動(dòng)程序,其由所述初始程序加載程序載入到所述隨機(jī)存取存儲(chǔ)器中,并可由所述處理器來執(zhí)行;和其中,所述初始程序加載程序或所述起動(dòng)程序選擇性地執(zhí)行所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的完全啟動(dòng)拷貝,或僅將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中的快速啟動(dòng)拷貝。
14.如權(quán)利要求12所述的處理系統(tǒng),其中,所述隨機(jī)存取存儲(chǔ)器包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。
15.如權(quán)利要求12所述的處理系統(tǒng),其中,所述隨機(jī)存取存儲(chǔ)器包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,并且其中,所述處理系統(tǒng)進(jìn)一步包括功率控制器,該功率控制器對(duì)斷電事件作出響應(yīng)以指引所述系統(tǒng)進(jìn)入低功率模式,在所述低功率模式中所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器處于自我更新模式中并且處理器是關(guān)閉的。
16.如權(quán)利要求15所述的處理系統(tǒng),其中,所述功率控制器對(duì)喚醒事件作出響應(yīng),以指引所述系統(tǒng)退出所述低功率模式并復(fù)位所述處理器,其中,在所述系統(tǒng)退出所述低功率模式時(shí),所述初始程序加載程序或所述起動(dòng)程序?qū)λ鰟?dòng)態(tài)隨機(jī)存取存儲(chǔ)器的內(nèi)容進(jìn)行至少部分檢查,并且其中,所述初始程序加載程序或所述起動(dòng)程序利用所述檢查的結(jié)果來確定執(zhí)行完全啟動(dòng)拷貝操作還是快速啟動(dòng)拷貝操作。
17.如權(quán)利要求12所述的處理系統(tǒng),其中,所述初始程序加載程序或所述起動(dòng)程序?qū)λ鲭S機(jī)存取存儲(chǔ)器的內(nèi)容進(jìn)行至少部分的檢查,以選擇將執(zhí)行完全啟動(dòng)拷貝操作還是執(zhí)行快速啟動(dòng)拷貝操作。
18.如權(quán)利要求12所述的處理系統(tǒng),其中,執(zhí)行所述完全啟動(dòng)拷貝操作來響應(yīng)所述處理系統(tǒng)的初始開機(jī)。
19.如權(quán)利要求12所述的處理系統(tǒng),其中,執(zhí)行所述快速啟動(dòng)拷貝操作來響應(yīng)指引所述處理系統(tǒng)退出低功率模式的喚醒事件。
20.如權(quán)利要求19所述的處理系統(tǒng),其中,所述隨機(jī)存取存儲(chǔ)器包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,其中,所述處理器在所述低功率模式時(shí)是關(guān)閉的,并且其中,所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器在所述低功率模式時(shí)處于自我更新模式。
21.如權(quán)利要求19所述的處理系統(tǒng),其中,所述初始程序加載程序或所述起動(dòng)程序?qū)λ鲭S機(jī)存取存儲(chǔ)器的內(nèi)容至少進(jìn)行部分檢查,并且其中,響應(yīng)于該檢查的失敗執(zhí)行所述完全啟動(dòng)拷貝操作。
22.如權(quán)利要求12所述的處理系統(tǒng),其中,所述初始程序加載程序或所述起動(dòng)程序?qū)λ鲭S機(jī)存取存儲(chǔ)器的至少部分內(nèi)容進(jìn)行檢驗(yàn)和操作,以選擇執(zhí)行所述完全啟動(dòng)拷貝操作還是所述快速啟動(dòng)拷貝操作。
23.如權(quán)利要求22所述的處理系統(tǒng),其中,所述檢驗(yàn)和操作是對(duì)存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器中的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)執(zhí)行的。
24.如權(quán)利要求12所述處理系統(tǒng),所述操作系統(tǒng)映象文件包括至少兩個(gè)包括主要映象文件系統(tǒng)和次要映象文件系統(tǒng)的映象文件系統(tǒng)。
25.如權(quán)利要求24所述處理系統(tǒng),其中,當(dāng)所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述主要映象文件系統(tǒng)和所述次要映象文件系統(tǒng)都從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,而在所述起動(dòng)程序執(zhí)行快速啟動(dòng)拷貝時(shí),所述主要和次要映象文件系統(tǒng)中只有所述主要映象文件系統(tǒng)從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中。
26.如權(quán)利要求12所述的處理系統(tǒng),其中,所述操作系統(tǒng)映象文件包括內(nèi)核程序;從由外圍驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和系統(tǒng)應(yīng)用程序組成的組中選擇的另外的程序。
27.如權(quán)利要求26所述的處理系統(tǒng),其中,當(dāng)所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述另外的程序和所述內(nèi)核程序從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,并且,所述起動(dòng)程序通過將至少一部分所述內(nèi)核程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中而不將所述另外的程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中來執(zhí)行快速啟動(dòng)拷貝。
28.一種處理系統(tǒng),其包括處理器;存儲(chǔ)可由所述處理器訪問的操作系統(tǒng)映象文件的只讀存儲(chǔ)器;可由所述處理器訪問的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器;功率控制器,該功率控制器對(duì)斷電事件作出響應(yīng)以指引所述系統(tǒng)進(jìn)入低功率模式,在該低功率模式中所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器處于自我更新模式并且所述處理器是關(guān)閉的,并且,所述功率控制器還對(duì)喚醒事件作出響應(yīng),以指引所述系統(tǒng)退出所述低功率模式并復(fù)位所述處理器;引導(dǎo)程序,其可由所述處理器執(zhí)行以初始化所述處理系統(tǒng),其中,所述引導(dǎo)程序響應(yīng)于所述系統(tǒng)的初始開機(jī),而執(zhí)行將所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的完全啟動(dòng)拷貝,并且在所述系統(tǒng)響應(yīng)于一個(gè)或多個(gè)預(yù)定條件退出所述低功率模式時(shí),所述引導(dǎo)程序執(zhí)行僅將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中的快速啟動(dòng)拷貝。
29.如權(quán)利要求28所述的處理系統(tǒng),其中,所述引導(dǎo)程序在所述系統(tǒng)退出所述低功率模式時(shí)對(duì)所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的內(nèi)容執(zhí)行至少部分檢查,并且其中,所述引導(dǎo)程序利用該檢查的結(jié)果作為所述一個(gè)或多個(gè)預(yù)定條件。
30.如權(quán)利要求29所述的處理系統(tǒng),其中,所述檢驗(yàn)和操作是對(duì)存儲(chǔ)在所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)執(zhí)行的。
31.如權(quán)利要求28所述的處理系統(tǒng),其中,所述操作系統(tǒng)映象文件包括至少兩個(gè)包括主要映象文件系統(tǒng)和次要映象文件系統(tǒng)的映象文件系統(tǒng)。
32.如權(quán)利要求31所述的處理系統(tǒng),其中,在所述引導(dǎo)程序執(zhí)行所述完全啟動(dòng)拷貝時(shí),所述主要映象文件系統(tǒng)和所述次要映象文件系統(tǒng)都從所述只讀存儲(chǔ)器中被拷貝到所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中,而在所述引導(dǎo)程序執(zhí)行所述快速啟動(dòng)拷貝時(shí),所述主要和次要映象文件系統(tǒng)中只有所述主要映象文件系統(tǒng)從所述只讀存儲(chǔ)器中被拷貝到所述動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中。
33.如權(quán)利要求28所述的處理系統(tǒng),其中,所述操作系統(tǒng)映象文件包括內(nèi)核程序;從由外圍驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和系統(tǒng)應(yīng)用程序組成的組中選擇的另外的程序。
34.如權(quán)利要求33所述的處理系統(tǒng),其中,當(dāng)所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述另外的程序和所述內(nèi)核程序從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,并且,所述起動(dòng)程序通過將至少一部分所述內(nèi)核程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中而不將所述另外的程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中,來執(zhí)行快速啟動(dòng)拷貝。
35.一種用于對(duì)包括處理器、隨機(jī)存取存儲(chǔ)器和具有操作系統(tǒng)映象文件的只讀存儲(chǔ)器的處理系統(tǒng)進(jìn)行操作的方法,所述方法包括向所述處理器、所述隨機(jī)存取存儲(chǔ)器和所述只讀存儲(chǔ)器供電;復(fù)位所述處理器;執(zhí)行將所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中的完全啟動(dòng)拷貝;從所述隨機(jī)存取存儲(chǔ)器執(zhí)行所述操作系統(tǒng)的程序;通過進(jìn)入低功率模式來響應(yīng)斷電事件,在所述低功率模式中所述隨機(jī)存取存儲(chǔ)器處于自我更新模式并且所述處理器被斷電;通過退出所述低功率模式和復(fù)位所述處理器來響應(yīng)喚醒事件;和在退出所述低功率模式時(shí)執(zhí)行僅將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的快速啟動(dòng)拷貝。
36.如權(quán)利要求35所述的方法,進(jìn)一步包括在退出所述低功率模式時(shí),對(duì)存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器中的數(shù)據(jù)執(zhí)行至少部分檢查;和響應(yīng)于所述對(duì)數(shù)據(jù)的部分檢查的失敗,執(zhí)行完全啟動(dòng)拷貝操作。
37.一種用于對(duì)包括處理器、隨機(jī)存取存儲(chǔ)器和具有操作系統(tǒng)映象文件的只讀存儲(chǔ)器的處理系統(tǒng)進(jìn)行操作的方法,所述方法包括復(fù)位所述處理器;響應(yīng)于第一預(yù)定條件,執(zhí)行將所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的完全啟動(dòng)拷貝;響應(yīng)于第二預(yù)定條件,執(zhí)行僅將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的快速啟動(dòng)拷貝。
38.如權(quán)利要求37所述的方法,其中,所述第一預(yù)定條件包括系統(tǒng)的初始開機(jī)。
39.如權(quán)利要求37所述的方法,其中,所述第二預(yù)定條件包括喚醒事件的發(fā)生,在該喚醒事件中所述系統(tǒng)退出其中所述處理器被斷電并且所述隨機(jī)存取存儲(chǔ)器處于自我更新模式的低功率模式。
40.如權(quán)利要求38所述的方法,其中,所述第二預(yù)定條件包括喚醒事件的發(fā)生,在該喚醒事件中所述系統(tǒng)退出其中所述處理器被斷電并且所述隨機(jī)存取存儲(chǔ)器處于自我更新模式的低功率模式。
41.只讀存儲(chǔ)器存儲(chǔ)包括存儲(chǔ)在與處理器的復(fù)位向量相對(duì)應(yīng)的起始位置處的初始程序加載程序,其中所述初始程序加載程序可由所述處理器來執(zhí)行;操作系統(tǒng)映象文件;可由所述初始程序加載程序載入到系統(tǒng)的隨機(jī)存取存儲(chǔ)器中的起動(dòng)程序,其中,該起動(dòng)程序包括用于選擇性地執(zhí)行將所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到隨機(jī)存取存儲(chǔ)器的完全啟動(dòng)拷貝或者只將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的快速啟動(dòng)拷貝的代碼。
42.如權(quán)利要求41所述的存儲(chǔ)器存儲(chǔ),其中,所述起動(dòng)程序代碼可由所述處理器執(zhí)行,以對(duì)存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器中的數(shù)據(jù)進(jìn)行至少部分檢查,其中所述檢查用于選擇所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝操作還是快速啟動(dòng)拷貝操作。
43.如權(quán)利要求41所述的存儲(chǔ)器存儲(chǔ),其中,所述起動(dòng)程序代碼可由所述處理器執(zhí)行,以對(duì)存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器中的至少一部分?jǐn)?shù)據(jù)進(jìn)行校驗(yàn)和操作,以選擇所述起動(dòng)程序?qū)?zhí)行完全啟動(dòng)拷貝操作還是快速啟動(dòng)拷貝操作。
44.如權(quán)利要求43所述的存儲(chǔ)器存儲(chǔ),其中,所述校驗(yàn)和操作是對(duì)存儲(chǔ)在所述隨機(jī)存取存儲(chǔ)器中的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)執(zhí)行的。
45.如權(quán)利要求41所述的存儲(chǔ)器存儲(chǔ),其中,所述操作系統(tǒng)映象文件包括至少兩個(gè)包括主要映象文件系統(tǒng)和次要映象文件系統(tǒng)的映象文件系統(tǒng)。
46.如權(quán)利要求45所述的存儲(chǔ)器存儲(chǔ),其中,在所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述主要映象文件系統(tǒng)和所述次要映象文件系統(tǒng)都從所述只讀存儲(chǔ)器中被拷貝到所述隨機(jī)存取存儲(chǔ)器中,而在所述起動(dòng)程序執(zhí)行快速啟動(dòng)拷貝時(shí),所述主要和次要映象文件系統(tǒng)中只有所述主要映象文件系統(tǒng)從所述只讀存儲(chǔ)器中被拷貝到所述隨機(jī)存取存儲(chǔ)器中。
47.如權(quán)利要求41所述的存儲(chǔ)器存儲(chǔ),其中,所述操作系統(tǒng)映象文件包括內(nèi)核程序;從由外圍驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和系統(tǒng)應(yīng)用程序組成的組中選擇的另外的程序。
48.如權(quán)利要求47所述的存儲(chǔ)器存儲(chǔ),其中,當(dāng)所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述另外的程序和所述內(nèi)核程序從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,并且,所述起動(dòng)程序通過將至少一部分所述內(nèi)核程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中而不將所述另外的程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中,來執(zhí)行快速啟動(dòng)拷貝。
49.只讀存儲(chǔ)器存儲(chǔ)包括操作系統(tǒng)映象文件;引導(dǎo)程序,其包括用于選擇性地執(zhí)行將所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到隨機(jī)存取存儲(chǔ)器的完全啟動(dòng)拷貝或只將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的快速啟動(dòng)拷貝的代碼。
50.一種處理系統(tǒng),其包括處理器;存儲(chǔ)可由所述處理器訪問的操作系統(tǒng)映象文件的只讀存儲(chǔ)器;可由所述處理器訪問的隨機(jī)存取存儲(chǔ)器;引導(dǎo)程序,其可由所述處理器來執(zhí)行以響應(yīng)于完全啟動(dòng)事件或快速啟動(dòng)事件來初始化所述處理系統(tǒng),其中,所述引導(dǎo)程序選擇性地執(zhí)行將所述操作系統(tǒng)映象文件從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的完全啟動(dòng)拷貝以響應(yīng)所述完全啟動(dòng)事件,并執(zhí)行只將所述操作系統(tǒng)映象文件的預(yù)定部分從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器的快速啟動(dòng)拷貝以響應(yīng)所述快速啟動(dòng)事件。
51.如權(quán)利要求50所述的處理系統(tǒng),其中,所述完全啟動(dòng)事件包括開機(jī)事件。
52.如權(quán)利要求50所述的處理系統(tǒng),其中,所述快速啟動(dòng)事件包括其中系統(tǒng)退出低功率操作模式的喚醒事件。
53.如權(quán)利要求50所述的處理系統(tǒng),其中,所述引導(dǎo)程序包括存儲(chǔ)在與所述處理器的復(fù)位向量相對(duì)應(yīng)的只讀存儲(chǔ)器起始位置的初始程序加載程序,其中,所述初始程序加載程序可由所述處理器從所述只讀存儲(chǔ)器來執(zhí)行;和起動(dòng)程序,其由所述處理器執(zhí)行的初始程序加載程序載入到所述隨機(jī)存取存儲(chǔ)器中。
54.如權(quán)利要求53所述處理系統(tǒng),其中,所述起動(dòng)程序選擇性地執(zhí)行所述完全啟動(dòng)拷貝操作和所述快速啟動(dòng)拷貝操作。
55.如權(quán)利要求53所述的處理系統(tǒng),其中,所述初始程序加載程序選擇性地執(zhí)行所述完全啟動(dòng)拷貝操作和所述快速啟動(dòng)拷貝操作。
56.如權(quán)利要求50所述的處理系統(tǒng),其中,所述隨機(jī)存取存儲(chǔ)器包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。
57.如權(quán)利要求50所述的處理系統(tǒng),其中,所述操作系統(tǒng)映象文件包括至少兩個(gè)或多個(gè)包括主要映象文件系統(tǒng)和次要映象文件系統(tǒng)的映象文件系統(tǒng)。
58.如權(quán)利要求57所述的處理系統(tǒng),當(dāng)所述引導(dǎo)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述主要映象文件系統(tǒng)和所述次要映象文件系統(tǒng)都從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,而在所述引導(dǎo)程序執(zhí)行快速啟動(dòng)拷貝時(shí),所述主要和次要映象文件系統(tǒng)中只有所述主要映象文件系統(tǒng)從所述只讀存儲(chǔ)器中被拷貝到所述隨機(jī)存取存儲(chǔ)器中。
59.如權(quán)利要求50所述的處理系統(tǒng),其中,所述操作系統(tǒng)映象文件包括內(nèi)核程序;從由外圍驅(qū)動(dòng)程序、動(dòng)態(tài)鏈接庫(kù)、和系統(tǒng)應(yīng)用程序組成的組中選擇的另外的程序。
60.如權(quán)利要求59所述的處理系統(tǒng),其中,當(dāng)所述起動(dòng)程序執(zhí)行完全啟動(dòng)拷貝時(shí),所述另外的程序和所述內(nèi)核程序從所述只讀存儲(chǔ)器被拷貝到所述隨機(jī)存取存儲(chǔ)器中,并且,所述起動(dòng)程序通過將至少一部分所述內(nèi)核程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中而不將所述另外的程序從所述只讀存儲(chǔ)器拷貝到所述隨機(jī)存取存儲(chǔ)器中,來執(zhí)行快速啟動(dòng)拷貝。
全文摘要
本發(fā)明涉及一種處理系統(tǒng),其包括處理器、存儲(chǔ)可由處理器訪問的操作系統(tǒng)映象文件的只讀存儲(chǔ)器、和也可由處理器訪問的隨機(jī)存取存儲(chǔ)器。處理系統(tǒng)也包括引導(dǎo)程序,其可由處理器執(zhí)行以初始化處理系統(tǒng)來響應(yīng)例如接通電源事件、復(fù)位事件或喚醒事件。接通電源事件發(fā)生在電源被最初提供給處理系統(tǒng)的時(shí)候,而喚醒事件發(fā)生在處理系統(tǒng)要退出低功率操作模式的時(shí)候。復(fù)位事件發(fā)生在例如檢測(cè)出會(huì)使系統(tǒng)重新起動(dòng)的故障的時(shí)候。引導(dǎo)程序選擇性地執(zhí)行將操作系統(tǒng)映象文件從只讀存儲(chǔ)器拷貝到隨機(jī)存取存儲(chǔ)器中的完全啟動(dòng)拷貝,和僅將操作系統(tǒng)映象文件的預(yù)定部分從只讀存儲(chǔ)器拷貝到隨機(jī)存取存儲(chǔ)器中的快速啟動(dòng)拷貝。例如,引導(dǎo)程序可執(zhí)行完全啟動(dòng)拷貝操作來響應(yīng)接通電源事件,并且執(zhí)行快速啟動(dòng)拷貝操作來響應(yīng)喚醒事件和/或復(fù)位事件。更進(jìn)一步的,引導(dǎo)程序可將快速啟動(dòng)拷貝操作的執(zhí)行限制成其中隨機(jī)存取存儲(chǔ)器通過了對(duì)一個(gè)或多個(gè)含有在之前完全啟動(dòng)拷貝操作期間從只讀存儲(chǔ)器中拷貝來的操作系統(tǒng)選定部分的區(qū)域的內(nèi)容進(jìn)行的完整性檢查的情形。
文檔編號(hào)G06F9/445GK101067790SQ20071010221
公開日2007年11月7日 申請(qǐng)日期2007年4月27日 優(yōu)先權(quán)日2006年5月4日
發(fā)明者S·埃斯?fàn)? R·馬丁, C·伯吉斯, B·斯特克 申請(qǐng)人:Qnx軟件操作系統(tǒng)德國(guó)有限公司