專利名稱:一種基于可擴展固件接口的操作系統(tǒng)切換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種操作系統(tǒng)切換方法,尤其涉及一種通過超級操作系統(tǒng)通過網(wǎng) 絡在一臺計算機中的多個操作系統(tǒng)之間進行切換的方法。
背景技術(shù):
傳統(tǒng)的操作系統(tǒng)期望控制所有的計算機系統(tǒng)資源。因此,每個操作系統(tǒng)下的 文件系統(tǒng)只能將系統(tǒng)資源作為自身獨有的資源來操控。這就阻止了其它操作系統(tǒng)的 載入并進行獨立于當前操作系統(tǒng)的操作。只有能與該操作系統(tǒng)相匹配的媒介才能被 遠程調(diào)用,這些媒介功能受到了當前操作系統(tǒng)所能提供的限制,而本發(fā)明可以克服 這一局限性。
本申請若與超級或者高一級的操作系統(tǒng)一起使用時特別有用。超級操作系統(tǒng),
例如在美國專利申請案09/285, 147所描述的閃存虛擬操作系統(tǒng),利用虛擬化計算 機系統(tǒng)資源,解決了操作系統(tǒng)獨霸內(nèi)存的問題,這樣多個操作系統(tǒng)就能在同一臺計 算機上進行操作。
通過互聯(lián)網(wǎng)或者類似的遠程通信系統(tǒng)監(jiān)控目標計算機的操作系統(tǒng)允許計算機 用戶管理和操作其它計算機和操作系統(tǒng)以及它們的資源和用戶。這就使用戶可以無 需到目標計算機的現(xiàn)場工作。監(jiān)控遠程計算機上的多個操作系統(tǒng)可使用戶能從更多 的操作系統(tǒng)中運行更廣泛的應用程序中獲利。
另外,如果運行期操作系統(tǒng)的主啟動塊或一個二級存儲物理設(shè)備的某個文件 系統(tǒng)被破壞,那么這個操作系統(tǒng)就無法使用了。而通過進入一個超級操作系統(tǒng)的媒 介,用戶就可以命令計算機切換到另一個操作系統(tǒng)中去,它既可以是拷貝的運行期 操作系統(tǒng),也可以是一個新的操作系統(tǒng)。通過設(shè)置新的啟動塊和/或新的文件系統(tǒng), 用戶就可以有選擇地保存或恢復目標電腦上的操作系統(tǒng)。
與本發(fā)明相關(guān)的,美國專利申請09/285, 147描述了閃存虛擬超級操作系統(tǒng) (S0S) 09/285, 147和09/376, 825描述了保護性分區(qū)及虛擬化。美國專利申請09/409, 013描述了閃存虛擬超級操作系統(tǒng)的用戶圖像截面,而09/517, 545則描 述了通過超級操作系統(tǒng)上傳和下載操作系統(tǒng)。
目前計算機用戶特別是互聯(lián)網(wǎng)用戶是通過運行期操作系統(tǒng)上的一套"家長控 制"功能的軟件來監(jiān)測計算機的。然而,許多兒童用戶知道這些功能并比他們的父 母更懂得如何使用和禁用,因而這些監(jiān)測功能往往沒有多大的效果。不過超級操作 系統(tǒng)可以設(shè)置監(jiān)測和捕捉鍵盤、音頻和視頻的輸入/輸出活動,并報告給另一個操 作系統(tǒng)(通過共享存儲和電子郵件等),提供一個更簡單和更有效的監(jiān)督方法來防 止或報告未經(jīng)許可的活動。
閃存虛擬超級操作系統(tǒng)可通過捕獲運行期操作系統(tǒng)上的應用程序的所有輸入 輸出記錄并傳輸?shù)搅硪粋€操作系統(tǒng)。這將使一些電子商務中的爭議可通過一個獨立 方所出示的事實數(shù)據(jù)來解決,而不是目前主要依賴賣主或客戶的在線交易數(shù)據(jù)。
目前對于一個網(wǎng)絡客戶或網(wǎng)絡中的遠程管理來說,主要的生產(chǎn)廠商只安裝了 -個操作系統(tǒng)。典型的情況是公司為統(tǒng)一的網(wǎng)絡管理而選擇一個流行的操作系統(tǒng)。 一臺計算機只有一個操作系統(tǒng)的局限性促使很多用戶舍棄其它操作系統(tǒng)的特殊價 值和優(yōu)勢。因此提供一個可以在任何個人計算機上設(shè)置通過互聯(lián)網(wǎng)或其它網(wǎng)絡監(jiān)測 和控制的多操作系統(tǒng)的計劃,對現(xiàn)有技術(shù)來說也是有益的。
在過去的二十多年里,計算機技術(shù)的所有硬件方面都已有了顯著的進展,但 是操作系統(tǒng)產(chǎn)業(yè)很少有新的進展,至少部分原因在于網(wǎng)絡環(huán)境中每個計算機系統(tǒng)只 有一個操作系統(tǒng)的局限性。因此,在當?shù)鼗蜻h程的電腦上,如果能簡化在運行期操 作系統(tǒng)間的監(jiān)測、控制和切換,則能夠加強和增進軟件的進步。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述問題,提供了一種計算機操作系統(tǒng)切換方法,為 一個或多個用戶從本地或遠程對含有一個或多個操作系統(tǒng)的計算機進行監(jiān)測和控 制提供了基礎(chǔ),還為其它的超級操作系統(tǒng)服務如創(chuàng)建操作分區(qū)以及多個操作系統(tǒng)共 存提供了技術(shù)實現(xiàn)的基礎(chǔ)。
本發(fā)明的技術(shù)方案為本發(fā)明揭示了一種基于可擴展固件接口的操作系統(tǒng)切 換方法,在一臺計算機的多個操作系統(tǒng)中進行切換,該方法包括-
啟動可擴展固件接口,然后啟動一個第一操作系統(tǒng);懸掛該計算機的當前操作; 存儲第一操作系統(tǒng)至二級存儲設(shè)備;
回到可擴展固件接口服務狀態(tài),載入相應的全球唯一標識分區(qū)表;
從二級存儲設(shè)備獲取第二操作系統(tǒng);
恢復該計算機被懸掛的操作。
上述的基于可擴展固件接口的操作系統(tǒng)切換方法,其中,該第一操作系統(tǒng)和 該第二操作系統(tǒng)是不同的操作系統(tǒng)。
上述的基于可擴展固件接口的操作系統(tǒng)切換方法,其中,該第一操作系統(tǒng)和 該第二操作系統(tǒng)是相對獨立的,無主客之分的操作系統(tǒng)。
上述的基于可擴展固件接口的操作系統(tǒng)切換方法,其中,由本地或遠程超級 計算機控制該計算機的多個操作系統(tǒng)之間的切換。
上述的基于可擴展固件接口的操作系統(tǒng)切換方法,其中,由本地或遠程超級 計算機控制該計算機的多個操作系統(tǒng)之間的切換可以通過EFI或任何一個運行期 操作系統(tǒng)。
本發(fā)明還揭示了一種操作系統(tǒng)切換方法,在一臺計算機的多個操作系統(tǒng)中進 行切換,其特征在于,該方法包括
懸掛該計算機的運行期操作系統(tǒng)至ACPI S4的休眠狀態(tài); 將該運行期操作系統(tǒng)放置在非易失性存儲器中; 從該非易失性存儲器的分區(qū)中選擇第二操作系統(tǒng); 喚醒該第二操作系統(tǒng)至ACPI GO的工作狀態(tài)。
上述的操作系統(tǒng)切換方法,其中,由超級操作系統(tǒng)控制操作系統(tǒng)之間的切換, 該超級操作系統(tǒng)包括虛擬全球唯一標識分區(qū)表,該虛擬全球唯一標識分區(qū)表包含該 運行期操作系統(tǒng)和該第二操作系統(tǒng)的懸掛和喚醒信息。
本發(fā)明對比現(xiàn)有技術(shù)有如下的有益效果本發(fā)明通過使用運行期操作系統(tǒng)的 ACPI休眠機制,通過懸掛系統(tǒng)使用來切換操作系統(tǒng),把系統(tǒng)資源的控制權(quán)交給下 一個操作系統(tǒng),并通過還原而不是冷啟動來切換到處于懸掛狀態(tài)的操作系統(tǒng)。對比 現(xiàn)有技術(shù),本發(fā)明實現(xiàn)在同一計算機的多個操作系統(tǒng)之間任意而快速的自由切換。
圖1是閃存虛擬操作系統(tǒng)媒介和閃存虛擬操作系統(tǒng)服務器的關(guān)系示意圖。 圖2是本發(fā)明的同一計算機上不同操作系統(tǒng)之間切換方法的一個實施例的流 程圖。
圖3是本發(fā)明的同一計算機上不同操作系統(tǒng)之間切換方法的另一實施例的流 程圖。
圖4是傳統(tǒng)的ACPI邏輯的狀態(tài)示意圖。
圖5是超級操作系統(tǒng)控制運行期操作系統(tǒng)喚醒和休眠的示意圖。 圖6和圖7是超級操作系統(tǒng)內(nèi)存映射的示意圖。
具體實施例方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的描述。
本發(fā)明提供了從本地或遠程的超級操作系統(tǒng)進行監(jiān)測和控制。超級操作系統(tǒng) 的監(jiān)測是通過不同的應用程序例如互聯(lián)網(wǎng)瀏覽器來監(jiān)督一個或更多個計算機和虛 擬環(huán)境的綜合應用,并限制區(qū)域訪問。超級操作系統(tǒng)的控制是通過操縱運行期操作 系統(tǒng)和應用程序來報告和控制一個或更多個計算機和虛擬環(huán)境,包括關(guān)機、重啟、 恢復、在不同的操作系統(tǒng)之間的切換。
如圖1所示,使用一個本地的程序(例如圖1中的閃存虛擬操作系統(tǒng)服務器 10)和一個遠程的監(jiān)督程序(例如閃存虛擬操作系統(tǒng)媒介11),閃存虛擬操作系 統(tǒng)服務器10由自身或者由閃存虛擬操作系統(tǒng)媒介11發(fā)動控制目標計算機的操作。 如果是由服務器10自身發(fā)動的操作,媒介11僅在有需要遠程提供程序、協(xié)議或其 它所要的信息時被啟用。如果是由媒介ll發(fā)動的要切換操作系統(tǒng)的操作,媒介ll 將控制服務器io直接切換。
通過閃存虛擬操作系統(tǒng)媒介11和閃存虛擬操作系統(tǒng)服務器10之間的溝通, 可以在具有超級操作系統(tǒng)功能的計算機上通過因特網(wǎng)來監(jiān)測一個或多個操作系統(tǒng)。 此處的因特網(wǎng)是本發(fā)明首選的電信系統(tǒng),然而可以理解,本發(fā)明的電信系統(tǒng)包括但 不限于網(wǎng)絡(專用局域網(wǎng)、寬帶網(wǎng)等)和相似的有線和無線的數(shù)據(jù)通信系統(tǒng)。
超級操作系統(tǒng)是一個計算機系統(tǒng)的監(jiān)督器,通過控制計算機的現(xiàn)有操作系統(tǒng) 上的所有功能管理所有的計算機和網(wǎng)絡資源。超級操作系統(tǒng)調(diào)節(jié)并支持安裝傳統(tǒng)的 運行期操作系統(tǒng)和嵌入式應用程序。這樣的超級操作系統(tǒng)可以是美國專利09/285, 147中揭示的閃存虛擬操作系統(tǒng)。
閃存虛擬操作系統(tǒng)媒介11在遠程計算機上被啟用,通過互聯(lián)網(wǎng)與擁有閃存虛 擬操作系統(tǒng)服務器IO程序的目標計算機連接,值得注意的是,這里所指的閃存虛 擬操作系統(tǒng)服務器10只是計算機上用于操縱計算機上的本地程序。
全球唯一標識分區(qū)表(GPT, GUID Partition Table)是由Intel為了取代PC 傳統(tǒng)分區(qū)表(MBR)而提出的分區(qū)表。GPT分區(qū)最大可達18ExaByte,每個磁盤可由 128個分區(qū)組成。而傳統(tǒng)分區(qū)表(MBR)的分區(qū)最大可達2TB。而且每個磁盤只能由 4個主分區(qū)。如果將二級存儲的GPT進行虛擬化,所有虛擬化存儲的必要信息都被 儲存在超級數(shù)據(jù)VGPT (Virtual GUID Partition Table)中。
閃存虛擬操作系統(tǒng)服務器10通過讀取分享存儲虛擬全球唯一標識分區(qū)表 VGPT)的當前拷貝,知道有哪些分區(qū)、操作系統(tǒng)和服務器程序是可用的。虛擬目錄 包含了所有的系統(tǒng)虛擬化信息,具體的說包含了當前默認的操作系統(tǒng)序列號、在二 級存儲設(shè)備中的不同的操作系統(tǒng)以及每個操作系統(tǒng)的相關(guān)信息,例如操作系統(tǒng)的開 始絕對邏輯地址和該操作系統(tǒng)啟動塊的開始絕對邏輯地址。
閃存虛擬操作系統(tǒng)媒介11發(fā)送信息和操作(包括操作系統(tǒng)和它們的啟動路徑) 到閃存虛擬操作系統(tǒng)服務器10,后者執(zhí)行命令。從中可以看出,閃存虛擬操作系 統(tǒng)媒介11是為計算機上運行期操作系統(tǒng)裁制的一個程序,可以在操作系統(tǒng)下被激 活后運行。
閃存虛擬操作系統(tǒng)媒介ll捕獲數(shù)據(jù)以提供給第三方記錄系統(tǒng)。具體的說,在 得到目標計算機的閃存虛擬操作系統(tǒng)服務器10的授權(quán)后,閃存虛擬操作系統(tǒng)媒介 11捕獲運行期操作系統(tǒng)中的應用程序的輸入/輸出數(shù)據(jù),并能記錄或傳輸這些數(shù)據(jù) 到其它系統(tǒng)。
通過互聯(lián)網(wǎng)實現(xiàn)上述的監(jiān)測和控制的基石是利用一個超級操作系統(tǒng)的存儲設(shè) 備的虛擬化。一個物理二級存儲設(shè)備例如硬盤或者閃存等,將被分成一組邏輯系統(tǒng), 每組包含一個獨立的操作系統(tǒng)。這些存儲分區(qū)是被保護的存儲區(qū)域,各個操作系統(tǒng) 不會混淆和交換數(shù)據(jù),除非是用戶特意要求的數(shù)據(jù)交換。所有虛擬化存儲的必要信 息都被儲存在虛擬GPT (VGPT)中。通過閃存虛擬操作系統(tǒng)服務器IO得到當前系 統(tǒng)的虛擬目錄的拷貝,對于虛擬目錄里的任何改變,例如運行期操作系統(tǒng)的切換, 將通過虛擬目錄的服務請求傳送至超級操作系統(tǒng)。當使用遠程模式操作時,電腦用戶的監(jiān)督者首先運行閃存虛擬操作系統(tǒng)媒介 11,該媒介可以在EFI內(nèi)運行,也可以在任何一個運行期操作系統(tǒng)內(nèi)運行。該媒介 11通過至少一個網(wǎng)絡進行溝通。首先查詢要監(jiān)測和控制的目標計算機存在與否, 如果所要的操作系統(tǒng)是存在的,閃存虛擬操作系統(tǒng)媒介11將告知目標計算機用戶 該系統(tǒng)存在,并告知閃存虛擬操作系統(tǒng)服務器10取得當前虛擬目錄的拷貝。虛擬 目錄確定了當前默認的操作系統(tǒng)、在二級存儲設(shè)備中的不同的操作系統(tǒng)和每個被存 儲的操作系統(tǒng)的相關(guān)信息,包括操作系統(tǒng)的開始絕對邏輯地址和該操作系統(tǒng)啟動塊 的開始絕對邏輯地址。超級操作系統(tǒng)是一個虛擬操作系統(tǒng)(Virtual 0S),因而是 可以更改的。當前默認操作系統(tǒng)的相關(guān)信息可以被存儲到虛擬操作系統(tǒng)的程序代碼 中,以便虛擬操作系統(tǒng)自動啟動默認操作系統(tǒng)直到默認被改變?yōu)橹?。用戶可以通過 虛擬操作系統(tǒng)的設(shè)置命令像改變二級存儲分區(qū)一樣改變默認操作系統(tǒng)。如果有這樣 的改變,在虛擬操作系統(tǒng)虛擬目錄程序碼中的虛擬目錄和相關(guān)的默認操作系統(tǒng)將會 自動更新。無論在二級存儲中的默認操作系統(tǒng)的實際位置是什么,被校正的地址序 列保證輸入/輸出功能需求的正確執(zhí)行。
綜上所述,計算機上操作系統(tǒng)的控制可以通過本地計算機用戶或者是遠程的 監(jiān)督者來完成,其基本的操作程序是一樣的。本地和遠程控制的區(qū)別是許可方式的 不同,如果是本地控制,那么目標計算機用戶只需請求操作系統(tǒng)間的切換;如果是 遠程控制,目標計算機要給予一個監(jiān)督計算機許可來控制操作系統(tǒng)間的切換。
下面詳細論述同一計算機上的不同操作系統(tǒng)之間的切換過程。請參見圖2,首 先進入步驟S100,啟動可擴展固件接口 EFI,然后啟動一個目標操作系統(tǒng),即后面 所述的第一操作系統(tǒng);再進入步驟S102,懸該計算機上的當前操作;然后進入步 驟S104,存儲第一操作系統(tǒng)至二級存儲設(shè)備;再進入步驟S106:回到可擴展固件 接口EFI服務狀態(tài),載入相應的GPT;再進入步驟S108,從二級存儲設(shè)備中獲取第 二操作系統(tǒng);待切換完成后最后進入步驟SllO,恢復計算機被懸掛的操作。這里 的第一操作系統(tǒng)和第二操作系統(tǒng)是不同的操作系統(tǒng),例如第一操作系統(tǒng)是windows 操作系統(tǒng),而第二操作系統(tǒng)是Linux操作系統(tǒng)。正如上述的,這種不同操作系統(tǒng)之
間的切換,可以通過本地計算機用戶直接發(fā)起,也可以由一個遠程的超級計算機(監(jiān) 督計算機或是稱為遠程的虛擬操作系統(tǒng)媒介)控制發(fā)起。
圖3進一步示出了同一計算機上的不同操作系統(tǒng)之間的切換過程的另一實施例。請參見圖3,首先進入步驟S200,懸該計算機的運行期操作系統(tǒng)至ACPI S4 的休眠狀態(tài);然后進入步驟S202,將運行期操作系統(tǒng)放置在非易失性存儲器中; 再進入步驟S204,從非易失性存儲器的分區(qū)中選擇第二操作系統(tǒng);待切換完成后 最后進入步驟S206,喚醒第二操作系統(tǒng)至ACPI GO的工作狀態(tài)。這里的第一操作 系統(tǒng)和第二操作系統(tǒng)是不同的操作系統(tǒng),例如第一操作系統(tǒng)是windows操作系統(tǒng), 而第二操作系統(tǒng)是Linux操作系統(tǒng)。ACPI是由Intel、 Microsoft和Toshiba共同 開放的高級電源接口配置的電源管理規(guī)格。正如上述的,這種不同操作系統(tǒng)之間的 切換,可以通過本地計算機用戶直接發(fā)起,也可以由一個遠程的超級計算機(監(jiān)督 計算機或是稱為遠程的虛擬操作系統(tǒng)媒介)控制發(fā)起。當由遠程的超級操作系統(tǒng)控 制不同操作系統(tǒng)之間的切換時,超級操作系統(tǒng)包括虛擬目錄,虛擬目錄包含了運行 期操作系統(tǒng)和第二操作系統(tǒng)的懸掛和喚醒信息。
圖4示出了傳統(tǒng)的ACPI的特征,傳統(tǒng)上的ACPI是操作系統(tǒng)用來關(guān)掉外圍設(shè) 備來節(jié)省電源的。傳統(tǒng)上,ACPI的SO狀態(tài)是運行狀態(tài)(Rim State),運行狀態(tài) 下的計算機是完全運行的。ACPI的SI狀態(tài)是懸掛狀態(tài)(Suspend State),懸掛 狀態(tài)下的CPU懸掛活動但仍然維持其內(nèi)容。ACPI的S2和S3狀態(tài)是休眠狀態(tài)(Sle印 State),在這兩個狀態(tài)下,維持內(nèi)存中的內(nèi)容但是CPU內(nèi)容會丟失,而S2和S3 之間的區(qū)別在于是通過固件(EFI)完成的CPU重新初始化還是設(shè)備重新初始化。 ACPI的S4是休眠狀態(tài),在這種狀態(tài)下內(nèi)存內(nèi)容被存儲到磁盤中,內(nèi)容將通過返回 到S0狀態(tài)而恢復,相當于硬件設(shè)備的軟關(guān)機(Soft-off),這一狀態(tài)可以通過操 作系統(tǒng)或固件(EFI)來實現(xiàn)。
本發(fā)明中的ACPI是用來切換到不同的操作系統(tǒng)并使當前操作系統(tǒng)進入ACPI S4的休眠狀態(tài)。S4休眠狀態(tài)由ACPI支持的一種低功耗的休眠狀態(tài)。本發(fā)明實施了 操作系統(tǒng)啟動ACPI的S4休眠狀態(tài),當操作系統(tǒng)啟動ACPI的S4休眠,當前活動的 運行期操作系統(tǒng)負責保存所有的系統(tǒng)狀態(tài)。在進入S4休眠狀態(tài)前,操作系統(tǒng)保存 所有在內(nèi)存中的系統(tǒng)狀態(tài)。當從S4狀態(tài)恢復后,新的和失蹤的設(shè)備將被重新配置。
如圖5所示,超級操作系統(tǒng)(即例如是前述的閃存虛擬操作系統(tǒng))通過控制 計算機中當前運行的操作系統(tǒng)置于ACPIS4休眠狀態(tài),來懸掛當前的操作系統(tǒng)或其 它切換的軟件。在此狀態(tài)下,處理器不執(zhí)行指示,內(nèi)存狀態(tài)也沒有得到刷新'所有 的設(shè)備均處于ACPI D3 (設(shè)備關(guān)閉)狀態(tài)。計算機由超級操作系統(tǒng)發(fā)出的命令從GO (SO)的工作狀態(tài)過渡到Gl (S4)的休眠 狀態(tài)。超級操作系統(tǒng)利用一個修改過的ACPI S4程序來實現(xiàn),修改后的ACPI S4 程序的功能和傳統(tǒng)的ACPI S4—樣,不同的是在執(zhí)行完S4命令后,計算機可以選 擇關(guān)閉電源,也可以選擇重新啟動,這是由超級操作系統(tǒng)來控制的。如在用戶要求 切換操作系統(tǒng)的情況下,計算機將在執(zhí)行完S4命令后重新啟動,并喚醒另一個處 于休眠期的操作系統(tǒng)。ACPI S4程序通過設(shè)置的ACPI S4字節(jié)和寄存器為計算機休 眠階段做準備,把CPU、寄存器和RAM的狀態(tài)保存到一個非易失性的休眠存儲器 (NVS)中,如一個磁盤文件或分區(qū),然后計算機進入S4休眠狀態(tài)。
如圖6所示,超級操作系統(tǒng)將運行期操作系統(tǒng)的系統(tǒng)內(nèi)存及其協(xié)議和參數(shù)從 物理內(nèi)存映射并保存到非易失性存儲設(shè)備(NVS, Non-Volatile Sle印ing memory) 中。存儲在NVS中的信息包括啟動指令、ACPI表以及運行期操作系統(tǒng)懸掛(休眠)
所需的狀態(tài)信息。將運行期操作系統(tǒng)放置到物理內(nèi)存所需的物理內(nèi)存地址被記錄到 虛擬GPT (VGPT)中。虛擬GPT含有每個可啟動的虛擬系統(tǒng)的必要信息,如操作系
統(tǒng)的啟動分區(qū)、操作系統(tǒng)的休眠保存分區(qū)、寄存器的狀態(tài)和其它懸掛和喚醒操作系 統(tǒng)的重要信息。這樣的操作讓計算機就像在ACPI的S4狀態(tài)下一樣。
如上所述的虛擬目錄包含了虛擬存儲系統(tǒng)的位置、地址和當前機箱的類型。 虛擬目錄也包含了所有磁盤和存儲設(shè)備(二級和主要存儲設(shè)備)的信息,再加上當 前虛擬機的包含啟動分區(qū)在內(nèi)的各分區(qū)信息(物理磁盤上的文件系統(tǒng)和未用的空 間)。
如圖7所示,為了激活一個新的操作系統(tǒng),超級操作系統(tǒng)在包含新的操作系 統(tǒng)、ACPI表和其它運行操作系統(tǒng)所需的信息的物理存儲器(非易失性存儲器)上 選擇分區(qū)。新的操作系統(tǒng)位于閃存虛擬操作系統(tǒng)服務器選擇的虛擬目錄的數(shù)據(jù)部 分。計算機從ACPI S4休眠狀態(tài)中被喚醒,恢復到G0工作狀態(tài)。計算機因而不用 重新啟動新的操作系統(tǒng),因為它只不過是喚醒的該操作系統(tǒng)而已(恢復到以前的運 行狀態(tài))。
操作系統(tǒng)切換可以通過閃存虛擬操作系統(tǒng)服務器或者閃存虛擬操作系統(tǒng)媒介 的命令完成。如果請求來自本地的閃存虛擬操作系統(tǒng)服務器,所有的切換操作系統(tǒng) 的命令由閃存虛擬操作系統(tǒng)服務器執(zhí)行。如果請求來自閃存虛擬操作系統(tǒng)媒介,則 由媒介傳送服務器操作命令來切換操作系統(tǒng)。目標計算機必須安裝閃存虛擬操作系統(tǒng)服務器,并且由閃存虛擬操作系統(tǒng)媒介得到其許可來控制它的執(zhí)行和操作。
本發(fā)明首選的實施例是操作系統(tǒng)之間的切換,相似地,任何軟件包括嵌入式
應用程序也可以使用上文所述的S4休眠狀態(tài)切換。
本發(fā)明的一個很有用的功能是通過互聯(lián)網(wǎng)下載操作系統(tǒng),通過下載新的操作
系統(tǒng)到一個被保護的物理設(shè)備分區(qū)。閃存虛擬操作系統(tǒng)服務器能使用新的操作系
統(tǒng),并讓當前運行期操作系統(tǒng)處于S4休眠狀態(tài)。
上述實施例是提供給本領(lǐng)域普通技術(shù)人員來實現(xiàn)或使用本發(fā)明的,本領(lǐng)域普 通技術(shù)人員可在不脫離本發(fā)明的發(fā)明思想的情況下,對上述實施例做出種種修改或 變化,因而本發(fā)明的保護范圍并不被上述實施例所限,而應該是符合權(quán)利要求書提 到的創(chuàng)新性特征的最大范圍。
權(quán)利要求
1、一種基于可擴展固件接口的操作系統(tǒng)切換方法,在一臺計算機的多個操作系統(tǒng)中進行切換,該方法包括啟動可擴展固件接口,然后啟動一個第一操作系統(tǒng);懸掛該計算機的當前操作;存儲第一操作系統(tǒng)至二級存儲設(shè)備;回到可擴展固件接口服務狀態(tài),載入相應的全球唯一標識分區(qū)表;從二級存儲設(shè)備獲取第二操作系統(tǒng);恢復該計算機被懸掛的操作。
2、 根據(jù)權(quán)利要求1所述的基于可擴展固件接口的操作系統(tǒng)切換方法,其特征 在于,該第一操作系統(tǒng)和該第二操作系統(tǒng)是不同的操作系統(tǒng)。
3、 根據(jù)權(quán)利要求1所述的基于可擴展固件接口的操作系統(tǒng)切換方法,其特征 在于,該第一操作系統(tǒng)和該第二操作系統(tǒng)是相對獨立的,無主客之分的操作系統(tǒng)。
4、 根據(jù)權(quán)利要求1所述的基于可擴展固件接口的操作系統(tǒng)切換方法,其特征 在于,由本地或遠程超級計算機控制該計算機的多個操作系統(tǒng)之間的切換。
5、 根據(jù)權(quán)利要求4所述的基于可擴展固件接口的操作系統(tǒng)切換方法,其特征 在于,由本地或遠程超級計算機控制該計算機的多個操作系統(tǒng)之間的切換可以通過 EFI或任何一個運行期操作系統(tǒng)。
6、 一種操作系統(tǒng)切換方法,在一臺計算機的多個操作系統(tǒng)中進行切換,其特 征在于,該方法包括懸掛該計算機的運行期操作系統(tǒng)至ACPI S4的休眠狀態(tài); 將該運行期操作系統(tǒng)放置在非易失性存儲器中; 從該非易失性存儲器的分區(qū)中選擇第二操作系統(tǒng);-喚醒該第二操作系統(tǒng)至ACPI GO的工作狀態(tài)。
7、根據(jù)權(quán)利要求6所述的操作系統(tǒng)切換方法,其特征在于,由超級操作系統(tǒng) 控制操作系統(tǒng)之間的切換,該超級操作系統(tǒng)包括虛擬全球唯一標識分區(qū)表,該虛擬 全球唯一標識分區(qū)表包含該運行期操作系統(tǒng)和該第二操作系統(tǒng)的懸掛和喚醒信息。
全文摘要
本發(fā)明公開了一種基于可擴展固件接口的操作系統(tǒng)切換方法,為一個或多個用戶從本地或遠程對含有一個或多個操作系統(tǒng)的計算機進行監(jiān)測和控制提供了基礎(chǔ)。其技術(shù)方案為方法包括啟動可擴展固件接口,然后啟動一個第一操作系統(tǒng);懸掛計算機的當前操作;存儲第一操作系統(tǒng)至二級存儲設(shè)備;回到可擴展固件接口服務狀態(tài),載入相應的全球唯一標識分區(qū)表;從二級存儲設(shè)備獲取第二操作系統(tǒng);恢復計算機被懸掛的操作。本發(fā)明應用于計算機操作系統(tǒng)領(lǐng)域。
文檔編號G06F9/46GK101419560SQ20081020408
公開日2009年4月29日 申請日期2008年12月5日 優(yōu)先權(quán)日2008年12月5日
發(fā)明者柯若石, 英 胡 申請人:蘇州壹世通科技有限公司