計算機平臺嵌入式作業系統切換處理方法及系統的製作方法
2023-07-15 04:00:16 1
專利名稱:計算機平臺嵌入式作業系統切換處理方法及系統的製作方法
技術領域:
本發明是關於一種計算機信息技術,特別是關於一種計算機平臺嵌入式作業系統切換處理方法及系統,應用在一計算機平臺,該計算機平臺須具有一可擦寫式非揮發性存儲器(例如快閃記憶體),且應用該可擦寫式非揮發性存儲器以嵌入方式儲放多份的作業系統程序碼,對該計算機平臺提供一備用作業系統切換處理功能,可在其中主用作業系統程序碼發生損毀狀況時,將該計算機平臺切換為使用備用作業系統程序碼執行開機程序。
背景技術:
傳統上計算機平臺的作業系統通常是預先存入在一硬碟裝置中,再在實際應用時令計算機平臺的BIOS(Basic Input/Output System)基本輸出入系統程序,將該硬碟裝置上儲存的作業系統程序碼加載到內存中,對該計算機平臺執行開機程序。完成此作業系統加載的開機程序後,使用者即可操控計算機平臺執行所需的應用功能。
然而隨著計算機技術的進展,目前已有許多小型計算機平臺,例如掌上型計算機、智能型行動電話等等,已開始採用存取速度較硬碟裝置更快的快閃記憶體(flash memory)作為作業系統程序碼的儲存裝置。這種方式儲存的作業系統即稱為嵌入式作業系統(embedded operatingsystem)。此外,為了使計算機平臺的運行具有更高的穩定性,通常是在快閃記憶體中存儲至少二份作業系統程序碼,其中一份作為主用的作業系統程序碼,另一份則作為備用,這樣可在主用的作業系統程序碼發生損毀狀況時,將該計算機平臺切換為使用備用作業系統程序碼執行開機程序。
在實際操作上,計算機平臺的BIOS系統程序將作業系統程序碼從快閃記憶體中讀取出來時,首先要對讀取出來的程序碼進行一查錯程序,檢驗作業系統程序碼是否有發生錯誤。目前計算機信息業界常採用的一種作業系統程序碼查錯方法是加總比對法(check sum)。若主用作業系統程序碼經加總比對法的查錯結果是存在錯誤,則計算機平臺的BIOS系統程序即會被切換,改用備用作業系統程序碼執行開機程序。
然而上述應用加總比對法查錯方法檢驗作業系統程序碼的缺點是儲存在快閃記憶體中的作業系統程序碼並非恆久地固定不變,在計算機平臺的實際運行過程中會不斷地新加入一些設定值或記錄數據,因此使儲存在快閃記憶體中的作業系統程序碼在整體上的加總比對法會不斷地有所變動。這一狀況會使計算機平臺在每次開機時,均需對作業系統程序碼重新執行一次加總比對法計算程序,因此頗為耗費系統資源及處理時間,也就延長了開機程序所需的時間。若作業系統程序碼的容量倍增,例如從32MB增加到64MB,則所需的加總比對法計算時間也將隨之而倍增。
發明內容
為克服上述現有技術的缺點,本發明的主要目的在於提供一種計算機平臺嵌入式作業系統切換處理方法及系統,計算機平臺可更為快速及方便地判斷一作業系統的程序碼是否有誤,使作業系統加載的開機程序的執行過程更為快速而有效。
本發明的計算機平臺嵌入式作業系統切換處理方法及系統是應用在一計算機平臺,對該計算機平臺提供一備用作業系統切換處理功能;其中該計算機平臺具有一可擦寫式非揮發性存儲器,且該可擦寫式非揮發性存儲器預先規劃有至少二個作業系統儲存區,包括一主用作業系統儲存區和一備用作業系統儲存區,分別儲存同一個作業系統的二份相同的程序碼。
本發明的計算機平臺嵌入式作業系統切換處理方法至少包括在該主用作業系統儲存區儲存的作業系統程序碼每次被成功加載實際執行時,檢測其程序碼否可正常運行;若是,則將一作業系統狀態旗標設定為一正常狀態設定值;響應該計算機平臺發出的一開機要求事件,首先檢查該作業系統狀態旗標當前的設定值;若為正常狀態設定值,則發出一主用作業系統加載激活信息,並將該作業系統狀態旗標設定為一異常狀態設定值;反之,若為異常狀態設定值,則發出一作業系統加載信道切換激活信息;以及響應該作業系統加載信道切換激活信息,將該計算機平臺的作業系統加載信道從該主用作業系統儲存區切換到該備用作業系統儲存區,令該計算機平臺執行一備用作業系統加載程序;並同時將一主用作業系統加載信道失能旗標設定為真;並進而在該備用作業系統儲存區也發生損毀的情況下,將一備用作業系統加載信道失能旗標的值設定為真。
在實體架構上,本發明的計算機平臺嵌入式作業系統切換處理系統至少包括一開機主控模塊,可響應該計算機平臺上的各個開機要求事件,執行一開機主控功能,且此開機主控模塊設置有一作業系統狀態旗標、一主用作業系統加載信道失能旗標以及一備用作業系統加載信道失能旗標;一作業系統檢測模塊,它是整合到該計算機平臺的作業系統中,且其可在該主用作業系統儲存區儲存的作業系統每次被成功加載而實際執行時,被啟動檢測該作業系統是否可正常運行;若是,則將該作業系統狀態旗標設定為一正常狀態設定值,該正常狀態設定值供該開機主控模塊在開機程序時作為判定上次作業系統是否成功加載並可實際執行的依據,其中該開機主控模塊判斷該作業系統狀態旗標為正常狀態設定值後,是將該作業系統狀態旗標設定為一異常狀態設定值,供該開機主控模塊在下次開機程序時判斷出該作業系統狀態旗標仍維持異常狀態設定值,則發出一作業系統加載信道切換激活信息;以及一作業系統加載信道切換模塊,可響應該開機主控模塊發出的作業系統加載信道切換激活信息,將該開機主控模塊的作業系統加載信道從該主用作業系統儲存區切換到該備用作業系統儲存區,令該開機主控模塊執行一備用作業系統加載程序;並同時將一主用作業系統加載信道失能旗標設定為真;並可進而在該備用作業系統儲存區也發生損毀的情況下,將一備用作業系統加載信道失能旗標的值設定為真。
本發明的計算機平臺嵌入式作業系統切換處理方法及系統是設置一作業系統狀態旗標,顯示每一次開機後的主用作業系統程序碼的執行狀態是否正常,之後再度開機時即可依據此作業系統狀態旗標當前的設定值,判斷主用作業系統程序碼是否有發生損毀狀況;若是,則即切換至備用的作業系統程序碼來進行開機程序。本發明可讓計算機平臺比先前採用的加總比對法查錯方法更為快速及方便地判斷主用作業系統程序碼是否有誤,作業系統加載開機程序的執行過程更為快速而有效。
圖1是本發明的計算機平臺嵌入式作業系統切換處理系統的應用方式及其實體架構的對象導向組件模型的系統架構示意圖。
具體實施例方式
實施例以下配合附圖,詳細說明本發明的計算機平臺嵌入式作業系統切換處理方法及系統的實施例。
圖1顯示本發明的計算機平臺嵌入式作業系統切換處理系統(如標號100所指虛線框包括的部分)的應用方式及其實體架構的對象導向組件模型(object-oriented component model)。如圖所示,本發明的計算機平臺嵌入式作業系統切換處理系統100在實際應用上是搭載到一計算機平臺10,且該計算機平臺10須為具有一可擦寫式非揮發性存儲器,例如快閃記憶體20,且該快閃記憶體20是預先規劃有至少二個作業系統儲存區,包括一主用作業系統儲存區21和一備用作業系統儲存區22,分別儲存同一個作業系統的二份相同程序碼。在實際應用時,本發明的計算機平臺嵌入式作業系統切換處理系統100可對該計算機平臺10提供一備用作業系統切換處理功能,可在該快閃記憶體20的主用作業系統儲存區21儲放的程序碼發生損毀狀況時,將該計算機平臺10切換為使用備用作業系統儲存區22儲放的程序碼執行開機程序。
如圖1所示,本發明的計算機平臺嵌入式作業系統切換處理系統100的實體架構的對象導向組件模型(object-oriented component model)至少包括(a)一開機主控模塊110;(b)一作業系統檢測模塊120;以及(c)一作業系統加載信道切換模塊130;並可進而選擇性地包括一系統映像寫入模塊140和一警示模塊150。在具體實施上,作業系統檢測模塊120和系統映像寫入模塊140是整合到計算機平臺10的作業系統(operating system,OS),其餘的開機主控模塊110及作業系統加載信道切換模塊130是整合到該計算機平臺10的BIOS(Basic Input/OutputSystem)基本輸出入系統程序。
以下分別說明本發明的計算機平臺嵌入式作業系統切換處理系統100中的各個構件的個別屬性及功能。
開機主控模塊110是整合到該計算機平臺10的BIOS系統程序,且在實際操作時可響應該計算機平臺10上的各個開機要求事件201執行一開機主控功能,且此開機主控模塊110設置有以下旗標一作業系統狀態旗標111、一主用作業系統加載信道失能旗標112以及一備用作業系統加載信道失能旗標113,在此須提出說明的是,該通道失能旗標(112及113)的設定數量是依據作業系統儲存區的設置數量而定。在執行此開機主控功能的過程中,此開機主控模塊110會檢查此作業系統狀態旗標111、主用作業系統加載信道失能旗標112和備用作業系統加載信道失能旗標113的設定狀態,即為[真]或[假],執行對應的開機控管功能。當開機主控模塊110在開機自我測試完成後,將該作業系統狀態旗標111設成異常狀態設定值,也就是將狀態設定值設定為[假]。
作業系統檢測模塊120是整合到計算機平臺10的作業系統中,也就是隨同作業系統的程序碼儲存在快閃記憶體20的主用作業系統儲存區21和備用作業系統儲存區22。在實際操作時,此作業系統檢測模塊120即可在每次該主用作業系統儲存區21儲存的作業系統程序碼正常被執行時(也就是計算機平臺10可利用該主用作業系統儲存區21所儲存的程序碼加載並順利進入作業系統之後),將上述作業系統狀態旗標111的狀態設定值由[假]值設定為[真]值,代表一正常狀態設定值,也就是由該作業系統狀態旗標111的狀態設定值[真]值,供該開機主控模塊110判知上次開機已順利加載作業系統並進入作業系統中,因此,不須進行作業系統加載信道的切換處理。在具體實施上,此作業系統檢測模塊120是搭載到該計算機平臺10的作業系統,因此是在主用作業系統儲存區21被成功加載而實際執行時才會被執行將該作業系統狀態旗標111設定到正常狀態設定值。此外,當該開機主控模塊110進行開機自我測試階段中,判斷出該作業系統狀態旗標111的狀態設定值為[假]值時,也就是上次開機程序並未順利完成,則依據該作業系統狀態旗標111所對應的作業系統儲存區找出對應的加載通道,設定與該加載信道對應的加載信道失能旗標的狀態值為失能狀況值[真]值,如此,在該開機主控模塊110進行開機自我測試階段則可判知該作業系統狀態旗標111的狀態設定值為[假]值時,即檢查主用作業系統加載信道失能旗標112和備用作業系統加載信道失能旗標113,分別判斷主用作業系統加載信道或備用作業系統加載信道是否發生失能狀況,從而可適時執行加載信道的切換程序。
作業系統加載信道切換模塊130可響應上述開機主控模塊110所發出的備用作業系統加載激活信息,將該開機主控模塊110的作業系統加載信道從該主用作業系統儲存區21切換到該備用作業系統儲存區22,並同時將一主用作業系統加載信道失能旗標112的值設定為[真]。此外,作業系統加載信道切換模塊130也可進而在該開機主控模塊110檢測到備用作業系統儲存區22也發生損毀的情況下,將一備用作業系統加載信道失能旗標113的值設定為[真]。在具體實施上,此主用作業系統加載信道失能旗標112和備用作業系統加載信道失能旗標113是通過該計算機平臺10的BIOS程序來設定的。
系統映像寫入模塊140可於上述主用作業系統加載信道失能旗標112的設定值為[真]的情況下(也就是主用作業系統儲存區21發生程序碼損毀的情況下),響應地啟動一系統映像來源裝置30,例如是一遠程的網絡硬碟機,將其中儲放的一個系統映像(system image)經下載寫入到該發生程序碼損毀狀況的主用作業系統儲存區21;並可進而在上述備用作業系統加載信道失能旗標113的設定值為[真]的情況下(也就是備用作業系統儲存區22也發生程序碼損毀的情況下),響應地啟動相同的系統映像寫入程序,將系統映像寫入到該備用作業系統儲存區22。
警示模塊150可於上述開機主控模塊110無法令作業系統加載信道切換模塊130成功地利用主用作業系統儲存區21和備用作業系統儲存區22執行開機程序的情況下(也就是主用作業系統加載信道失能旗標112和備用作業系統加載信道失能旗標113的設定值均為[真]的情況下),回應該情況而產生一使用者可感知的警示信息,例如在計算機平臺10的屏幕11上產生一文字型式的警示信息,告知系統管理人員進行必要的維護工作。
以下即以一應用實例說明本發明的計算機平臺嵌入式作業系統切換處理方法在實際應用時的運作方式。
請參閱圖1,在實際應用時,使用者即可在初始將一作業系統的程序碼以雙份方式同時寫入到快閃記憶體20中的主用作業系統儲存區21和備用作業系統儲存區22。當計算機平臺10實際開機時(也就是發出一開機要求事件201時),即可令開機主控模塊110首先加載主用作業系統儲存區21儲放的作業系統程序碼。若加載成功,即可令作業系統中所搭載的作業系統檢測模塊120響應地檢測該作業系統的程序碼是否可正常運行;若是,將作業系統狀態旗標111設定到一正常狀態設定值。
之後當使用者要再度對計算機平臺10進行開機程序時,即可發出一開機要求事件201,開機主控模塊110響應地首先檢查該作業系統狀態旗標111當前的狀態設定值。由於此時該作業系統狀態旗標111當前的狀態設定值為正常狀態設定值,因此開機主控模塊110即響應地發出一主用作業系統加載激活信息到作業系統加載信道切換模塊130,令作業系統加載信道切換模塊130響應地激活該快閃記憶體20的主用作業系統儲存區21執行一作業系統加載的開機程序。當開機主控模塊110檢查完作業系統狀態旗標111後,會在將控制權轉交給作業系統之前,將該作業系統狀態旗標111恢復成異常狀態設定值。
若加載成功,即可啟動作業系統檢測模塊120在作業系統程序碼被實際執行時,檢測其程序碼是否可正常運行;若是,則將該作業系統狀態旗標111設為正常狀態設定值,也就是將上述作業系統狀態旗標111的狀態設定值由[假]值設定為[真]值,由該作業系統狀態旗標111的狀態設定值[真]值,該開機主控模塊110可判知上次開機已可順利加載作業系統並進入作業系統中,因此,下次開機則不須進行作業系統加載信道的切換處理。
反之若加載失敗(代表主用作業系統儲存區21發生程序碼損毀狀況),則由於作業系統檢測模塊120未能被啟動執行,因此該作業系統狀態旗標111的狀態設定值仍保持為該開機主控模塊110所設定的異常狀態設定值[假]值,因此,該開機主控模塊110在下次開機則須進行作業系統加載信道的切換處理。
由於此時該作業系統狀態旗標111當前的狀態設定值為異常狀態設定值[假]值,因此開機主控模塊110即響應地發出一作業系統加載信道切換激活信息到作業系統加載信道切換模塊130,令作業系統加載信道切換模塊130響應地將該開機主控模塊110的作業系統加載信道,從該主用作業系統儲存區21切換到該備用作業系統儲存區22,且該開機主控模塊110也將一主用作業系統加載信道失能旗標112的值設定為[真]。此切換動作即可令開機主控模塊110改成從該快閃記憶體20的備用作業系統儲存區22執行一作業系統加載的開機程序。在此情況下,由於主用作業系統儲存區21發生程序碼損毀狀況,使得主用作業系統加載信道失能旗標112的設定值為[真],因此,在該計算機平臺10順利進入作業系統後,使映像寫入模塊140發出一系統映像寫入激活信息,啟動一系統映像來源裝置30,例如一遠程網絡硬碟機,將其中儲放的一個系統映像經下載寫入到該發生程序碼損毀狀況的主用作業系統儲存區21。
但若備用作業系統儲存區22也發生程序碼損毀狀況,使得開機程序無法成功地完成,則該開機主控模塊110進而將該備用作業系統加載信道失能旗標113的值也設定為[真]。在主用作業系統加載信道失能旗標112和備用作業系統加載信道失能旗標113二者的設定值均為[真]的情況下,代表主用作業系統儲存區21和備用作業系統儲存區22二者均發生損毀狀況而無法正常運行,因此令開機主控模塊110響應地發出一警示激活信息,令警示模塊150響應地發出一使用者可感知的警示信息,例如在計算機平臺10的屏幕11上產生一文字型式的警示信息,告知系統管理人員進行必要的維護工作。
總而言之,本發明提供了一種計算機平臺嵌入式作業系統切換處理方法及系統,可搭配至一計算機平臺,對該計算機平臺提供一計算機平臺嵌入式作業系統切換處理功能;本發明設置一作業系統狀態旗標顯示每一次開機後的主用作業系統程序碼的執行狀態是否正常,之後再度開機時即可依據此作業系統狀態旗標當前的設定值,判斷主用作業系統程序碼是否有發生損毀狀況;若是,則切換到備用作業系統程序碼進行開機程序。本發明可讓計算機平臺比先前採用的加總比對法查錯方法更為快速及方便地判斷主用作業系統程序碼是否有誤,讓作業系統加載的開機程序執行過程更為快速而有效。
權利要求
1.一種計算機平臺嵌入式作業系統切換處理方法,可應用在一計算機平臺,對該計算機平臺提供一備用作業系統切換處理功能;其中該計算機平臺具有一可擦寫式非揮發性存儲器,且該可擦寫式非揮發性存儲器是預先規劃有至少二個作業系統儲存區,包括一主用作業系統儲存區和一備用作業系統儲存區,分別儲存同一個作業系統的二份相同的程序碼,其特徵在於,該計算機平臺嵌入式作業系統切換處理方法至少包括在該主用作業系統儲存區儲存的作業系統程序碼每次被成功加載實際執行時,檢測其程序碼否可正常運行;若是,則將一作業系統狀態旗標設定為一正常狀態設定值;響應該計算機平臺發出的一開機要求事件,首先檢查該作業系統狀態旗標當前的設定值;若為正常狀態設定值,則發出一主用作業系統加載激活信息,並將該作業系統狀態旗標設定為一異常狀態設定值;反之,若為異常狀態設定值,則發出一作業系統加載信道切換激活信息;以及響應該作業系統加載信道切換激活信息,將該計算機平臺的作業系統加載信道從該主用作業系統儲存區切換到該備用作業系統儲存區,令該計算機平臺執行一備用作業系統加載程序;並同時將一主用作業系統加載信道失能旗標設定為真;並進而在該備用作業系統儲存區也發生損毀的情況下,將一備用作業系統加載信道失能旗標的值設定為真。
2.如權利要求1所述的計算機平臺嵌入式作業系統切換處理方法,其特徵在於,該可擦寫式非揮發性存儲器是一快閃記憶體。
3.如權利要求1所述的計算機平臺嵌入式作業系統切換處理方法,其特徵在於,該計算機平臺嵌入式作業系統切換處理方法進而還包括該主用作業系統加載信道失能旗標的設定值為真的情況下,響應地將一個系統映像寫入至該主用作業系統儲存區。
4.如權利要求1所述的計算機平臺嵌入式作業系統切換處理方法,其特徵在於,該計算機平臺嵌入式作業系統切換處理方法進而還包括備用作業系統加載信道失能旗標的設定值為真的情況下,響應地將一個系統映像寫入到該備用作業系統儲存區。
5.如權利要求1所述的計算機平臺嵌入式作業系統切換處理方法,其特徵在於,該計算機平臺嵌入式作業系統切換處理方法進而還包括在該主用作業系統加載信道失能旗標和該備用作業系統加載信道失能旗標二者的設定值均為真的情況下,回應此情況而產生一使用者可感知的警示信息,響應地產生一人類可感知的警示信息。
6.一種計算機平臺嵌入式作業系統切換處理系統,可搭配到一計算機平臺,對該計算機平臺提供一備用作業系統切換處理功能;其中該計算機平臺具有一可擦寫式非揮發性存儲器,且該可擦寫式非揮發性存儲器是預先規劃有至少二個作業系統儲存區,包括一主用作業系統儲存區和一備用作業系統儲存區,分別儲存同一個作業系統的二份相同的程序碼,其特徵在於,該計算機平臺嵌入式作業系統切換處理系統至少包括一開機主控模塊,可響應該計算機平臺上的各個開機要求事件,執行一開機主控功能,且此開機主控模塊設置有一作業系統狀態旗標、一主用作業系統加載信道失能旗標以及一備用作業系統加載信道失能旗標;一作業系統檢測模塊,它是整合到該計算機平臺的作業系統中,且其可在該主用作業系統儲存區儲存的作業系統每次被成功加載而實際執行時,被啟動檢測該作業系統是否可正常運行;若是,則將該作業系統狀態旗標設定為一正常狀態設定值,該正常狀態設定值供該開機主控模塊在開機程序時作為判定上次作業系統是否成功加載並可實際執行的依據,其中該開機主控模塊判斷該作業系統狀態旗標為正常狀態設定值後,是將該作業系統狀態旗標設定為一異常狀態設定值,供該開機主控模塊在下次開機程序時判斷出該作業系統狀態旗標仍維持異常狀態設定值,則發出一作業系統加載信道切換激活信息;以及一作業系統加載信道切換模塊,可響應該開機主控模塊發出的作業系統加載信道切換激活信息,將該開機主控模塊的作業系統加載信道從該主用作業系統儲存區切換到該備用作業系統儲存區,令該開機主控模塊執行一備用作業系統加載程序;並同時將一主用作業系統加載信道失能旗標設定為真;並可進而在該備用作業系統儲存區也發生損毀的情況下,將一備用作業系統加載信道失能旗標的值設定為真。
7.如權利要求6所述的計算機平臺嵌入式作業系統切換處理系統,其特徵在於,該可擦寫式非揮發性存儲器是一快閃記憶體。
8.如權利要求6所述的計算機平臺嵌入式作業系統切換處理系統,其特徵在於,該作業系統檢測模塊對該作業系統狀態旗標進行更改動作的時間點是其將控制權移交給作業系統之前。
9.如權利要求6所述的計算機平臺嵌入式作業系統切換處理系統,其特徵在於,該計算機平臺嵌入式作業系統切換處理系統進而還包括一系統映像寫入模塊,可在該主用作業系統加載信道失能旗標的設定值為真的情況下,響應地啟動一系統映像來源裝置,將該系統映像來源裝置中儲放的一個系統映像寫入到發生程序碼損毀狀況的主用作業系統儲存區。
10.如權利要求9所述的計算機平臺嵌入式作業系統切換處理系統,其特徵在於,該系統映像寫入模塊可進而在該備用作業系統加載信道失能旗標的設定值為真的情況下,響應地啟動該系統映像來源裝置,將該系統映像來源裝置中儲放的一個系統映像寫入到該備用作業系統儲存區。
11.如權利要求6所述的計算機平臺嵌入式作業系統切換處理系統,其特徵在於,該計算機平臺嵌入式作業系統切換處理系統進而還包括一警示模塊,可在該主用作業系統加載信道失能旗標和該備用作業系統加載信道失能旗標二者的設定值均為真的情況下,回應此情況產生一使用者可感知的警示信息。
全文摘要
一種計算機平臺嵌入式作業系統切換處理方法及系統,搭配至一計算機平臺,提供一備用作業系統切換處理功能,該計算機平臺嵌入式作業系統切換處理系統包括開機主控模塊、作業系統檢測模塊以及作業系統加載信道切換模塊,還可包括系統映像寫入模塊和警示模塊;本發明設置一作業系統狀態旗標,顯示每一次開機後的主用作業系統程序碼的執行狀態是否正常,之後再度開機時即可依據此作業系統狀態旗標當前的設定值,判斷主用作業系統程序碼是否有發生損毀狀況;若是,切換到備用的作業系統程序碼來進行開機程序,本發明比現有技術的查錯方法更為快速及方便地判斷主用作業系統程序碼是否有誤,作業系統加載開機程序的執行過程更為快速而有效。
文檔編號G06F11/14GK1979417SQ20051012756
公開日2007年6月13日 申請日期2005年12月5日 優先權日2005年12月5日
發明者陳志偉 申請人:英業達股份有限公司