欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

相互獨立地共存多個操作系統(tǒng)的計算機(jī)系統(tǒng)與其切換方法

文檔序號:6382813閱讀:266來源:國知局
專利名稱:相互獨立地共存多個操作系統(tǒng)的計算機(jī)系統(tǒng)與其切換方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種相互獨立地共存多個操作系統(tǒng)的計算機(jī)系統(tǒng),以及運(yùn)行該操作系統(tǒng)的方法。具體地說,本發(fā)明涉及一種相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),以及相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法。
背景技術(shù)
隨著信息技術(shù)的快速發(fā)展,難以解決的計算機(jī)方面的技術(shù)問題也層出不窮。例如,計算機(jī)病毒、計算機(jī)程序漏洞等越來越多地被發(fā)現(xiàn)就是一個例證。網(wǎng)絡(luò)技術(shù)的發(fā)展和廣泛使用,更是為計算機(jī)病毒的傳播提供了溫床。除此而外,計算機(jī)的廣泛使用也使得許多沒有計算機(jī)方面的素養(yǎng)的用戶有機(jī)會接觸和使用計算機(jī),由于這些用戶不正確的操作,難免會使所使用計算機(jī)系統(tǒng)崩潰。凡此種種原因,使得對計算機(jī)的管理顯得越來越重要。
特別地,目前所流行的基于i386計算機(jī)的個人計算操作系統(tǒng),比如,微軟視窗(MS Windows)操作系統(tǒng),很容易受到病毒的攻擊,或由于用戶的不正確的操作,諸如刪除文件或格式化邏輯驅(qū)動器而崩潰。當(dāng)計算機(jī)系統(tǒng)受到破壞時,用戶通常不能再啟動微軟視窗操作系統(tǒng)和運(yùn)行診斷應(yīng)用程序來恢復(fù)該計算機(jī)系統(tǒng)。調(diào)查顯示,信息技術(shù)成本的一半是由于系統(tǒng)恢復(fù)而引起的。因此,如何避免這樣的計算機(jī)災(zāi)難的發(fā)生是滿足用戶需要、降低技術(shù)成本的關(guān)鍵問題所在。
為了解決上述問題,現(xiàn)有技術(shù)中使用了在系統(tǒng)崩潰或出現(xiàn)異常例如傳染了病毒或存儲器漏電時,保存/挽救主操作系統(tǒng)的一些方法。下面對這些方法進(jìn)行介紹。
1.主操作系統(tǒng)中的系統(tǒng)管理應(yīng)用。這種技術(shù)有點先天不足,因為它依賴于主操作系統(tǒng)。因而,例如,當(dāng)作為主操作的微軟視窗操作系統(tǒng)被破壞時,視窗操作系統(tǒng)中的所有應(yīng)用都不能運(yùn)行,因此不可能在出現(xiàn)大問題時利用系統(tǒng)管理應(yīng)用進(jìn)行有效管理。例如,當(dāng)發(fā)生藍(lán)屏死機(jī)(Blue Screen Of Death)時,就不能正常地運(yùn)行應(yīng)用程序。當(dāng)視窗操作系統(tǒng)的內(nèi)核或存儲器感染病毒時,所有防病毒軟件都會要求從干凈的系統(tǒng)重新引導(dǎo)計算,然后它才能繼續(xù)起作用。
2.視窗前環(huán)境(pre-windows environment)支持。有以下幾種方法來擴(kuò)展視窗前環(huán)境恢復(fù)/可引導(dǎo)光盤(CD)隱藏的硬盤分區(qū)中的操作系統(tǒng)基本輸入輸出系統(tǒng)(BIOS,basic input output system)增強(qiáng)應(yīng)用(例如,Phoenix First ware)它們都能在視窗前環(huán)境中提供系統(tǒng)管理功能。即使是這樣,主要問題依然存在,即用戶必須重新引導(dǎo)計算機(jī)。這不僅會讓用戶長時間地等待計算機(jī)引導(dǎo)過程,而且也會帶來一些繁瑣的操作,諸如關(guān)閉應(yīng)用等。
3.超級管理器解決方案。超級管理器是關(guān)于操作系統(tǒng)的虛擬平行運(yùn)行機(jī)構(gòu)。在這樣的運(yùn)行機(jī)構(gòu)中,基本操作系統(tǒng)虛擬所有的硬件資源來運(yùn)行另一個操作系統(tǒng)。因此,在存在兩個分層運(yùn)行的操作系統(tǒng)的情況下,所述運(yùn)行機(jī)構(gòu)不可避免地會顯著降低系統(tǒng)性能。
現(xiàn)在主流的計算機(jī)物理內(nèi)部隨機(jī)存取存儲器大都不少于256MB。因此,為方便系統(tǒng)管理,可以在占用不多于32MB的情況下,增加一個獨立于其它操作系統(tǒng)的備用操作系統(tǒng)作為服務(wù)環(huán)境。

發(fā)明內(nèi)容
有鑒于上述情況,本發(fā)明的目的是提供一種相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),以及相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法。
為了實現(xiàn)本發(fā)明的上述和其他目的,提供一種相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),包括隨機(jī)存取存儲器以及存儲在只讀存儲器上的BIOS,在該BIOS上包含上電自檢模塊,并且每個所述操作系統(tǒng)都包含引導(dǎo)模塊和準(zhǔn)備待機(jī)模塊的待機(jī)模塊,該計算機(jī)系統(tǒng)還包括操作系統(tǒng)切換內(nèi)核,位于BIOS中,包括由上電自檢模塊調(diào)用來在所述計算機(jī)系統(tǒng)啟動時為每個所述操作系統(tǒng)分配隨機(jī)存儲區(qū)域的存儲器分配部分,以及由待機(jī)模塊調(diào)用來備份和恢復(fù)每個所述操作系統(tǒng)專用數(shù)據(jù)的備份和恢復(fù)部分,其中,每個所述操作系統(tǒng)的引導(dǎo)模塊還包括補(bǔ)充引導(dǎo)模塊,用于將對應(yīng)的操作系統(tǒng)本身轉(zhuǎn)移到由操作系統(tǒng)切換內(nèi)核所分配的存儲區(qū)域,并將所分配的存儲區(qū)域設(shè)置成該操作系統(tǒng)可利用的隨機(jī)物理存儲器;以及每個操作系統(tǒng)還包括切換模塊,用來設(shè)置切換參數(shù)并調(diào)用相應(yīng)操作系統(tǒng)中的待機(jī)模塊來將系統(tǒng)控制權(quán)交給操作系統(tǒng)切換內(nèi)核。
為了實現(xiàn)本發(fā)明的上述和其他目的,提供一種在計算機(jī)系統(tǒng)中相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,所述計算機(jī)系統(tǒng)包括隨機(jī)存取存儲器以及存儲在只讀存儲器上的BIOS,在該BIOS上包含上電自檢模塊,每個所述操作系統(tǒng)包括引導(dǎo)模塊和具有準(zhǔn)備待機(jī)模塊的待機(jī)模塊,該方法包括步驟1)在所述BIOS中提供一操作系統(tǒng)切換內(nèi)核,用來在所述計算機(jī)系統(tǒng)啟動時為每個所述操作系統(tǒng)分配隨機(jī)存儲區(qū)域,以及由待機(jī)模塊調(diào)用來備份和恢復(fù)每個所述操作系統(tǒng)專用數(shù)據(jù);2)在上電自檢時,利用所述操作系統(tǒng)切換內(nèi)核為每個所述操作系統(tǒng)在隨機(jī)存取存儲器中分配各自的操作系統(tǒng)存儲區(qū)域,作為操作系統(tǒng)的隨機(jī)存取存儲器;3)在上電自檢后,利用所述操作系統(tǒng)切換內(nèi)核備份所述計算機(jī)系統(tǒng)的原始設(shè)置信息;4)根據(jù)所述原始設(shè)置信息啟動一第一操作系統(tǒng),該系統(tǒng)將自己傳送到為其分配的操作系統(tǒng)存儲區(qū)域;5)利用操作系統(tǒng)切換內(nèi)核備份所述計算機(jī)系統(tǒng)的當(dāng)前設(shè)置信息,然后恢復(fù)所述計算機(jī)系統(tǒng)的所述原始設(shè)置信息,根據(jù)所述原始設(shè)置信息在不使用上電自檢的情況下啟動一第二操作系統(tǒng),并且所述第二操作系統(tǒng)將自己傳送到為其分配的操作系統(tǒng)存儲區(qū)域;6)重復(fù)步驟(4)來啟動其余所述操作系統(tǒng),直到所有操作系統(tǒng)被啟動;以及7)在當(dāng)前操作系統(tǒng)中提供一切換模塊來調(diào)用待機(jī)模塊將該計算機(jī)系統(tǒng)的控制權(quán)交給所述操作系統(tǒng)切換內(nèi)核,以便備份當(dāng)前準(zhǔn)備待機(jī)操作系統(tǒng)對所述計算機(jī)系統(tǒng)的設(shè)置信息和恢復(fù)準(zhǔn)備喚醒的其他操作系統(tǒng)對所述計算機(jī)系統(tǒng)的設(shè)置信息來喚醒該其他操作系統(tǒng)。
在本發(fā)明的一個實施例中,通過修改普通操作系統(tǒng)來產(chǎn)生同時共存在所述計算機(jī)系統(tǒng)中的第一和第二操作系統(tǒng),使得第一操作系統(tǒng)能夠?qū)⒆约簜魉偷綖槠浞峙涞牟僮飨到y(tǒng)存儲區(qū)域,然后在該第一操作系統(tǒng)在不使用上電自檢的情況下啟動第二操作系統(tǒng),該第二操作系統(tǒng)將自己傳送到為其分配的操作系統(tǒng)存儲區(qū)域,并且每個操作系統(tǒng)包括切換模塊來設(shè)置切換參數(shù)并調(diào)用對應(yīng)的操作系統(tǒng)中的待機(jī)模塊來將系統(tǒng)控制權(quán)交給操作系統(tǒng)切換內(nèi)核,以便計算機(jī)系統(tǒng)在第一和第二操作系統(tǒng)之間切換。從而使計算機(jī)系統(tǒng)能夠快速方便地在操作系統(tǒng)之間切換。


通過以下借助附圖的詳細(xì)描述,將會更容易地理解本發(fā)明,其中相同的標(biāo)號指定相同結(jié)構(gòu)的單元,并且在其中圖1是本發(fā)明的計算機(jī)系統(tǒng)的方框圖;圖2是本發(fā)明優(yōu)選實施例的隨機(jī)存取存儲器120存放操作系統(tǒng)的體系結(jié)構(gòu)的映像圖;圖3圖示了本發(fā)明的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng)的啟動過程的流程圖;圖4圖示了S3_SWAP模塊的流程圖;圖5A圖示了第一操作系統(tǒng)的切換模塊的流程圖;圖5B圖示了第一操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊的流程圖;圖6A示出了本發(fā)明的第二操作系統(tǒng)的切換模塊的流程圖;圖6B示出了本發(fā)明的第二操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊的流程圖;圖7圖示了圖3的步驟S310-S320的詳細(xì)流程。圖8圖示了在Linux操作系統(tǒng)下建立本發(fā)明的第一操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊的流程圖;以及圖9圖示了在微軟視窗2000操作系統(tǒng)下建立本發(fā)明的第一操作系統(tǒng)補(bǔ)充引導(dǎo)模塊的系統(tǒng)流程圖。
具體實施例方式
下面將結(jié)合附圖詳細(xì)描述本發(fā)明的優(yōu)選實施例。在下面的描述中,現(xiàn)有計算機(jī)系統(tǒng)中公知的單元將不再詳細(xì)描述,以免不必要的細(xì)節(jié)混淆本發(fā)明。
圖1是本發(fā)明的基于i386計算機(jī)的系統(tǒng)的方框圖。如圖1所示,本發(fā)明的計算機(jī)系統(tǒng)包括中央處理器(CPU)110、隨機(jī)存取存儲器(RAM)120、輸入/輸出接口130和只讀存儲器(ROM)140。只讀存儲器140中存儲了基本輸入輸出系統(tǒng)(BIOS)143。其中,BIOS 143包括上電自檢(POST,poweron self test)部分141和操作系統(tǒng)切換內(nèi)核部分142。操作系統(tǒng)切換內(nèi)核部分142包括在計算機(jī)系統(tǒng)啟動時由POST部分調(diào)用來為操作系統(tǒng)分配存儲區(qū)域的存儲器分配部分1421以及由操作系統(tǒng)的待機(jī)模塊調(diào)用來備份和恢復(fù)該操作系統(tǒng)環(huán)境的備份和恢復(fù)部分1422。
在本實施例中,隨機(jī)存取存儲器120可以存放兩個操作系統(tǒng)。這兩個操作系統(tǒng)可以是同樣計算機(jī)操作系統(tǒng),也可以是互不相同的計算機(jī)操作系統(tǒng),比如,一個操作系統(tǒng)微軟視窗2000,另一個操作系統(tǒng)微軟視窗XP。本發(fā)明不限于隨機(jī)存取存儲器120只存放兩個操作系統(tǒng)的情況,它也可以存放兩個以上的操作系統(tǒng)。本發(fā)明的操作系統(tǒng)都包含引導(dǎo)模塊、待機(jī)模塊和切換模塊,而且每個引導(dǎo)模塊還包含補(bǔ)充引導(dǎo)模塊。這在后文中還將詳細(xì)描述。
圖2是本發(fā)明優(yōu)選實施例的隨機(jī)存取存儲器120存放操作系統(tǒng)的體系結(jié)構(gòu)的映像圖。如圖2所示,包含兩個操作系統(tǒng)的存儲器體系結(jié)構(gòu)包括如下部分計算機(jī)系統(tǒng)設(shè)置存儲區(qū)域210、第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220、第一操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域230、BIOS映射區(qū)域240、第二操作系統(tǒng)存儲區(qū)域250以及第一操作系統(tǒng)存儲區(qū)域260。
這里,計算機(jī)系統(tǒng)的設(shè)置存儲區(qū)域210位于存儲器的最低位部分,用于存放當(dāng)前正在運(yùn)行的操作系統(tǒng)(第一操作系統(tǒng)或者第二操作系統(tǒng))的中斷向量表、BIOS和操作系統(tǒng)設(shè)置的系統(tǒng)硬件信息。第二操作系統(tǒng)存儲區(qū)域250一般位于存儲器的低位部分,用于存放第二操作系統(tǒng)。第一操作系統(tǒng)存儲區(qū)域260一般位于存儲器的高位部分,用于存放第二操作系統(tǒng)。第一操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220和第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域230是與正在運(yùn)行的操作系統(tǒng)隔離的兩個區(qū)域,都接近到BIOS映射區(qū)域240。其中,第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220存放第二操作系統(tǒng)的計算機(jī)系統(tǒng)設(shè)置信息的數(shù)據(jù)備份,而第一操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域230存放第一操作系統(tǒng)的計算機(jī)系統(tǒng)設(shè)置信息的數(shù)據(jù)備份。在第二操作系統(tǒng)運(yùn)行之前,要從第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220恢復(fù)到計算機(jī)系統(tǒng)的設(shè)置存儲區(qū)域210。同樣,在第一操作系統(tǒng)運(yùn)行之前,也要恢復(fù)計算機(jī)系統(tǒng)的設(shè)置存儲區(qū)域210。
第一操作系統(tǒng)和第二操作系統(tǒng)在物理上是分開存放的,存放第二操作系統(tǒng)的低位存儲區(qū)域即第二操作系統(tǒng)存儲區(qū)域250與存放第一操作系統(tǒng)的高位存儲區(qū)域即第一操作系統(tǒng)存儲區(qū)域260,由BIOS 143來分別管理,使得第二操作系統(tǒng)不能訪問第一操作系統(tǒng)存儲區(qū)域260。
圖3圖示了本發(fā)明的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng)的啟動過程的流程圖。參考圖3,在步驟S310中啟動第一操作系統(tǒng)。在該步驟中,當(dāng)個人計算機(jī)加電時,BIOS 143將進(jìn)入POST(power on self test,上電自檢)過程。在POST過程執(zhí)行以后,BIOS 143的存儲器分配部分1421將為隨機(jī)存取存儲器120要存放的操作系統(tǒng)分配存儲區(qū)域250、260和專用數(shù)據(jù)備份區(qū)域220、230,接著BIOS 143的備份和恢復(fù)部分1422將計算機(jī)系統(tǒng)的設(shè)置信息備份到所分配的第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220。然后,計算機(jī)啟動第一操作系統(tǒng)。第一操作系統(tǒng)能夠?qū)⒆约簜魉偷礁呶淮鎯^(qū)域即第一操作系統(tǒng)存儲區(qū)域260,實現(xiàn)這種傳送的過程在后面還會介紹。
在步驟S320中將第一操作系統(tǒng)待機(jī)。在該步驟中,第一操作系統(tǒng)仍駐留在它的存儲區(qū)域即第一操作系統(tǒng)存儲區(qū)域260中,但計算機(jī)的中央處理器110將失去該操作系統(tǒng)的相關(guān)信息。然后,由BIOS 143接管CPU 110的控制權(quán)。
在步驟S330中啟動第二操作系統(tǒng)。在該步驟中,BIOS143的備份和恢復(fù)部分1422將第一操作系統(tǒng)的計算機(jī)系統(tǒng)設(shè)置存儲區(qū)域210備份到第一操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域230;然后BIOS143的備份和恢復(fù)部分1422恢復(fù)原始的計算機(jī)設(shè)置信息,即將第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220中的計算機(jī)設(shè)置信息恢復(fù)到計算機(jī)系統(tǒng)設(shè)置存儲區(qū)域210中,并且將第一操作系統(tǒng)存儲區(qū)域260設(shè)置成存儲器空洞(memory hole),然后加載并跳轉(zhuǎn)到主引導(dǎo)記錄以啟動第二操作系統(tǒng)。在這種情況下,第二操作系統(tǒng)不知道已經(jīng)在存儲器中存在了第一操作系統(tǒng)。
為了使計算機(jī)系統(tǒng)能夠?qū)崿F(xiàn)上述處理,計算機(jī)系統(tǒng)的BIOS 143中的操作系統(tǒng)切換內(nèi)核部分142(參考圖1)中增設(shè)一個SWAP_OS標(biāo)示符,用于切換系統(tǒng)。如果存在切換則將SWAP_OS設(shè)置為真(true),如果實際上是待機(jī)則將SWAP_OS設(shè)置為假(false)。還在操作系統(tǒng)切換內(nèi)核部分142中增設(shè)一個INITIAL_SWAP標(biāo)示符,用于指示是否為初次切換。如果是初次切換則將INITIAL_SWAP設(shè)置為真,否則將其設(shè)置為假。
BIOS 143中的存儲器分配部分1421(參考圖1)可以在存儲器中設(shè)置一個專用隨機(jī)存取存儲區(qū)域,用于備份處于待機(jī)狀態(tài)的操作系統(tǒng)的計算機(jī)系統(tǒng)的設(shè)置信息,諸如中斷向量表、BIOS和操作系統(tǒng)設(shè)置的系統(tǒng)硬件信息(端口印象)等。在本優(yōu)選實施例中,存儲器分配部分1421設(shè)置第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220和第一操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域230。
BIOS 143中的備份和恢復(fù)部分1422(參考圖1)具有S3_SWAP(待機(jī)切換)模塊。當(dāng)前操作系統(tǒng)在調(diào)用準(zhǔn)備待機(jī)(_PTS)模塊之后調(diào)用這個模塊。該模塊根據(jù)不同的標(biāo)示符值具有不同的操作。
圖4圖示了S3_SWAP模塊的流程圖。參考圖4,該模塊執(zhí)行下列過程在步驟S410,確定INITIAL_SWAP是否為真,如果INITIAL_SWAP=真,則在步驟S420,將通過輸入/輸出接口130將硬盤(未示出)的主引導(dǎo)記錄(MBR)加載到隨機(jī)存儲區(qū)120,然后跳轉(zhuǎn)到該主引導(dǎo)記錄。
在步驟S430,如果INITIAL_SWAP=假,則確定是否SWAP_OS=真。在步驟S440,若SWAP_OS=真,則將當(dāng)前的操作系統(tǒng)的計算機(jī)系統(tǒng)設(shè)置備份到對應(yīng)的專用數(shù)據(jù)備份區(qū)域,然后恢復(fù)另一個操作系統(tǒng)的計算機(jī)系統(tǒng)設(shè)置并喚醒該另一個操作系統(tǒng)。
在步驟S450,執(zhí)行正常待機(jī)模塊。從而終止S3_SWAP功能。
在具有ACPI(Advanced Configuration and Power Interface,高級配置和電源接口)管理的計算機(jī)系統(tǒng),上述的操作系統(tǒng)切換內(nèi)核部分142可以通過修改和設(shè)置BIOS中的內(nèi)容來產(chǎn)生。
需要注意的是,系統(tǒng)必須支持具備待機(jī)功能的電源管理,例如高級配置和電源接口(ACPI)等,以便操作系統(tǒng)具備待機(jī)能力從而能夠提供上述功能。
另外,為了實現(xiàn)相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng)的啟動過程,還需要對于操作系統(tǒng)的正常引導(dǎo)模塊進(jìn)行修改并增加切換模塊。
圖5A和5B圖示出了將普通操作系統(tǒng)修改成為第一操作系統(tǒng)的流程圖,圖5A圖示了第一操作系統(tǒng)的切換模塊的流程圖,而圖5B圖示了第一操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊的流程圖。
參考圖5A,在步驟S510,修改該普通操作系統(tǒng)的待機(jī)模塊,使得在調(diào)用_PTS功能之后調(diào)用BIOS的S3_SWAP。在步驟S520,設(shè)置SWAP_OS=真并調(diào)用已修改的待機(jī)模塊。
參考圖5B,在步驟S530,該普通操作系統(tǒng)將自己加載和/或移動到由存儲器分配部分1421分配給隨機(jī)存取存儲器的最高位存儲區(qū)域(即第一操作系統(tǒng)存儲區(qū)域260)中,并且標(biāo)識低位的第二操作系統(tǒng)存儲區(qū)域250為已使用,從而保證第二操作系統(tǒng)存儲區(qū)域250不被第一操作系統(tǒng)寫入并不被發(fā)送到磁盤上的交換分區(qū)。
然后,在步驟S540,將第二操作系統(tǒng)存儲區(qū)域250標(biāo)識為某些系統(tǒng)管理應(yīng)用可以只讀訪問的存儲區(qū)域,例如,病毒診斷應(yīng)用可以掃描該存儲區(qū)域等。
在步驟S550,向第一操作系統(tǒng)注冊提供操作系統(tǒng)切換服務(wù)的切換模塊。
在步驟S560,設(shè)置INITIAL_SWAP=真,然后調(diào)用切換模塊。
圖6A示出了本發(fā)明的第二操作系統(tǒng)的補(bǔ)充待機(jī)模塊的流程圖。參考圖6A,在步驟S610,修改該普通操作系統(tǒng)的待機(jī)模塊,使得在調(diào)用_PTS功能之后調(diào)用BIOS的S3_SWAP。在步驟S620,設(shè)置SWAP_OS=真并調(diào)用已修改的待機(jī)模塊。
圖6B示出了本發(fā)明的第二操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊的流程圖。在步驟S630,將該操作系統(tǒng)本身轉(zhuǎn)移到由操作系統(tǒng)切換內(nèi)核142所分配的主操作系統(tǒng)存儲區(qū)域250。然后執(zhí)行主操作系統(tǒng)的正常引導(dǎo)模塊。
圖7圖示了圖3的步驟S310-S320的詳細(xì)流程。參考圖7,圖3的步驟S310包括子步驟S710-S740。在子步驟S710中,BIOS143在POST141過程結(jié)束后,BIOS143的存儲器分配部分1421將為隨機(jī)存取存儲器120要存放的操作系統(tǒng)分配存儲區(qū)域(250、260)和專用數(shù)據(jù)備份區(qū)域(220、230)。
在子步驟S720,BIOS143的備份和恢復(fù)部分1422將計算機(jī)系統(tǒng)的設(shè)置信息備份到所分配的第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220。
在子步驟S730,由BIOS143從隱藏分區(qū)或磁盤中引導(dǎo)第一操作系統(tǒng)。
在子步驟S740,在該步驟中,在第一操作系統(tǒng)被引導(dǎo)后,第一操作系統(tǒng)將自己傳送到第一操作系統(tǒng)存儲區(qū)域260。
圖3的步驟S320即子步驟S750。處于運(yùn)行的第一操作系統(tǒng)設(shè)置INITIAL_SWAP=真,然后調(diào)用切換模塊,使得BIOS獲得控制權(quán)。
圖3的步驟S330包括子步驟S760-S780。在子步驟S760,BIOS143的備份和恢復(fù)部分1422將第一操作系統(tǒng)的計算機(jī)系統(tǒng)設(shè)置存儲區(qū)域210備份到第一操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域230;然后BIOS143的備份和恢復(fù)部分1422恢復(fù)原始的計算機(jī)設(shè)置信息,即將第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域220中的計算機(jī)設(shè)置信息恢復(fù)到計算機(jī)系統(tǒng)設(shè)置存儲區(qū)域210中。
在子步驟S770,操作系統(tǒng)切換核心142將第一操作系統(tǒng)存儲區(qū)域260設(shè)置成存儲器空洞(memory hole),或者鉤掛BIOS中斷15H來修改存儲器容量值,特別地,對于微軟視窗操作系統(tǒng),最大物理存儲器容量值可以通過在boot.ini文件中添加“maxmem”或“MM”項來指定。
在子步驟S780,操作系統(tǒng)切換核心142加載并跳轉(zhuǎn)到主引導(dǎo)記錄以啟動第二操作系統(tǒng)。
以上描述了本發(fā)明的一般原理,現(xiàn)在介紹第一操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊的具體修改例子。首先在Linux(內(nèi)核版本號為2.4)操作系統(tǒng)的情況下修改建立第一操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊。
圖8圖示了將標(biāo)準(zhǔn)Linux操作系統(tǒng)修改為第一操作系統(tǒng)的流程圖。參考圖8,在步驟S810,修改setup.S模塊,在獲得系統(tǒng)實際物理內(nèi)部存儲器參數(shù)后,在初始化保護(hù)模式寄存器前,將低端(第二操作系統(tǒng)存儲區(qū)域)標(biāo)識為內(nèi)存空洞。在步驟S820,修改head.S模塊,當(dāng)跳轉(zhuǎn)到預(yù)定地址后,將加載在低位存儲區(qū)域中的內(nèi)容存放到高位存儲區(qū)域,并相應(yīng)設(shè)置各寄存器值。在進(jìn)入分頁模式前,將物理內(nèi)部存儲器最高位的4MB作為pg0。
其次在微軟視窗2000操作系統(tǒng)上修改建立第一操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊。
圖9圖示了在微軟視窗2000操作系統(tǒng)下建立本發(fā)明的第一操作系統(tǒng)的流程圖。參考圖9,為了建立本發(fā)明的計算機(jī)體系結(jié)構(gòu),在步驟S910,當(dāng)NTDLR設(shè)置寄存器保護(hù)模式后,將加載在低位存儲區(qū)域中的內(nèi)容發(fā)送到高位存儲區(qū)域;在步驟S920,當(dāng)NTDLR開始分頁時,標(biāo)識高位存儲區(qū)域為空閑的物理內(nèi)部存儲器,并且將最高位的4MB作為pg0;在步驟S930,NTDLR根據(jù)boot.ini讀入配置后,加載ntdetet.com到pg0;在步驟S940,NTDLR獲得內(nèi)部存儲器信息后,將低端(第二操作系統(tǒng)存儲區(qū)域)標(biāo)識為內(nèi)存空洞。
如上所述,在本發(fā)明中,第一操作系統(tǒng)是通過在普通操作系統(tǒng)的基礎(chǔ)上建立起來,它與第二操作系統(tǒng)完全獨立運(yùn)行并且可以提供管理功能。通過本發(fā)明,可以在占用較少存儲器的情況下,方便快捷地切換多個操作系統(tǒng)。
雖然通過參照本發(fā)明的優(yōu)選實施例對本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在不偏離本發(fā)明的精神和范圍的情況下,對其進(jìn)行形式上和細(xì)節(jié)上的各種各樣的改變。
權(quán)利要求
1.一種相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),包括隨機(jī)存取存儲器以及存儲在只讀存儲器上的BIOS,在該BIOS上包含上電自檢模塊,并且每個所述操作系統(tǒng)都包含引導(dǎo)模塊和待機(jī)模塊,該計算機(jī)系統(tǒng)還包括操作系統(tǒng)切換內(nèi)核,位于BIOS中,包括由上電自檢模塊調(diào)用來在所述計算機(jī)系統(tǒng)啟動時為每個所述操作系統(tǒng)分配隨機(jī)存儲區(qū)域的存儲器分配部分,以及由待機(jī)模塊調(diào)用來備份和恢復(fù)每個所述操作系統(tǒng)專用數(shù)據(jù)的備份和恢復(fù)部分,其中,每個所述操作系統(tǒng)的引導(dǎo)模塊還包括補(bǔ)充引導(dǎo)模塊,用于將對應(yīng)的操作系統(tǒng)本身轉(zhuǎn)移到由操作系統(tǒng)切換內(nèi)核所分配的存儲區(qū)域,并將所分配的存儲區(qū)域設(shè)置成該操作系統(tǒng)可利用的隨機(jī)物理存儲器;以及每個操作系統(tǒng)還包括切換模塊,用來設(shè)置切換參數(shù)并調(diào)用相應(yīng)操作系統(tǒng)中的待機(jī)模塊來將系統(tǒng)控制權(quán)交給操作系統(tǒng)切換內(nèi)核。
2.如權(quán)利要求1所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,該計算機(jī)系統(tǒng)是基于i386計算機(jī)體系結(jié)構(gòu)、具有高級配置和電源接口的計算機(jī)系統(tǒng)。
3.如權(quán)利要求1或2所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述計算機(jī)系統(tǒng)在隨機(jī)存取存儲器中共存兩個操作系統(tǒng)。
4.如權(quán)利要求1或2所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述操作系統(tǒng)是相同的操作系統(tǒng)。
5.如權(quán)利要求1或2所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述存儲器分配部分在所述隨機(jī)存取存儲器中分配與所述操作系統(tǒng)個數(shù)相同的操作系統(tǒng)存儲區(qū)域和與所述操作系統(tǒng)個數(shù)相同的操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域,操作系統(tǒng)存儲區(qū)域作為操作系統(tǒng)的隨機(jī)存取存儲器,操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域用于存放各操作系統(tǒng)對當(dāng)前計算機(jī)系統(tǒng)的設(shè)置信息。
6.如權(quán)利要求5所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述備份和恢復(fù)部分還包括待機(jī)切換模塊,用于在初次切換操作系統(tǒng)時,通過所述操作系統(tǒng)切換內(nèi)核加載并跳轉(zhuǎn)到主引導(dǎo)記錄,而在非初次切換操作系統(tǒng)時,由操作系統(tǒng)切換內(nèi)核將當(dāng)前操作系統(tǒng)的對計算機(jī)系統(tǒng)的設(shè)置信息備份到對應(yīng)的專用數(shù)據(jù)備份區(qū)域,然后恢復(fù)另一個操作系統(tǒng)對當(dāng)前計算機(jī)系統(tǒng)的設(shè)置并喚醒該操作系統(tǒng),接著跳轉(zhuǎn)到被喚醒的操作系統(tǒng)。
7.如權(quán)利要求5所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述存儲器分配部分在所述隨機(jī)存取存儲器的最高位存儲區(qū)域分配一塊第一操作系統(tǒng)存儲區(qū)域,作為第一操作系統(tǒng)的隨機(jī)存取存儲器,并在所述隨機(jī)存取存儲器的低位存儲區(qū)域分配一塊第二操作系統(tǒng)存儲區(qū)域,作為第二操作系統(tǒng)的隨機(jī)存取存儲器。
8.如權(quán)利要求7所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述第一操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊包括將第一操作系統(tǒng)加載和/或移動到由存儲器分配部分分配的第一操作系統(tǒng)存儲區(qū)域,將第二操作系統(tǒng)存儲區(qū)域設(shè)置使用標(biāo)識保證該區(qū)域不被第一操作系統(tǒng)寫入且不被第一操作系統(tǒng)發(fā)送到磁盤上的交換分區(qū),將第二操作系統(tǒng)存儲區(qū)域指示為某些系統(tǒng)管理應(yīng)用可以只讀訪問的區(qū)域,向第一操作系統(tǒng)注冊實現(xiàn)切換服務(wù)的切換模塊。
9.如權(quán)利要求8所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述第一操作系統(tǒng)的切換模塊用于在設(shè)置切換參數(shù)之后調(diào)用該操作系統(tǒng)中的待機(jī)模塊。
10.如權(quán)利要求9所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述第二操作系統(tǒng)的補(bǔ)充引導(dǎo)模塊被配置成將第二操作系統(tǒng)轉(zhuǎn)移到由所述操作系統(tǒng)切換內(nèi)核所分配的第二操作系統(tǒng)存儲區(qū)域,向第二操作系統(tǒng)注冊實現(xiàn)切換服務(wù)的切換模塊。
11.如權(quán)利要求10所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng),其中,所述第二操作系統(tǒng)的切換模塊被配置成在設(shè)置切換參數(shù)之后調(diào)用該操作系統(tǒng)中的待機(jī)模塊。
12.一種在計算機(jī)系統(tǒng)中相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,所述計算機(jī)系統(tǒng)包括隨機(jī)存取存儲器以及存儲在只讀存儲器上的BIOS,在該BIOS上包含上電自檢模塊,每個所述操作系統(tǒng)包括引導(dǎo)模塊和待機(jī)模塊,該方法包括步驟1)在所述BIOS中提供一操作系統(tǒng)切換內(nèi)核,用來在所述計算機(jī)系統(tǒng)啟動時為每個所述操作系統(tǒng)分配隨機(jī)存儲區(qū)域,以及由待機(jī)模塊調(diào)用來備份和恢復(fù)每個所述操作系統(tǒng)專用數(shù)據(jù);2)在上電自檢時,利用所述操作系統(tǒng)切換內(nèi)核為每個所述操作系統(tǒng)在隨機(jī)存取存儲器中分配各自的操作系統(tǒng)存儲區(qū)域,作為操作系統(tǒng)的隨機(jī)存取存儲器;3)在上電自檢后,利用所述操作系統(tǒng)切換內(nèi)核備份所述計算機(jī)系統(tǒng)的原始設(shè)置信息;4)根據(jù)所述原始設(shè)置信息啟動一第一操作系統(tǒng),該系統(tǒng)將自己傳送到為其分配的操作系統(tǒng)存儲區(qū)域;5)利用操作系統(tǒng)切換內(nèi)核備份所述計算機(jī)系統(tǒng)的當(dāng)前設(shè)置信息,然后恢復(fù)所述計算機(jī)系統(tǒng)的所述原始設(shè)置信息,根據(jù)所述原始設(shè)置信息在不經(jīng)上電自檢的情況下啟動一第二操作系統(tǒng),并且所述第二操作系統(tǒng)將自己傳送到為其分配的操作系統(tǒng)存儲區(qū)域;6)重復(fù)步驟(4)來啟動其余所述操作系統(tǒng),直到所有操作系統(tǒng)被依次啟動;以及7)在當(dāng)前操作系統(tǒng)中提供一切換模塊來調(diào)用待機(jī)模塊將該計算機(jī)系統(tǒng)的控制權(quán)交給所述操作系統(tǒng)切換內(nèi)核,以便備份當(dāng)前準(zhǔn)備待機(jī)操作系統(tǒng)對所述計算機(jī)系統(tǒng)的設(shè)置信息和恢復(fù)準(zhǔn)備喚醒的其他操作系統(tǒng)對所述計算機(jī)系統(tǒng)的設(shè)置信息來喚醒該其他操作系統(tǒng)。
13.如權(quán)利要求12所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,所述計算機(jī)系統(tǒng)是基于i386計算機(jī)體系結(jié)構(gòu)、具有高級配置和電源接口的計算機(jī)系統(tǒng)。
14.如權(quán)利要求12所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,所述步驟2)還包括利用所述操作系統(tǒng)切換內(nèi)核,在上電自檢時為每個所述操作系統(tǒng)在隨機(jī)存取存儲器中分配各自的操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域,用于存放各操作系統(tǒng)對所述計算機(jī)系統(tǒng)的當(dāng)前設(shè)置信息。
15.如權(quán)利要求14所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,所述步驟3)還包括將所述計算機(jī)系統(tǒng)的原始設(shè)置信息存放到一第二操作系統(tǒng)專用數(shù)據(jù)備份區(qū)域。
16.如權(quán)利要求15所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,所述步驟4)和步驟6)均包括在啟動結(jié)束后,調(diào)用該操作系統(tǒng)的切換模塊將該計算機(jī)系統(tǒng)的控制權(quán)交給所述操作系統(tǒng)切換內(nèi)核。
17.如權(quán)利要求12所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,所述計算機(jī)系統(tǒng)在隨機(jī)存取存儲器中共存兩個操作系統(tǒng)。
18.如權(quán)利要求12或17所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,所述操作系統(tǒng)是相同的操作系統(tǒng)。
19.如權(quán)利要求12所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,所述步驟7)還包括在初次切換操作系統(tǒng)時,通過所述操作系統(tǒng)切換內(nèi)核加載并跳轉(zhuǎn)到主引導(dǎo)記錄,而在非初次切換操作系統(tǒng)時,由操作系統(tǒng)切換內(nèi)核將當(dāng)前操作系統(tǒng)對計算機(jī)系統(tǒng)的設(shè)置信息備份到對應(yīng)的專用數(shù)據(jù)備份區(qū)域,然后恢復(fù)另一個操作系統(tǒng)的設(shè)置并喚醒該另一個操作系統(tǒng),接著跳轉(zhuǎn)到被喚醒的操作系統(tǒng)。
20.如權(quán)利要求19所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,存儲所述第一操作系統(tǒng)的存儲區(qū)域位于所述隨機(jī)存取存儲器的最高位存儲區(qū)域,存儲所述第二操作系統(tǒng)的存儲區(qū)域位于所述隨機(jī)存取存儲器的低位存儲區(qū)域。
21.如權(quán)利要求20所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,步驟4)包括在所述第一操作系統(tǒng)的引導(dǎo)模塊中提供一補(bǔ)充引導(dǎo)模塊;利用該補(bǔ)充引導(dǎo)模塊將所述第一操作系統(tǒng)加載和/或移動到所述第一操作系統(tǒng)存儲區(qū)域;利用該補(bǔ)充引導(dǎo)模塊設(shè)置第二操作系統(tǒng)存儲區(qū)域已使用的標(biāo)識來保證該區(qū)域被第一操作系統(tǒng)寫入且不被第一操作系統(tǒng)發(fā)送到磁盤上的交換分區(qū);以及利用該補(bǔ)充引導(dǎo)模塊將第二操作系統(tǒng)存儲區(qū)域指示為某些系統(tǒng)管理應(yīng)用可以只讀訪問的存儲區(qū)域,向第一操作系統(tǒng)注冊實現(xiàn)切換服務(wù)的切換模塊。
22.如權(quán)利要求21所述的相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的方法,其中,步驟5)還包括在所述第二操作系統(tǒng)的引導(dǎo)模塊中提供一補(bǔ)充引導(dǎo)模塊;利用所述補(bǔ)充引導(dǎo)模塊將第二操作系統(tǒng)轉(zhuǎn)移到由所述操作系統(tǒng)切換內(nèi)核所分配的第二操作系統(tǒng)存儲區(qū)域,向第二操作系統(tǒng)注冊實現(xiàn)切換服務(wù)的切換模塊。
全文摘要
提供一種基于i386計算機(jī)、具有待機(jī)功能、相互獨立地共存至少兩個操作系統(tǒng)并在所述操作系統(tǒng)之間切換的計算機(jī)系統(tǒng)。該計算機(jī)系統(tǒng)包括存儲器分配部分,用于由上電自檢模塊調(diào)用來在所述計算機(jī)系統(tǒng)啟動時為所述操作系統(tǒng)分配隨機(jī)存儲區(qū)域,以及備份和恢復(fù)部分,由待機(jī)模塊調(diào)用來備份和恢復(fù)該操作系統(tǒng)專用數(shù)據(jù),其中,每個所述操作系統(tǒng)可以將自己轉(zhuǎn)移到由屬于自己的存儲區(qū)域,將所分配的存儲區(qū)域設(shè)置成自己可利用的隨機(jī)物理存儲器,并且可以通過設(shè)置切換參數(shù)來調(diào)用待機(jī)模塊切換到其它操作系統(tǒng)。從而使計算機(jī)系統(tǒng)能夠快速方便地在操作系統(tǒng)之間切換。
文檔編號G06F9/48GK1658185SQ200410005430
公開日2005年8月24日 申請日期2004年2月18日 優(yōu)先權(quán)日2004年2月18日
發(fā)明者過曉冰, 王哲鵬, 王天樹, 蘇輝 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
赫章县| 略阳县| 四子王旗| 博兴县| 和林格尔县| 瑞金市| 阜阳市| 修水县| 宜春市| 呼和浩特市| 岑溪市| 三明市| 吉林省| 彭阳县| 莱西市| 平乡县| 宁南县| 张家川| 明水县| 都安| 新泰市| 静宁县| 福建省| 岳西县| 梧州市| 浙江省| 肃宁县| 二连浩特市| 华阴市| 县级市| 高阳县| 张家界市| 名山县| 昌乐县| 临城县| 永吉县| 正宁县| 临夏市| 牟定县| 永昌县| 虹口区|