專(zhuān)利名稱(chēng):用于可移植按需處理的中央處理器的系統(tǒng)和方法
技術(shù)領(lǐng)域:
總的來(lái)說(shuō),本發(fā)明涉及一種用于使用可移植CPU模塊來(lái)運(yùn)行計(jì)算機(jī)系統(tǒng)的系統(tǒng)和方法。本發(fā)明尤其涉及一種用于使用可拆卸處理器模塊的系統(tǒng)和方法,所述可拆卸處理器具有一個(gè)處理器且適于被插入到多個(gè)計(jì)算機(jī)系統(tǒng)中以便執(zhí)行處理器指令。
背景技術(shù):
許多計(jì)算機(jī)用戶(hù)擁有多個(gè)計(jì)算機(jī)系統(tǒng)和/或其它計(jì)算設(shè)備。例如,用戶(hù)可以擁有在家里的臺(tái)式機(jī)、在工作點(diǎn)的臺(tái)式機(jī)、便攜式膝上型計(jì)算機(jī),另外,用戶(hù)還可以擁有諸如個(gè)人數(shù)據(jù)助理和移動(dòng)電話(huà)之類(lèi)的袖珍型計(jì)算設(shè)備。
用戶(hù)擁有的每個(gè)計(jì)算機(jī)系統(tǒng)與設(shè)備都需要一個(gè)單獨(dú)的處理器。例如,臺(tái)式個(gè)人計(jì)算機(jī)和個(gè)人數(shù)據(jù)助理需要不同類(lèi)型的兩個(gè)處理器。甚至對(duì)于諸如Windows臺(tái)式個(gè)人計(jì)算機(jī)和Windows膝上型個(gè)人計(jì)算機(jī)之類(lèi)同一系列的計(jì)算機(jī),即使它們未被同時(shí)使用,也需要單獨(dú)的處理器。
此外,計(jì)算機(jī)系統(tǒng)通常受到計(jì)算機(jī)系統(tǒng)內(nèi)部處理器所提供的計(jì)算能力的限制。除了處理器安裝在其中的那個(gè)計(jì)算機(jī)系統(tǒng)之外,即使用戶(hù)擁有其它處理器(例如用戶(hù)的其它計(jì)算機(jī)系統(tǒng)中的處理器),用戶(hù)也不能利用計(jì)算機(jī)系統(tǒng)中的這些處理器的計(jì)算能力。
因此,需要一種系統(tǒng)和方法,其能夠向用戶(hù)提供擁有能夠被使用在多個(gè)計(jì)算機(jī)系統(tǒng)上的單個(gè)處理器的性能。該系統(tǒng)和方法還將向用戶(hù)提供在具有所述現(xiàn)有處理器的計(jì)算機(jī)系統(tǒng)上利用所述附加處理器的能力,以便為了更好的計(jì)算能力而使計(jì)算負(fù)載在現(xiàn)有處理器和附加處理器之間被共享。
發(fā)明內(nèi)容
已經(jīng)發(fā)現(xiàn)由能夠通過(guò)可拆卸CPU模塊向計(jì)算機(jī)系統(tǒng)提供處理器的一種方法和系統(tǒng),能夠處理上述挑戰(zhàn)。
包含CPU的可拆卸CPU模塊被插入到計(jì)算機(jī)系統(tǒng)中,然后計(jì)算機(jī)系統(tǒng)的BIOS檢測(cè)可拆卸CPU模塊。BIOS可以識(shí)別可拆卸CPU模塊并確定處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式、處理器的數(shù)據(jù)傳送模式等等。這些信息可以被儲(chǔ)存在可拆卸CPU模塊上的非易失存儲(chǔ)器中。
BIOS加載該操作系統(tǒng)并使用可拆卸CPU模塊上的CPU開(kāi)始執(zhí)行該操作系統(tǒng)。BIOS還把關(guān)于CPU的諸如處理器訪(fǎng)問(wèn)地址、處理器尋址模式和處理器數(shù)據(jù)傳送模式之類(lèi)的信息發(fā)送給操作系統(tǒng)。
另外,BIOS可以確定該處理器與計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)之間的兼容性。BIOS可以只在響應(yīng)于確定CPU和操作系統(tǒng)兼容時(shí)加載并執(zhí)行該操作系統(tǒng)。
響應(yīng)于用戶(hù)移出可拆卸CPU模塊的請(qǐng)求,保存操作系統(tǒng)的當(dāng)前狀態(tài),并在移出可拆卸CPU模塊之前,停止執(zhí)行該操作系統(tǒng)。在稍后的時(shí)刻把可拆卸操作系統(tǒng)模塊重新插入到該計(jì)算機(jī)系統(tǒng)中后,所述已保存的操作系統(tǒng)狀態(tài)可用來(lái)恢復(fù)該操作系統(tǒng)。
前述是一個(gè)概要,因此必然包含詳細(xì)細(xì)節(jié)的簡(jiǎn)化、歸納和遺漏。因此,本領(lǐng)域技術(shù)人員應(yīng)該理解,該概要只是說(shuō)明性的而不是用來(lái)以任何方式進(jìn)行限制的。完全由權(quán)利要求書(shū)來(lái)定義的本發(fā)明的其他方面、創(chuàng)造性特征以及優(yōu)點(diǎn)將在下面闡明的非限制性的詳細(xì)說(shuō)明中變得顯而易見(jiàn)。
本領(lǐng)域熟練技術(shù)人員通過(guò)參考附圖可以更好地理解本發(fā)明,并且可以明白本發(fā)明的眾多目的、特征和優(yōu)點(diǎn)。不同附圖中采用的相同標(biāo)記表示相似或相同的部件。
圖1是顯示可以在兩個(gè)計(jì)算機(jī)系統(tǒng)之間互換的操作系統(tǒng)模塊的方框圖;圖2是顯示一個(gè)適于接受包含CPU和非易失性存儲(chǔ)器的模塊的計(jì)算機(jī)系統(tǒng)的方框圖,其中所述非易失性存儲(chǔ)器存儲(chǔ)操作系統(tǒng)的運(yùn)行映像(runingimage);圖3是顯示一個(gè)適于接受包含非易失性存儲(chǔ)器的模塊的計(jì)算機(jī)系統(tǒng)的方框圖,其中所述非易失性存儲(chǔ)器存儲(chǔ)操作系統(tǒng)的運(yùn)行映像;圖4是顯示當(dāng)操作系統(tǒng)模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),該計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖;圖5是顯示把操作系統(tǒng)模塊插入和從計(jì)算機(jī)系統(tǒng)移出的處理的流程圖;
圖6是顯示一個(gè)BIOS檢測(cè)可拆卸操作系統(tǒng)模塊、加載操作系統(tǒng)以及把控制傳給操作系統(tǒng)的處理的流程圖;圖7是顯示發(fā)現(xiàn)連接到計(jì)算機(jī)系統(tǒng)的本地設(shè)備的處理的流程圖;圖8是顯示發(fā)現(xiàn)可由計(jì)算機(jī)系統(tǒng)訪(fǎng)問(wèn)的遠(yuǎn)程設(shè)備的處理的流程圖;圖9是顯示對(duì)計(jì)算機(jī)系統(tǒng)上執(zhí)行的應(yīng)用進(jìn)行啟動(dòng)的處理的流程圖;圖10是顯示加載操作系統(tǒng)后,管理該操作系統(tǒng)的處理的流程圖;圖11是顯示在移出模塊之前,在可拆卸操作系統(tǒng)模塊上保存操作系統(tǒng)狀態(tài)的處理的流程圖;圖12是顯示當(dāng)操作系統(tǒng)/應(yīng)用模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),該計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖;圖13是顯示把操作系統(tǒng)/應(yīng)用模塊插入和從計(jì)算機(jī)系統(tǒng)移出的處理的流程圖;圖14是顯示對(duì)計(jì)算機(jī)系統(tǒng)上執(zhí)行的本地應(yīng)用進(jìn)行啟動(dòng)的處理的流程圖;圖15是顯示對(duì)計(jì)算機(jī)系統(tǒng)上執(zhí)行的模塊(模塊存儲(chǔ)的)應(yīng)用進(jìn)行啟動(dòng)的處理的流程圖;圖16是顯示在模塊移去之前,在可拆卸操作系統(tǒng)/應(yīng)用模塊上保存模塊應(yīng)用的處理的流程圖;圖17是顯示在模塊移去之前,在可拆卸操作系統(tǒng)/應(yīng)用模塊上保存應(yīng)用狀態(tài)的處理的流程圖;圖18是顯示當(dāng)CPU模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),該計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖;圖19是顯示把可拆卸CPU模塊插入和從計(jì)算機(jī)系統(tǒng)移出的處理的流程圖;圖20是顯示一個(gè)BIOS檢測(cè)可拆卸CPU模塊、并確定模塊上的CPU以及計(jì)算機(jī)系統(tǒng)的兼容性的處理的流程圖;圖21是顯示一個(gè)BIOS加載操作系統(tǒng)并利用CPU開(kāi)始運(yùn)行操作系統(tǒng)的處理的流程圖;圖22是顯示當(dāng)CPU模塊(包含第二CPU)插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),該計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖;圖23是顯示把可拆卸CPU模塊插入和移出包含內(nèi)置CPU的計(jì)算機(jī)系統(tǒng)的處理的流程圖;
圖24是顯示操作系統(tǒng)訪(fǎng)問(wèn)第二CPU并把負(fù)荷部分分配給輔助CPU的處理的流程圖;圖25是顯示當(dāng)操作系統(tǒng)/CPU模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),該計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖;圖26是顯示把可拆卸操作系統(tǒng)/CPU模塊插入和從計(jì)算機(jī)系統(tǒng)移出的處理的流程圖;圖27是一個(gè)BIOS檢測(cè)可拆卸操作系統(tǒng)/CPU模塊、確定模塊上的CPU和操作系統(tǒng)與計(jì)算機(jī)系統(tǒng)的兼容性的處理的流程圖;圖28是顯示一個(gè)裝置連接到計(jì)算機(jī)系統(tǒng)以及把設(shè)備驅(qū)動(dòng)器從該設(shè)備的非易失性存儲(chǔ)器傳送到計(jì)算機(jī)系統(tǒng)的方框圖。
圖29是顯示把設(shè)備連接到計(jì)算機(jī)系統(tǒng)并把設(shè)備驅(qū)動(dòng)器從該設(shè)備的非易失性存儲(chǔ)轉(zhuǎn)送到計(jì)算機(jī)系統(tǒng)的處理的流程圖;圖30是顯示計(jì)算機(jī)系統(tǒng)與遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器以諸如XML的可移植語(yǔ)言進(jìn)行通信,以便獲得關(guān)于服務(wù)器上存儲(chǔ)的設(shè)備的設(shè)備驅(qū)動(dòng)器的信息的方框圖;圖31是顯示計(jì)算機(jī)系統(tǒng)與遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器以諸如XML的可移植語(yǔ)言進(jìn)行通信,以便獲得關(guān)于服務(wù)器上存儲(chǔ)的設(shè)備的設(shè)備驅(qū)動(dòng)器的信息的處理流程圖;圖32是顯示在計(jì)算機(jī)系統(tǒng)與遠(yuǎn)程業(yè)務(wù)/設(shè)備之間建立通信的處理流程圖;圖33是顯示一個(gè)可拆卸操作系統(tǒng)模塊的方框圖,其中所述模塊包含防止未授權(quán)訪(fǎng)問(wèn)設(shè)備的安全裝置;圖34是顯示使用模塊上的安全裝置防止未授權(quán)訪(fǎng)問(wèn)可拆卸操作系統(tǒng)模塊的處理流程圖;圖35是利用模塊的指紋掃描儀保護(hù)可拆卸操作系統(tǒng)模塊的處理流程圖;圖36是利用模塊的眼視網(wǎng)膜掃描儀保護(hù)可拆卸操作系統(tǒng)模塊的處理流程圖;圖37是利用鍵入口令的模塊的小鍵盤(pán)保護(hù)可拆卸操作系統(tǒng)模塊的處理流程圖;圖38是利用用戶(hù)通過(guò)計(jì)算機(jī)系統(tǒng)提供的安全數(shù)據(jù)防止未授權(quán)訪(fǎng)問(wèn)可拆卸操作系統(tǒng)模塊的處理流程圖;圖39是顯示可拆卸模塊的制造/編程的方框圖;
圖40是顯示制造和編程操作系統(tǒng)模塊的處理流程圖;圖41是顯示用戶(hù)利用運(yùn)行操作系統(tǒng)安裝文件編程一個(gè)操作系統(tǒng)模塊的處理流程圖;圖42是顯示用戶(hù)利用運(yùn)行操作系統(tǒng)更新安裝文件更新操作系統(tǒng)模塊的處理流程圖;圖43是顯示具有模塊接口的個(gè)人計(jì)算機(jī)的方框圖;圖44是顯示制造一個(gè)個(gè)人計(jì)算機(jī)的處理流程圖,該個(gè)人計(jì)算機(jī)具有一個(gè)模塊接口和一個(gè)連接到模塊接口的具不同配置選項(xiàng)的模塊。
圖45是顯示在計(jì)算機(jī)系統(tǒng)和/或模塊上安裝操作系統(tǒng)的處理流程圖;圖46是顯示在計(jì)算機(jī)系統(tǒng)和/或模塊上安裝應(yīng)用程序的處理流程圖;圖47是顯示把CPU安裝到計(jì)算機(jī)系統(tǒng)和/或模塊上的處理流程圖;以及圖48是顯示一個(gè)信息處理系統(tǒng)的方框圖,其中所述信息處理系統(tǒng)是能夠執(zhí)行這里所述的操作的一個(gè)計(jì)算機(jī)系統(tǒng)的簡(jiǎn)化實(shí)例。
具體實(shí)施例方式
以下描述用來(lái)提供對(duì)本發(fā)明一個(gè)實(shí)例的詳細(xì)說(shuō)明,而不應(yīng)當(dāng)用來(lái)限制本發(fā)明。相反,本發(fā)明任何數(shù)量的改變都可能落入緊隨說(shuō)明書(shū)的權(quán)利要求所定義的本發(fā)明的范圍之內(nèi)。
圖1是顯示可以在兩個(gè)計(jì)算機(jī)系統(tǒng)之間互換的操作系統(tǒng)模塊的方框圖。計(jì)算機(jī)系統(tǒng)110包括BIOS115,在加載操作系統(tǒng)之前,用于執(zhí)行計(jì)算機(jī)系統(tǒng)110的基本輸入/輸出;非易失性存儲(chǔ)器120,存儲(chǔ)安裝到計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序、用戶(hù)的設(shè)置等;和存儲(chǔ)器125,用作計(jì)算機(jī)系統(tǒng)操作期間的臨時(shí)存儲(chǔ)器。這里所涉及的BIOS還可以包括上電自檢(POST)。計(jì)算機(jī)系統(tǒng)110還包括附加設(shè)備130(比如打印機(jī)),該附加設(shè)備130包括設(shè)備的設(shè)備驅(qū)動(dòng)器135。設(shè)備驅(qū)動(dòng)器135被安裝到計(jì)算機(jī)系統(tǒng)110上,以便于計(jì)算機(jī)系統(tǒng)110與附加設(shè)置130之間的通信。當(dāng)附加設(shè)備130連接到計(jì)算機(jī)系統(tǒng)110時(shí),附加裝置130可以向計(jì)算機(jī)系統(tǒng)110提供設(shè)備驅(qū)動(dòng)器135,所以,用戶(hù)不需要從不同源獲得用于附加設(shè)備130的設(shè)備驅(qū)動(dòng)器。
計(jì)算機(jī)系統(tǒng)110還包括可拆卸操作系統(tǒng)模塊接口137,它可以接受諸如可拆卸操作系統(tǒng)模塊180的可拆卸操作系統(tǒng)模塊??刹鹦恫僮飨到y(tǒng)模塊180包括非易失性存儲(chǔ)器185和操作系統(tǒng)執(zhí)行圖像190。當(dāng)把可拆卸操作系統(tǒng)模塊180插入可拆卸操作系統(tǒng)模塊接口137時(shí),BIOS115檢測(cè)可拆卸操作系統(tǒng)模塊180,并把操作系統(tǒng)執(zhí)行圖像從可拆卸操作系統(tǒng)模塊180加載到存儲(chǔ)器單元125。BIOS115隨后啟動(dòng)計(jì)算機(jī)系統(tǒng)110的操作系統(tǒng)的運(yùn)行。被加載的操作系統(tǒng)操作和控制計(jì)算機(jī)系統(tǒng)110,并在非易失性存儲(chǔ)器120、存儲(chǔ)器單元125、BIOS115與附加設(shè)備140之間提供一個(gè)接口。
同樣,計(jì)算機(jī)系統(tǒng)140包括BIOS145,用于在加載操作系統(tǒng)之前執(zhí)行計(jì)算機(jī)系統(tǒng)140的基本輸入/輸出;非易失性存儲(chǔ)器160,存儲(chǔ)安裝到計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序、用戶(hù)的設(shè)置等;和存儲(chǔ)器165,用作計(jì)算機(jī)系統(tǒng)操作期間的臨時(shí)存儲(chǔ)器。計(jì)算機(jī)系統(tǒng)110還包括附加設(shè)備170(比如打印機(jī)),該附加設(shè)備170包括設(shè)備的設(shè)備驅(qū)動(dòng)器175。設(shè)備驅(qū)動(dòng)器175被安裝到計(jì)算機(jī)系統(tǒng)140上,以便于計(jì)算機(jī)系統(tǒng)140與附加設(shè)置170之間的通信。當(dāng)附加設(shè)備170連接到計(jì)算機(jī)系統(tǒng)140時(shí),附加裝置170可以向計(jì)算機(jī)系統(tǒng)140提供設(shè)備驅(qū)動(dòng)器175,所以,用戶(hù)不需要從不同源獲得用于附加設(shè)備170的設(shè)備驅(qū)動(dòng)器。計(jì)算機(jī)系統(tǒng)140還包括可拆卸操作系統(tǒng)模塊接口177,它可以接受諸如可拆卸操作系統(tǒng)模塊180之類(lèi)的可拆卸操作系統(tǒng)模塊。
可拆卸操作系統(tǒng)模塊180可以從計(jì)算機(jī)系統(tǒng)110中拆除,并隨之將其插入計(jì)算機(jī)系統(tǒng)140,利用該模塊上的操作系統(tǒng)能夠運(yùn)行并控制整個(gè)計(jì)算機(jī)系統(tǒng)。一旦把可拆卸操作系統(tǒng)模塊180插入可拆卸操作系統(tǒng)模塊接口177,BIOS145就檢測(cè)可拆卸操作系統(tǒng)模塊180并把操作系統(tǒng)執(zhí)行圖像從可拆卸操作系統(tǒng)模塊180加載到存儲(chǔ)單元165。BIOS115隨后以計(jì)算機(jī)系統(tǒng)110的非常相似的方式啟動(dòng)計(jì)算機(jī)系統(tǒng)140上的操作系統(tǒng)的執(zhí)行。被加載的操作系統(tǒng)現(xiàn)在可以操作和控制計(jì)算機(jī)系統(tǒng)140,并提供非易失性存儲(chǔ)器160、存儲(chǔ)器165、BIOS145與附加設(shè)備170之間的接口。
圖2是顯示適于接受一個(gè)模塊的計(jì)算機(jī)系統(tǒng)的方框圖,其中所述模塊包含存儲(chǔ)操作系統(tǒng)的和運(yùn)行映像的CPU和非易失性存儲(chǔ)器。操作系統(tǒng)的運(yùn)行映像是包含已啟動(dòng)并且正在運(yùn)行的操作系統(tǒng)的存儲(chǔ)器瞬像,所述正在運(yùn)行的操作系統(tǒng)包括正在執(zhí)行的操作系統(tǒng)作業(yè)。
計(jì)算機(jī)系統(tǒng)201包括設(shè)于可拆卸模塊290上的CPU294??刹鹦赌K290還包括非易失性RAM292,可以拆卸該模塊290并將其重新插入計(jì)算機(jī)系統(tǒng)201??刹鹦赌K290連接主機(jī)總線(xiàn)202,主機(jī)總線(xiàn)202將可拆卸模塊290連接到計(jì)算機(jī)系統(tǒng)201。非易失性存儲(chǔ)器292包含操作系統(tǒng)運(yùn)行映像294,當(dāng)可拆卸模塊290插入計(jì)算機(jī)系統(tǒng)201時(shí)被加載并開(kāi)始執(zhí)行,以操作和控制計(jì)算機(jī)系統(tǒng)201。
二級(jí)(level two)(L2)高速緩沖存儲(chǔ)器204也連接主機(jī)總線(xiàn)202。主機(jī)-PCI橋206連接主存儲(chǔ)器208,主機(jī)-PCI橋206包括高速緩沖存儲(chǔ)器和主存儲(chǔ)器控制功能并提供總線(xiàn)控制,以處理PCI總線(xiàn)210、處理器200、L2高速緩沖存儲(chǔ)器204、主存儲(chǔ)器208和主機(jī)總線(xiàn)202之間的傳輸。主存儲(chǔ)器208連接主機(jī)-PCI橋206以及主機(jī)總線(xiàn)202。僅由CPU294使用的設(shè)備(比如LAN卡230)連接到PCI總線(xiàn)210。業(yè)務(wù)處理器接口和ISA接入通道212提供PCI總線(xiàn)210與PCI總線(xiàn)214之間的接口。如此,將PCI總線(xiàn)214與PCI總線(xiàn)210隔離。諸如閃存218之類(lèi)的裝置連接到PCI總線(xiàn)214。在一個(gè)實(shí)施例中,閃存218包含BIOS碼,該BIOS碼合并用于各種低級(jí)系統(tǒng)功能和系統(tǒng)引導(dǎo)功能的必要處理器可執(zhí)行碼。
PCI總線(xiàn)214提供一個(gè)用于各種設(shè)備的接口,所述設(shè)備被CPU294和包含例如閃存218的業(yè)務(wù)處理器216共用。PCI-ISA橋235提供總線(xiàn)控制,以處理PCI總線(xiàn)214與ISA總線(xiàn)240之間的傳輸、通用串行總線(xiàn)(USB)功能性245、功率管理功能性255,并且PCI-ISA橋235可以包括未顯示的其它功能組件,比如實(shí)時(shí)時(shí)鐘(RTC)、DMA控制、中斷支持和系統(tǒng)管理總線(xiàn)支持。非易失性RAM220連接到ISA總線(xiàn)240。業(yè)務(wù)處理器216包括JTAG和I2C總線(xiàn)222,用于在啟動(dòng)步驟期間與CPU294通信。JTAG/I2C總線(xiàn)222還連接到L2高速緩沖存儲(chǔ)器204、主機(jī)-PCI橋206和主存儲(chǔ)器208,提供處理器、業(yè)務(wù)處理器、L2高速緩沖存儲(chǔ)器、主機(jī)-PCI橋和主存儲(chǔ)器之間的通信路徑。業(yè)務(wù)處理器216還訪(fǎng)問(wèn)降低信息處理裝置201功率的系統(tǒng)功率資源。
外圍設(shè)備和輸入/輸出(I/O)設(shè)備可以連接各種接口(例如,連接到ISA總線(xiàn)240的并行接口262、串行接口264、鍵盤(pán)接口268和鼠標(biāo)接口270)。作為選擇,附屬于ISA總線(xiàn)240的超I/O控制器(未示出)可以接納許多I/O設(shè)備。
為了把計(jì)算機(jī)系統(tǒng)201附屬到另一個(gè)計(jì)算機(jī)系統(tǒng)以在網(wǎng)絡(luò)上復(fù)制文件,LAN卡230被連接到PCI總線(xiàn)210。同樣,為了利用電話(huà)線(xiàn)連接把計(jì)算機(jī)系統(tǒng)201連接到ISP并由此連接到互聯(lián)網(wǎng),調(diào)制解調(diào)器275連接串行端口264和PCI-ISA橋235。
圖3是顯示適于接受包含非易失性存儲(chǔ)器的模塊的計(jì)算機(jī)系統(tǒng)的方框圖,其中所述存儲(chǔ)器存儲(chǔ)操作系統(tǒng)的運(yùn)行映像。計(jì)算機(jī)系統(tǒng)301包括連接主機(jī)總線(xiàn)302的處理器300。包括非易失性RAM392的可拆卸模塊390可以移出和重新插入計(jì)算機(jī)系統(tǒng)301??刹鹦赌K390連接主機(jī)總線(xiàn)302,主機(jī)總線(xiàn)302將可拆卸模塊390連接到計(jì)算機(jī)系統(tǒng)301。非易失性存儲(chǔ)器392包含操作系統(tǒng)運(yùn)行映像394,當(dāng)可拆卸模塊390插入計(jì)算機(jī)系統(tǒng)301時(shí)被加載并開(kāi)始執(zhí)行,以操作和控制計(jì)算機(jī)系統(tǒng)301。
二級(jí)(level two)(L2)高速緩沖存儲(chǔ)器304也連接主機(jī)總線(xiàn)302。主機(jī)-PCI橋306連接主存儲(chǔ)器308,主機(jī)-PCI橋306包括高速緩沖存儲(chǔ)器和主存儲(chǔ)器控制功能并提供總線(xiàn)控制,以處理PCI總線(xiàn)310、處理器300、L2高速緩沖存儲(chǔ)器304、主存儲(chǔ)器308和主機(jī)總線(xiàn)302之間的傳輸。主存儲(chǔ)器308連接主機(jī)-PCI橋306以及主機(jī)總線(xiàn)302。僅由主機(jī)處理器300使用的設(shè)備(比如LAN卡330)連接到PCI總線(xiàn)310。業(yè)務(wù)處理器接口和ISA接入通道312提供PCI總線(xiàn)310與PCI總線(xiàn)314之間的接口。如此,將PCI總線(xiàn)314與PCI總線(xiàn)310隔離。諸如閃存318的裝置連接到PCI總線(xiàn)314。在一個(gè)實(shí)施例中,閃存318包含BIOS碼,該BIOS碼合并用于各種低級(jí)系統(tǒng)功能和系統(tǒng)引導(dǎo)功能的必要處理器可執(zhí)行碼。
PCI總線(xiàn)314提供一個(gè)用于各種設(shè)備的接口,所述設(shè)備被主機(jī)處理器300和包含例如閃存318的業(yè)務(wù)處理器316共用。PCI-ISA橋335提供總線(xiàn)控制,以處理PCI總線(xiàn)314與ISA總線(xiàn)340之間的傳輸、通用串行總線(xiàn)(USB)功能性345、功率管理功能性355,并且PCI-ISA橋335可以包括未顯示的其它功能組件,比如實(shí)時(shí)時(shí)鐘(RTC)、DMA控制、中斷支持和系統(tǒng)管理總線(xiàn)支持。非易失性RAM320連接到ISA總線(xiàn)340。業(yè)務(wù)處理器316包括JTAG和I2C總線(xiàn)322,用于在啟動(dòng)步驟期間與處理器300通信。JTAG/I2C總線(xiàn)322還連接到L2高速緩沖存儲(chǔ)器304、主機(jī)-PCI橋306和主存儲(chǔ)器308,提供處理器、業(yè)務(wù)處理器、L2高速緩沖存儲(chǔ)器、主機(jī)-PCI橋和主存儲(chǔ)器之間的通信路徑。業(yè)務(wù)處理器316還訪(fǎng)問(wèn)降低信息處理裝置301功率的系統(tǒng)功率資源。
外圍設(shè)備和輸入/輸出(I/O)設(shè)備可以連接各種接口(例如,連接到ISA總線(xiàn)340的并行接口362、串行接口364、鍵盤(pán)接口368和鼠標(biāo)接口370)。作為選擇,附屬到ISA總線(xiàn)340的超I/O控制器(未示出)可以提供許多I/O設(shè)備。
為了把計(jì)算機(jī)系統(tǒng)301附屬到另一個(gè)計(jì)算機(jī)系統(tǒng)以在網(wǎng)絡(luò)上復(fù)制文件,LAN卡330被連接到PCI總線(xiàn)310。同樣,為了利用電話(huà)線(xiàn)連接把計(jì)算機(jī)系統(tǒng)301連接到ISP并由此連接到互聯(lián)網(wǎng),調(diào)制解調(diào)器375連接串行端口364和PCI-ISA橋335。
圖4是顯示操作系統(tǒng)模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),該計(jì)算機(jī)系統(tǒng)的狀態(tài)的方框圖。計(jì)算機(jī)系統(tǒng)410包括BIOS428,在操作系統(tǒng)運(yùn)行之前執(zhí)行基本輸入/輸出功能;CPU430,處理用于運(yùn)行和控制計(jì)算機(jī)系統(tǒng)410的指令;非易失性存儲(chǔ)器434,存儲(chǔ)已安裝的應(yīng)用、用戶(hù)設(shè)置等;RAM412,在計(jì)算機(jī)系統(tǒng)410進(jìn)行操作的同時(shí)進(jìn)行臨時(shí)存儲(chǔ)。
此外,計(jì)算機(jī)系統(tǒng)410包括能夠接受可拆卸操作系統(tǒng)模塊424的可拆卸操作系統(tǒng)模塊接口425??刹鹦恫僮飨到y(tǒng)模塊424包括非易失性存儲(chǔ)器中的操作系統(tǒng)運(yùn)行映像426。
當(dāng)把可拆卸操作系統(tǒng)模塊424插入可拆卸操作系統(tǒng)模塊接口425時(shí),BIOS428將操作系統(tǒng)運(yùn)行映像426從可拆卸操作系統(tǒng)模塊424的非易失性存儲(chǔ)器加載到RAM412(操作系統(tǒng)RAM414)并啟動(dòng)操作系統(tǒng)的執(zhí)行。
接著,操作系統(tǒng)從非易失性存儲(chǔ)器434加載連接到計(jì)算機(jī)系統(tǒng)410的任何外部設(shè)備所需的裝置驅(qū)動(dòng)器(設(shè)備驅(qū)動(dòng)器RAM416),輸入/輸出配置(I/O配置RAM418)和任何所需的應(yīng)用(應(yīng)用RAM420)。
當(dāng)從計(jì)算機(jī)系統(tǒng)410移出可拆卸操作系統(tǒng)模塊424時(shí),就倒轉(zhuǎn)加載處理。在可拆卸操作系統(tǒng)模塊424上更新操作系統(tǒng)的當(dāng)前狀態(tài),在非易失性存儲(chǔ)器434上更新應(yīng)用信息、I/O配置和設(shè)備驅(qū)動(dòng)器。一旦可拆卸操作系統(tǒng)模塊移去,就可以將其插入另一個(gè)兼容計(jì)算機(jī)系統(tǒng)中,使該模塊的操作系統(tǒng)可以控制和操作其它計(jì)算機(jī)系統(tǒng)。
圖5是顯示可拆卸操作系統(tǒng)模塊插入和移出一個(gè)計(jì)算機(jī)系統(tǒng)的處理流程圖。處理開(kāi)始于步驟500,在步驟510,用戶(hù)把可拆卸操作系統(tǒng)模塊插入適于接受該模塊的計(jì)算機(jī)系統(tǒng)??刹鹦恫僮飨到y(tǒng)模塊包含操作系統(tǒng)的運(yùn)行映像,該運(yùn)行映像被存儲(chǔ)在模塊的非易失性存儲(chǔ)器上。在步驟515,計(jì)算機(jī)系統(tǒng)的BIOS檢測(cè)插入時(shí)的可拆卸操作系統(tǒng)模塊,并將操作系統(tǒng)從模塊的非易失性存儲(chǔ)器加載到計(jì)算機(jī)系統(tǒng)的RAM。在操作系統(tǒng)結(jié)束加載之后,BIOS啟動(dòng)操作系統(tǒng)的執(zhí)行,然后將控制傳送到操作系統(tǒng)。圖6的流程圖提供了在步驟515發(fā)生的處理的進(jìn)一步細(xì)節(jié)。
在步驟520,操作系統(tǒng)發(fā)現(xiàn)連接該計(jì)算機(jī)的本地設(shè)備。在可拆卸操作系統(tǒng)模塊從該計(jì)算機(jī)系統(tǒng)移動(dòng)到目前發(fā)現(xiàn)的設(shè)備之前,操作系統(tǒng)比較包含該設(shè)備的列表,從而更新設(shè)備的列表。圖7的流程圖提供發(fā)生在步驟520上的處理的進(jìn)一步細(xì)節(jié)。
在步驟525,操作系統(tǒng)發(fā)現(xiàn)可由計(jì)算機(jī)系統(tǒng)訪(fǎng)問(wèn)或者可由正在使用一個(gè)不同計(jì)算機(jī)系統(tǒng)的用戶(hù)訪(fǎng)問(wèn)的任何遠(yuǎn)程設(shè)備。圖8的流程圖提供了發(fā)生在步驟525上的處理的進(jìn)一步細(xì)節(jié)。圖9的流程圖提供了發(fā)生在步驟530上的處理的進(jìn)一步細(xì)節(jié)。
在步驟530,在從計(jì)算機(jī)系統(tǒng)最后移出可拆卸操作系統(tǒng)模塊之前,操作系統(tǒng)啟動(dòng)休眠或者暫停的應(yīng)用程序。
在步驟535,操作系統(tǒng)管理計(jì)算機(jī)系統(tǒng)。操作系統(tǒng)執(zhí)行用戶(hù)請(qǐng)求或者運(yùn)行的應(yīng)用請(qǐng)求的作業(yè)。圖10的流程圖提供了發(fā)生在步驟535上的處理的進(jìn)一步細(xì)節(jié)。
然后在判決540,確定用戶(hù)是否已經(jīng)請(qǐng)求移出可拆卸操作系統(tǒng)模塊。如果用戶(hù)還沒(méi)有請(qǐng)求移出可拆卸操作系統(tǒng)模塊,則判決540轉(zhuǎn)移到“no”分支550,并返回到步驟535,操作系統(tǒng)在此步驟中繼續(xù)執(zhí)行任何所請(qǐng)求的作業(yè)。
如果用戶(hù)已經(jīng)請(qǐng)求移出可拆卸操作系統(tǒng)模塊,則判決540轉(zhuǎn)移到“yes”分支545,并在步驟555繼續(xù)進(jìn)行處理,在此將操作系統(tǒng)的狀態(tài)保存在可拆卸操作系統(tǒng)模塊上。圖11的流程圖提供了發(fā)生在步驟555上的處理的進(jìn)一步細(xì)節(jié)。
在步驟560,當(dāng)移出可拆卸操作系統(tǒng)模塊的所有準(zhǔn)備已經(jīng)被執(zhí)行之后,將“移出模塊是安全的”通知給用戶(hù),并且在步驟565,用戶(hù)移出可拆卸操作系統(tǒng)模塊。處理在步驟599結(jié)束。
圖6是顯示BIOS檢測(cè)可拆卸操作系統(tǒng)模塊、加載操作系統(tǒng)以及把控制傳送到操作系統(tǒng)的處理流程圖。處理開(kāi)始于步驟600,在步驟610,BISO檢測(cè)已插入的可拆卸操作系統(tǒng)模塊。可拆卸操作系統(tǒng)模塊例如可以包括即插即用型功能,以便向計(jì)算機(jī)系統(tǒng)提供該模塊的初始信息。
在步驟615,BIOS將操作系統(tǒng)的運(yùn)行映像從可拆卸操作系統(tǒng)模塊加載到計(jì)算機(jī)系統(tǒng)的RAM。在加載操作系統(tǒng)過(guò)程中,BIOS可以把操作系統(tǒng)的運(yùn)行映像直接復(fù)制到RAM中,或者BIOS可以將模塊的存儲(chǔ)器地址映射到RAM地址以運(yùn)行來(lái)自模塊的操作系統(tǒng),或者BIOS將操作系統(tǒng)的圖像從模塊的休眠保存狀態(tài)恢復(fù)到RAM,或者是以上的組合。為了在可拆卸操作系統(tǒng)模塊與計(jì)算機(jī)系統(tǒng)的RAM上的存儲(chǔ)器地址之間建立映射,可以例如通過(guò)以下方式分配基本地址在插入模塊時(shí)進(jìn)行一個(gè)預(yù)定的自動(dòng)分配,或者在RAM中保存用于操作系統(tǒng)的基本地址,或者利用硬件插腳檢測(cè)和再定位。
在步驟620,BIOS提示用戶(hù)是否通過(guò)有效地重新啟動(dòng)系統(tǒng)或者重新啟動(dòng)模塊,來(lái)恢復(fù)操作系統(tǒng)的執(zhí)行或者重新啟動(dòng)操作系統(tǒng)。
然后在判決630,確定用戶(hù)是否已經(jīng)選擇重新啟動(dòng)操作系統(tǒng)。如果用戶(hù)已經(jīng)選擇重新啟動(dòng)系統(tǒng),則判決630轉(zhuǎn)移到“yes”分支635,在步驟655,從模塊獲得用于操作系統(tǒng)的重新啟動(dòng)入口點(diǎn)。在模塊的初始建立期間,或者當(dāng)操作系統(tǒng)的狀態(tài)在模塊從計(jì)算機(jī)系統(tǒng)移出之前被保存在該模塊中時(shí),將操作系統(tǒng)重新啟動(dòng)入口點(diǎn)保存在該模塊上。重新啟動(dòng)入口點(diǎn)代表重新啟動(dòng)處理的點(diǎn),而不考慮在可拆卸操作系統(tǒng)模塊最后移出之前,操作系統(tǒng)的在前狀態(tài)。在步驟660,操作系統(tǒng)開(kāi)始在重新啟動(dòng)入口點(diǎn)運(yùn)行。然后處理于步驟699結(jié)束。
如果用戶(hù)沒(méi)有選擇重新啟動(dòng)系統(tǒng),而是選擇恢復(fù)操作系統(tǒng),則判決635轉(zhuǎn)移到“no”分支640,在步驟645,從模塊中獲得操作系統(tǒng)的恢復(fù)入口點(diǎn)。在模塊從計(jì)算機(jī)系統(tǒng)中最后移出之前,操作系統(tǒng)恢復(fù)點(diǎn)被保存在模塊上?;謴?fù)入口點(diǎn)代表當(dāng)操作系統(tǒng)狀態(tài)被保存在可拆卸操作系統(tǒng)模塊前恰好停止的一個(gè)點(diǎn)。在步驟650,操作系統(tǒng)從恢復(fù)入口點(diǎn)開(kāi)始運(yùn)行。然后處理結(jié)束于步驟699。
圖7是顯示發(fā)現(xiàn)連接計(jì)算機(jī)系統(tǒng)的本地設(shè)備的處理流程圖。處理開(kāi)始于步驟700,在判決710中確定本地設(shè)備驅(qū)動(dòng)器配置文件是否存在于本地計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上。如果設(shè)備驅(qū)動(dòng)器配置文件不存在,則判決710轉(zhuǎn)移到“no”分支714,在步驟736建立本地驅(qū)動(dòng)器配置文件。然后在判決738繼續(xù)進(jìn)行處理。設(shè)備驅(qū)動(dòng)器配置文件包含本地設(shè)備的列表,在計(jì)算機(jī)系統(tǒng)最后一次被休眠、暫?;蛘哧P(guān)閉之前,該本地設(shè)備被連接到計(jì)算機(jī)系統(tǒng)。該列表不一定反映設(shè)備的當(dāng)前存在,因?yàn)樽杂?jì)算機(jī)系統(tǒng)最后一次操作以后可以增加新設(shè)備并且可以斷開(kāi)舊設(shè)備。
如果設(shè)備驅(qū)動(dòng)器配置文件存在,則判決710轉(zhuǎn)移到“yes”分支712,從本地計(jì)算機(jī)系統(tǒng)加載設(shè)備驅(qū)動(dòng)器配置文件。在步驟718,從配置文件選擇第一設(shè)備,并在判決720確定所選擇的設(shè)備當(dāng)前是否被連接到計(jì)算機(jī)系統(tǒng)。如果該設(shè)備不可用,則判決720轉(zhuǎn)移到“no”分支722,由此在步驟726將所選擇的設(shè)備從設(shè)備驅(qū)動(dòng)器配置文件中刪除。然后在判決728繼續(xù)處理。如果所選擇的設(shè)備可用,則判決720轉(zhuǎn)移到“yes”分支724,以跳過(guò)刪除步驟。
在判決728,確定更多的設(shè)備驅(qū)動(dòng)器是否存在于需要檢查的設(shè)備驅(qū)動(dòng)器配置文件的列表中。如果更多個(gè)設(shè)備驅(qū)動(dòng)器存在,則判決728轉(zhuǎn)移到“yes”分支732,由此在步驟734選擇下一個(gè)設(shè)備驅(qū)動(dòng)器,于是處理返回到判決720。如果設(shè)備驅(qū)動(dòng)器配置文件中沒(méi)有更多的設(shè)備驅(qū)動(dòng)器,則判決728轉(zhuǎn)移到“no”分支730,在判決738繼續(xù)進(jìn)行處理。
在判決738,確定自計(jì)算機(jī)系統(tǒng)最后一次加電以來(lái)是否有任何新設(shè)備連接到該計(jì)算機(jī)系統(tǒng)。如果沒(méi)有出現(xiàn)新設(shè)備,則判決738轉(zhuǎn)移到“no”分支740,不再更新設(shè)備驅(qū)動(dòng)器配置文件,于是處理結(jié)束于步驟799。如果存在新設(shè)備,則判決738轉(zhuǎn)移到“yes”分支742,在步驟746選擇已發(fā)現(xiàn)的第一新設(shè)備。在步驟746,確定和加載與新近發(fā)現(xiàn)的設(shè)備對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)器。所以更新操作系統(tǒng)的任何注冊(cè)。此外,更新本地設(shè)備驅(qū)動(dòng)器配置文件,使其包括新近發(fā)現(xiàn)的設(shè)備。
然后在判決748確定更多新設(shè)備是否存在注冊(cè)的需要。如果沒(méi)有更多新設(shè)備存在,則判決轉(zhuǎn)移到“no”分支750,于是處理結(jié)束于步驟799。如果更多新設(shè)備存在,則判決748轉(zhuǎn)移到“yes”分支752,于是在步驟754選擇下一個(gè)新設(shè)備,然后處理返回到步驟746,以便安裝新設(shè)備和更新適當(dāng)?shù)奈募?br>
圖8是顯示發(fā)現(xiàn)可由計(jì)算機(jī)系統(tǒng)訪(fǎng)問(wèn)的遠(yuǎn)程設(shè)備的處理流程圖。處理開(kāi)始于步驟800。在判決810確定遠(yuǎn)程設(shè)備驅(qū)動(dòng)器配置文件是否存在于本地計(jì)算機(jī)系統(tǒng)上。如果遠(yuǎn)程設(shè)備驅(qū)動(dòng)器配置文件未存在于計(jì)算機(jī)系統(tǒng)上,則判決810轉(zhuǎn)移到“no”分支814,于是在判決818繼續(xù)進(jìn)行處理。
如果遠(yuǎn)程驅(qū)動(dòng)器配置文件存在于計(jì)算機(jī)系統(tǒng)上,則判決810轉(zhuǎn)移到“yes”分支812,于是加載遠(yuǎn)程設(shè)備驅(qū)動(dòng)器配置文件,以獲得在計(jì)算機(jī)最后一次開(kāi)機(jī)時(shí),該計(jì)算機(jī)系統(tǒng)連接的遠(yuǎn)程設(shè)備的列表。
在判決818,確定遠(yuǎn)程設(shè)備配置文件是否存在于可拆卸操作系統(tǒng)模塊上。分離遠(yuǎn)程設(shè)備驅(qū)動(dòng)器配置文件可以被保持模塊上,以用于由模塊的用戶(hù)選用的遠(yuǎn)程設(shè)備。如果遠(yuǎn)程設(shè)備驅(qū)動(dòng)器配置文件不存在,則判決818轉(zhuǎn)移到“no”分支820,于是在步驟826繼續(xù)進(jìn)行處理。如果遠(yuǎn)程設(shè)備驅(qū)動(dòng)器配置文件存在,則判決818轉(zhuǎn)移到“yes”分支822,在步驟824從模塊加載遠(yuǎn)程設(shè)備驅(qū)動(dòng)器配置文件。然后,處理前進(jìn)到步驟826。
在步驟826,選擇第一遠(yuǎn)程設(shè)備驅(qū)動(dòng)器,在步驟828,連接遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器,以確定遠(yuǎn)程設(shè)備是否仍然可用。然后在判決830確定設(shè)備是否可用。如果設(shè)備仍然不可用,則判決830轉(zhuǎn)移到“no”分支834,在判決838繼續(xù)進(jìn)行處理。
如果設(shè)備仍然可用,則判決830轉(zhuǎn)移到“yes”分支832,于是在步驟836接觸遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器,以接收安裝該設(shè)備的必要信息。圖31的流程圖提供了發(fā)生在步驟836上的處理的進(jìn)一步細(xì)節(jié)。
然后在判決838確定更多的設(shè)備是否存在檢查的需要。如果更多設(shè)備不存在需要的檢查,則判決838轉(zhuǎn)移到“no”分支840,于是處理結(jié)束于步驟899。如果更多設(shè)備存在需要的檢查,則判決838轉(zhuǎn)移到“yes”分支842,于是在步驟844選擇一個(gè)新設(shè)備驅(qū)動(dòng)器,然后返回到步驟828以檢查所選擇的驅(qū)動(dòng)器。
圖9是顯示啟動(dòng)在計(jì)算機(jī)系統(tǒng)上執(zhí)行的應(yīng)用程序的處理流程圖。在可拆卸操作系統(tǒng)模塊從計(jì)算機(jī)系統(tǒng)最后一次移出時(shí),存在正在計(jì)算機(jī)系統(tǒng)上執(zhí)行并被休眠或者暫停的應(yīng)用。處理開(kāi)始于步驟900,在步驟910,操作系統(tǒng)從可拆卸操作系統(tǒng)模塊中加載應(yīng)用狀態(tài)數(shù)據(jù)文件。應(yīng)用狀態(tài)數(shù)據(jù)文件包括諸如用戶(hù)正在工作的文件的信息、編輯正在發(fā)生的文件的位置的信息等。
然后在判決912確定更多應(yīng)用是否存在恢復(fù)的需要。如果不存在需要恢復(fù)的應(yīng)用,則判決912轉(zhuǎn)移到“no”分支916,于是處理結(jié)束于步驟912。如果需要恢復(fù)的應(yīng)用存在,則判決912轉(zhuǎn)移到“yes”分支914,于是在步驟918選擇第一個(gè)這樣的應(yīng)用。
然后在判決920確定所選擇的應(yīng)用是否可用于當(dāng)前計(jì)算機(jī)系統(tǒng)。操作系統(tǒng)模塊的用戶(hù)可以執(zhí)行在前計(jì)算機(jī)系統(tǒng)不可用或者當(dāng)前計(jì)算機(jī)系統(tǒng)未安裝的應(yīng)用程序。如果應(yīng)用程序不可用于當(dāng)前計(jì)算機(jī)系統(tǒng),則判決920轉(zhuǎn)移到“no”分支924,將應(yīng)用的狀態(tài)信息保持在應(yīng)用狀態(tài)數(shù)據(jù)文件上。保持該信息是為了在未來(lái)的計(jì)算機(jī)系統(tǒng)上能夠自動(dòng)恢復(fù)相應(yīng)的應(yīng)用程序。然后在判決928繼續(xù)進(jìn)行處理。
如果應(yīng)用程序可用于當(dāng)前的計(jì)算機(jī)系統(tǒng),則判決920轉(zhuǎn)移到“yes”分支922,開(kāi)始該應(yīng)用的運(yùn)行。在步驟934,操作系統(tǒng)保存運(yùn)行應(yīng)用程序的適當(dāng)存儲(chǔ)量,并且在步驟936,運(yùn)行相應(yīng)的可執(zhí)行的應(yīng)用程序。在步驟938,操作系統(tǒng)使用來(lái)自應(yīng)用狀態(tài)數(shù)據(jù)文件的數(shù)據(jù),將應(yīng)用恢復(fù)到模塊的用戶(hù)在前遺留的狀態(tài)。例如,如果應(yīng)用程序是Microsoft Word,則運(yùn)行用戶(hù)最后編輯的文件,編輯位置設(shè)置到最后編輯位置,工具欄配置設(shè)置到最后的工具欄配置等。然后在判決928繼續(xù)進(jìn)行處理。
在判決928,確定更多的應(yīng)用程序是否需要恢復(fù)。如果沒(méi)有更多的需要恢復(fù)的應(yīng)用程序,則判決928轉(zhuǎn)移到“no”分支932,于是處理結(jié)束于步驟999。如果存在更多的需要恢復(fù)的應(yīng)用程序,則判決928轉(zhuǎn)移到“yes”分支930,于是在步驟940選擇下一個(gè)應(yīng)用程序,在步驟940選擇下一個(gè)應(yīng)用,其處理返回到判決920以繼續(xù)進(jìn)行恢復(fù)處理。
圖10是顯示在加載操作系統(tǒng)之后管理操作系統(tǒng)的處理流程圖。處理開(kāi)始于步驟1000,在步驟1010,操作系統(tǒng)等候用戶(hù)的或者一個(gè)應(yīng)用的作業(yè)請(qǐng)求。所請(qǐng)求的作業(yè)可以是例如打印、輸入文本、顯示圖形、執(zhí)行計(jì)算等。在判決1015確定是否已經(jīng)請(qǐng)求了作業(yè)。如果還沒(méi)有請(qǐng)求作業(yè),則判決1015轉(zhuǎn)移到“no”分支1025,于是處理返回到步驟1010,并且操作系統(tǒng)繼續(xù)等候作業(yè)請(qǐng)求。
如果已經(jīng)請(qǐng)求了作業(yè),則判決1015轉(zhuǎn)移到“yes”分支1020,于是在判決1030確定是否已經(jīng)加載了請(qǐng)求完成作業(yè)的可執(zhí)行文件和其它文件。操作系統(tǒng)的某些部分可以不加載到RAM中,而是保留在可拆卸操作系統(tǒng)模塊的非易失性存儲(chǔ)器中。如果已經(jīng)加載了所有必需文件,則判決1030轉(zhuǎn)移到“yes”分支1035,于是在步驟1050繼續(xù)進(jìn)行處理。
如果未加載用于執(zhí)行所請(qǐng)求作業(yè)的所有必要文件,則判決1030轉(zhuǎn)移到“no”分支1040,于是在步驟1045,從可拆卸操作系統(tǒng)模塊的非易失性存儲(chǔ)器加載剩余的所需文件。在步驟1050,操作系統(tǒng)執(zhí)行所請(qǐng)求的作業(yè)。然后處理返回到步驟1010,操作系統(tǒng)在此步驟中繼續(xù)等候另一個(gè)作業(yè)請(qǐng)求。
圖11是顯示模塊移去之前在可拆卸操作系統(tǒng)模塊上保存操作系統(tǒng)狀態(tài)的處理流程圖。處理開(kāi)始于步驟1100,操作系統(tǒng)在此執(zhí)行可拆卸操作系統(tǒng)模塊移去應(yīng)用。在判決1115確定是否存儲(chǔ)仍然執(zhí)行的任何應(yīng)用或處理。如果不存在更多的剩余執(zhí)行的應(yīng)用或者處理,則判決1115轉(zhuǎn)移到“no”分支1125,并在步驟1150繼續(xù)進(jìn)行處理。
如果存在仍然在執(zhí)行的應(yīng)用或者處理,則判決1115轉(zhuǎn)移到“yes”分支1120,于是在步驟1130選擇下一個(gè)執(zhí)行的應(yīng)用或者處理。在步驟1135,操作系統(tǒng)停止執(zhí)行處理或者應(yīng)用,并在步驟1140,把應(yīng)用的或者處理的狀態(tài)信息保存到可拆卸操作系統(tǒng)模塊的應(yīng)用狀態(tài)信息數(shù)據(jù)文件中。如果該文件不存在,則建立一個(gè)新文件。例如,如果應(yīng)用是Word,則保存最后編輯位置、工具欄配置等。在步驟1145,應(yīng)用當(dāng)前訪(fǎng)問(wèn)的任何文件的名稱(chēng)被保存在可拆卸操作系統(tǒng)模塊上。當(dāng)模塊下一次被插入到計(jì)算機(jī)系統(tǒng)時(shí),將在適當(dāng)?shù)木庉孅c(diǎn)用適當(dāng)?shù)膽?yīng)用打開(kāi)適當(dāng)?shù)奈募?br>
在步驟1150,操作系統(tǒng)的當(dāng)前狀態(tài)被保存在模塊中。當(dāng)該模塊下一次被插入計(jì)算機(jī)系統(tǒng)時(shí),將利用該信息重新啟動(dòng)操作系統(tǒng)。操作系統(tǒng)狀態(tài)包括諸如桌面布置、快捷方式、配色方案和其它用戶(hù)首選項(xiàng)的項(xiàng)目。
在步驟1155,確定最后的操作系統(tǒng)執(zhí)行點(diǎn),并將其作為“恢復(fù)”點(diǎn)保存在可拆卸操作系統(tǒng)模塊上。當(dāng)從可拆卸操作系統(tǒng)模塊再次加載操作系統(tǒng)時(shí)可以使用該“恢復(fù)”點(diǎn),并且與重新啟動(dòng)操作系統(tǒng)相反,用戶(hù)從最后執(zhí)行點(diǎn)選擇恢復(fù)操作系統(tǒng)。
在步驟1160,遠(yuǎn)程設(shè)備驅(qū)動(dòng)器的信息被保存在模塊的遠(yuǎn)程設(shè)備驅(qū)動(dòng)配置文件中。當(dāng)可拆卸操作系統(tǒng)模塊被下一次插入計(jì)算機(jī)系統(tǒng)時(shí),可以利用該信息重新連接可用的遠(yuǎn)程設(shè)備。在步驟1165,還可以把任何其它非計(jì)算機(jī)系統(tǒng)特定數(shù)據(jù)(即僅與模塊有關(guān)的數(shù)據(jù))保存到可拆卸操作系統(tǒng)模塊上。
圖12是顯示操作系統(tǒng)/應(yīng)用模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖。計(jì)算機(jī)系統(tǒng)1210包括BIOS1228,在操作系統(tǒng)運(yùn)行之前執(zhí)行基本輸入/輸出功能;CPU1230,處理用于運(yùn)行和控制計(jì)算機(jī)系統(tǒng)1210的指令;非易失性存儲(chǔ)器1234,存儲(chǔ)已安裝的應(yīng)用、用戶(hù)設(shè)置等;RAM1212,在計(jì)算機(jī)系統(tǒng)1210進(jìn)行操作的同時(shí)進(jìn)行臨時(shí)存儲(chǔ)。
此外,計(jì)算機(jī)系統(tǒng)1210包括能夠接受可拆卸操作系統(tǒng)/應(yīng)用模塊1224的可拆卸操作系統(tǒng)/應(yīng)用模塊接口1225??刹鹦恫僮飨到y(tǒng)/應(yīng)用模塊1224包括非易失性存儲(chǔ)器中的操作系統(tǒng)運(yùn)行映像1226以及一個(gè)或多個(gè)應(yīng)用的運(yùn)行映像。
當(dāng)把可拆卸操作系統(tǒng)/應(yīng)用模塊1224插入可拆卸操作系統(tǒng)/應(yīng)用模塊接口1225時(shí),BIOS1228將操作系統(tǒng)和應(yīng)用運(yùn)行映像1226從可拆卸操作系統(tǒng)/應(yīng)用模塊1224的非易失性存儲(chǔ)器加載到RAM1212(操作系統(tǒng)RAM1214和應(yīng)用RAM1220)并啟動(dòng)操作系統(tǒng)的執(zhí)行。執(zhí)行的操作系統(tǒng)然后恢復(fù)已加載應(yīng)用的運(yùn)行。
接著,操作系統(tǒng)從非易失性存儲(chǔ)器1234加載連接計(jì)算機(jī)系統(tǒng)1210的任何外部設(shè)備所需的裝置驅(qū)動(dòng)器(設(shè)備驅(qū)動(dòng)器RAM1216)、輸入/輸出配置(I/O配置RAM1218)和任何所需的應(yīng)用(應(yīng)用RAM1220)。除了模塊1222以外,應(yīng)用也可以駐留在非易失性存儲(chǔ)器1230中。
當(dāng)從計(jì)算機(jī)系統(tǒng)1210移出可拆卸操作系統(tǒng)模塊1224時(shí),就倒轉(zhuǎn)加載處理。在可拆卸操作系統(tǒng)模塊1224上更新操作系統(tǒng)和模塊應(yīng)用的當(dāng)前狀態(tài),在非易失性存儲(chǔ)器1234上更新本地應(yīng)用、I/O配置和設(shè)備驅(qū)動(dòng)器。一旦可拆卸操作系統(tǒng)/應(yīng)用模塊移去,就可以將其插入另一個(gè)兼容計(jì)算機(jī)系統(tǒng)中,使該模塊的操作系統(tǒng)可以控制和操作其它計(jì)算機(jī)系統(tǒng)以及使模塊的應(yīng)用可以在其它計(jì)算機(jī)系統(tǒng)上運(yùn)行。
圖13是顯示可拆卸操作系統(tǒng)/應(yīng)用模塊插入和移出一個(gè)計(jì)算機(jī)系統(tǒng)的處理流程圖。處理開(kāi)始于步驟1300,在步驟1310,用戶(hù)把可拆卸操作系統(tǒng)/應(yīng)用模塊插入適于接受該模塊的計(jì)算機(jī)系統(tǒng)??刹鹦恫僮飨到y(tǒng)/應(yīng)用模塊包含操作系統(tǒng)的運(yùn)行映像以及一個(gè)或多個(gè)應(yīng)用的運(yùn)行映像,這些運(yùn)行映像被存儲(chǔ)在模塊的非易失性存儲(chǔ)器上??刹鹦恫僮飨到y(tǒng)/應(yīng)用模塊上的應(yīng)用由于針對(duì)不同計(jì)算機(jī)系統(tǒng)的模塊對(duì)每模塊每應(yīng)用僅需一個(gè)許可而受到青睞。此外,與在不同計(jì)算機(jī)上保持相同應(yīng)用的多個(gè)復(fù)制相反,模塊提供維護(hù)應(yīng)用的中心點(diǎn)。
在步驟1312,計(jì)算機(jī)系統(tǒng)的BIOS檢測(cè)插入時(shí)的可拆卸操作系統(tǒng)/應(yīng)用模塊,并將操作系統(tǒng)的運(yùn)行映像從模塊的非易失性存儲(chǔ)器加載到計(jì)算機(jī)系統(tǒng)的RAM。在操作系統(tǒng)結(jié)束加載之后,BIOS啟動(dòng)操作系統(tǒng)的執(zhí)行,然后將控制傳送到操作系統(tǒng)。圖6的流程圖提供了在步驟1312發(fā)生的處理的進(jìn)一步細(xì)節(jié)。
在步驟1314,操作系統(tǒng)發(fā)現(xiàn)連接該計(jì)算機(jī)的本地設(shè)備。在可拆卸操作系統(tǒng)模塊從該計(jì)算機(jī)系統(tǒng)移動(dòng)到目前發(fā)現(xiàn)的設(shè)備之前,操作系統(tǒng)比較包含該設(shè)備的列表,從而更新設(shè)備的列表。圖7的流程圖提供發(fā)生在步驟1314上的處理的進(jìn)一步細(xì)節(jié)。
在步驟1316,操作系統(tǒng)發(fā)現(xiàn)可由計(jì)算機(jī)系統(tǒng)訪(fǎng)問(wèn)或者可由正在使用一個(gè)不同計(jì)算機(jī)系統(tǒng)的用戶(hù)訪(fǎng)問(wèn)的任何遠(yuǎn)程設(shè)備。圖8的流程圖提供了發(fā)生在步驟1316上的處理的進(jìn)一步細(xì)節(jié)。
在步驟1318,在從計(jì)算機(jī)系統(tǒng)最后移出可拆卸操作系統(tǒng)模塊之前,操作系統(tǒng)啟動(dòng)休眠或者暫停的應(yīng)用程序。與駐留在可拆卸操作系統(tǒng)/應(yīng)用模塊上的模塊應(yīng)用相反,本地應(yīng)用是駐留在計(jì)算機(jī)系統(tǒng)上的應(yīng)用。圖14的流程圖提供了發(fā)生在步驟1318上的處理的進(jìn)一步細(xì)節(jié)。
在步驟1320,操作系統(tǒng)加載和恢復(fù)被駐留在可拆卸操作系統(tǒng)/應(yīng)用模塊上的模塊應(yīng)用,并可以在當(dāng)前的計(jì)算機(jī)系統(tǒng)上運(yùn)行。圖15的流程圖提供了發(fā)生在步驟1320上的處理的進(jìn)一步細(xì)節(jié)。
在步驟1322,操作系統(tǒng)管理計(jì)算機(jī)系統(tǒng)。操作系統(tǒng)執(zhí)行用戶(hù)請(qǐng)求或者運(yùn)行的應(yīng)用請(qǐng)求的作業(yè)。圖10的流程圖提供了發(fā)生在步驟1322上的處理的進(jìn)一步細(xì)節(jié)。
然后在判決1324,確定用戶(hù)是否已經(jīng)請(qǐng)求移出可拆卸操作系統(tǒng)模塊。如果用戶(hù)還沒(méi)有請(qǐng)求移出可拆卸操作系統(tǒng)模塊,則判決1324轉(zhuǎn)移到“no”分支1328,并返回到步驟1322,操作系統(tǒng)在此步驟中繼續(xù)執(zhí)行任何所請(qǐng)求的作業(yè)。
如果用戶(hù)已經(jīng)請(qǐng)求移出可拆卸操作系統(tǒng)模塊,判決1324轉(zhuǎn)移到“yes”分支1326,并在步驟1330繼續(xù)進(jìn)行處理,在此將操作系統(tǒng)的狀態(tài)保存在可拆卸操作系統(tǒng)模塊上。圖16的流程圖提供了發(fā)生在步驟1330上的處理的進(jìn)一步細(xì)節(jié)。
在步驟1332,將模塊應(yīng)用保存在可拆卸操作系統(tǒng)/應(yīng)用模塊。應(yīng)用狀態(tài)的改變包括應(yīng)用的工具欄或者菜單的改變、優(yōu)選文件位置的改變、被編輯的當(dāng)前文件和編輯位置、以及其它用戶(hù)特定設(shè)置和首選項(xiàng)。圖17的流程圖提供了發(fā)生在步驟1332上的處理的進(jìn)一步細(xì)節(jié)。
在步驟1334,當(dāng)移出可拆卸操作系統(tǒng)模塊的所有準(zhǔn)備已經(jīng)被執(zhí)行之后,將“移出模塊是安全的”通知給用戶(hù),并且在步驟1336,用戶(hù)移出可拆卸操作系統(tǒng)模塊。處理在步驟1399結(jié)束。
圖14顯示啟動(dòng)運(yùn)行于計(jì)算機(jī)系統(tǒng)上的本地應(yīng)用的流程圖。處理開(kāi)始于步驟1400,在步驟1410,操作系統(tǒng)從可拆卸操作系統(tǒng)/應(yīng)用模塊加載應(yīng)用狀態(tài)數(shù)據(jù)文件。應(yīng)用狀態(tài)數(shù)據(jù)文件包括諸如用戶(hù)正在工作的文件的信息、編輯正在發(fā)生的文件位置的信息等。
然后在判決1412確定更多本地應(yīng)用是否存在恢復(fù)的需要。如果不存在需要恢復(fù)的本地應(yīng)用,則判決1412轉(zhuǎn)移到“no”分支1416,于是處理結(jié)束于步驟1499。如果需要恢復(fù)的本地應(yīng)用存在,則判決1412轉(zhuǎn)移到“yes”分支1414,于是在步驟1418選擇第一個(gè)這樣的應(yīng)用。
然后在判決1418確定所選擇的本地應(yīng)用是否可用于當(dāng)前計(jì)算機(jī)系統(tǒng)。操作系統(tǒng)模塊的用戶(hù)可以執(zhí)行在前計(jì)算機(jī)系統(tǒng)不可用或者當(dāng)前計(jì)算機(jī)系統(tǒng)未安裝的本地應(yīng)用程序。如果本地應(yīng)用程序不可用于當(dāng)前計(jì)算機(jī)系統(tǒng),則判決1418轉(zhuǎn)移到“no”分支1420,在步驟1424,將本地應(yīng)用的狀態(tài)信息保持在本地應(yīng)用狀態(tài)數(shù)據(jù)文件上。保持該信息是為了在具有可用本地應(yīng)用程序的未來(lái)的計(jì)算機(jī)系統(tǒng)上能夠自動(dòng)恢復(fù)相應(yīng)的本地應(yīng)用程序。然后處理返回到判決1412。
如果本地應(yīng)用可用于當(dāng)前的計(jì)算機(jī)系統(tǒng),則判決1418轉(zhuǎn)移到“yes”分支1422,開(kāi)始該本地應(yīng)用的運(yùn)行。在步驟1426,操作系統(tǒng)保存運(yùn)行應(yīng)用程序的適當(dāng)存儲(chǔ)量,并且在步驟1428,運(yùn)行相應(yīng)的可執(zhí)行的本地應(yīng)用。在步驟1430,操作系統(tǒng)使用來(lái)自本地應(yīng)用狀態(tài)數(shù)據(jù)文件的數(shù)據(jù),把本地應(yīng)用恢復(fù)到模塊的用戶(hù)在前遺留的狀態(tài)。例如,如果本地應(yīng)用程序是Word,則運(yùn)行用戶(hù)最后編輯的文件,將編輯位置設(shè)置到最后編輯位置、把工具欄配置設(shè)置到最后配置等。然后處理返回到判決1412。
圖15是啟動(dòng)在計(jì)算機(jī)系統(tǒng)上運(yùn)行的模塊(模塊存儲(chǔ)的)應(yīng)用的處理流程圖。處理開(kāi)始于步驟1500,在步驟1510,操作系統(tǒng)從可拆卸操作系統(tǒng)/應(yīng)用模塊加載應(yīng)用狀態(tài)數(shù)據(jù)文件。應(yīng)用狀態(tài)數(shù)據(jù)文件包括諸如用戶(hù)正在工作的文件的信息、編輯正在發(fā)生的文件位置的信息等。此外,應(yīng)用的運(yùn)行映像可以通過(guò)保存應(yīng)用的RAM空間來(lái)保存。
然后在判決1512確定更多模塊應(yīng)用是否存在恢復(fù)的需要。如果不存在需要恢復(fù)的模塊應(yīng)用,則判決1512轉(zhuǎn)移到“no”分支1516,于是處理結(jié)束于步驟1599。如果需要恢復(fù)的模塊應(yīng)用存在,則判決1512轉(zhuǎn)移到“yes”分支1514,于是在步驟1518選擇第一個(gè)這樣的模塊應(yīng)用。
然后在判決1518確定所選擇的模塊應(yīng)用是否可在當(dāng)前計(jì)算機(jī)系統(tǒng)上運(yùn)行(與其兼容)。如果模塊應(yīng)用不可用于當(dāng)前計(jì)算機(jī)系統(tǒng),則判決1518轉(zhuǎn)移到“no”分支1520,在步驟1524,將模塊應(yīng)用的狀態(tài)信息保持在模塊應(yīng)用狀態(tài)數(shù)據(jù)文件上。保持該信息是為了在模塊應(yīng)用是可兼容的未來(lái)計(jì)算機(jī)系統(tǒng)上能夠自動(dòng)恢復(fù)相應(yīng)的模塊應(yīng)用。然后處理返回到判決1512。
如果模塊應(yīng)用與當(dāng)前計(jì)算機(jī)系統(tǒng)兼容,則判決1518轉(zhuǎn)移到“yes”分支1522,開(kāi)始該模塊應(yīng)用的運(yùn)行。在步驟1526,操作系統(tǒng)保存運(yùn)行模塊應(yīng)用的適當(dāng)存儲(chǔ)量,并且在步驟1528,從模塊加載應(yīng)用的運(yùn)行映像。還從模塊加載恢復(fù)應(yīng)用所需的其它狀態(tài)信息,比如應(yīng)用運(yùn)行的最后點(diǎn)。在步驟1530,操作系統(tǒng)在已復(fù)原的恢復(fù)點(diǎn)開(kāi)始運(yùn)行。然后處理返回到判決1512。
圖16是顯示模塊移去之前在可拆卸操作系統(tǒng)/應(yīng)用模塊上保存模塊應(yīng)用的處理流程圖。處理開(kāi)始于步驟1600,操作系統(tǒng)在此執(zhí)行可拆卸操作系統(tǒng)/應(yīng)用模塊移去應(yīng)用。在判決1615確定是否存在仍然執(zhí)行的任何本地應(yīng)用或處理。如果不存在任何留下執(zhí)行的應(yīng)用或者處理,則判決1615轉(zhuǎn)移到“no”分支1620,并在步驟1650繼續(xù)進(jìn)行處理。
如果存在仍然執(zhí)行的本地應(yīng)用或者處理,則判決1615轉(zhuǎn)移到“yes”分支1625,于是在步驟1630選擇下一個(gè)執(zhí)行的本地應(yīng)用或者處理。在步驟1635,操作系統(tǒng)停止執(zhí)行處理或者本地應(yīng)用,并在步驟1640,把本地應(yīng)用的或者處理的狀態(tài)信息保存到可拆卸操作系統(tǒng)/應(yīng)用模塊的本地應(yīng)用狀態(tài)信息數(shù)據(jù)文件中。例如,如果應(yīng)用是Word,則保存最后編輯位置、工具欄配置等。如果文件不存在,則建立一個(gè)新文件。在步驟1645,本地應(yīng)用當(dāng)前所訪(fǎng)問(wèn)的任何文件的名稱(chēng)被保存在可拆卸操作系統(tǒng)/應(yīng)用模塊上。當(dāng)模塊下一次被插入到計(jì)算機(jī)系統(tǒng)時(shí),將在適當(dāng)?shù)木庉孅c(diǎn)用適當(dāng)?shù)谋镜貞?yīng)用打開(kāi)適當(dāng)?shù)奈募?br>
在步驟1650,操作系統(tǒng)的當(dāng)前狀態(tài)被保存在模塊中。當(dāng)該模塊下一次被插入計(jì)算機(jī)系統(tǒng)時(shí),將利用該信息重新啟動(dòng)操作系統(tǒng)。操作系統(tǒng)狀態(tài)包括諸如桌面布置、快捷列表、配色方案和其它用戶(hù)首選項(xiàng)的項(xiàng)目。
在步驟1655,確定最后的操作系統(tǒng)執(zhí)行點(diǎn),并將其作為“恢復(fù)”點(diǎn)保存在可拆卸操作系統(tǒng)/應(yīng)用模塊上。當(dāng)從可拆卸操作系統(tǒng)/應(yīng)用模塊再次加載操作系統(tǒng)時(shí)可以使用該“恢復(fù)”點(diǎn),并且與重新啟動(dòng)操作系統(tǒng)相反,用戶(hù)選擇從最后執(zhí)行點(diǎn)恢復(fù)操作系統(tǒng)。
在步驟1660,遠(yuǎn)程設(shè)備驅(qū)動(dòng)器的信息被保存在模塊的遠(yuǎn)程設(shè)備驅(qū)動(dòng)配置文件中。當(dāng)可拆卸操作系統(tǒng)/應(yīng)用模塊下一次插入計(jì)算機(jī)系統(tǒng)時(shí),可以利用該信息重新連接可用的遠(yuǎn)程設(shè)備。在步驟1665,還可以把任何其它非計(jì)算機(jī)系統(tǒng)特定數(shù)據(jù)(即僅與模塊有關(guān)的數(shù)據(jù))保存到可拆卸操作系統(tǒng)/應(yīng)用模塊上。
圖17是顯示模塊移去之前在可拆卸操作系統(tǒng)/應(yīng)用模塊上保存應(yīng)用狀態(tài)的處理流程圖。處理開(kāi)始于步驟1700,于是在判決1710確定是否存在更多的其狀態(tài)需要保存在可拆卸操作系統(tǒng)/應(yīng)用模塊上的運(yùn)行的模塊應(yīng)用。如果沒(méi)有需要保存的模塊應(yīng)用,則判決1710轉(zhuǎn)移到“no”分支1720,然后于步驟1799結(jié)束。
如果存在更多需要保存的模塊應(yīng)用,則判決1710轉(zhuǎn)移到“yes”分支1715,于是在步驟1723選擇下一個(gè)模塊應(yīng)用。在步驟1725,操作系統(tǒng)停止模塊應(yīng)用的執(zhí)行,并且在步驟1730把所選擇的模塊應(yīng)用的當(dāng)前狀態(tài)保存到可拆卸操作系統(tǒng)/應(yīng)用模塊。應(yīng)用的狀態(tài)可以包括當(dāng)前編輯的文件、編輯的位置、工具欄和菜單布置、以及其它的用戶(hù)優(yōu)選項(xiàng)。
在步驟1735,確定應(yīng)用的最后執(zhí)行點(diǎn)。然后,在步驟1740將最后執(zhí)行作為“恢復(fù)”點(diǎn)保存在模塊上。執(zhí)行點(diǎn)可以用于以后恢復(fù)運(yùn)行暫停執(zhí)行的應(yīng)用。
然后處理返回到判決1710,以確定是否更多應(yīng)用存在保存應(yīng)用狀態(tài)的需要。
圖18是顯示CPU模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖。計(jì)算機(jī)系統(tǒng)1810包括BIOS1850,在操作系統(tǒng)運(yùn)行之前執(zhí)行基本輸入/輸出功能;非易失性存儲(chǔ)器1855,存儲(chǔ)已安裝的應(yīng)用、用戶(hù)設(shè)置等;RAM1820,在計(jì)算機(jī)系統(tǒng)1810進(jìn)行操作的同時(shí)進(jìn)行臨時(shí)存儲(chǔ)。
此外,計(jì)算機(jī)系統(tǒng)1810包括適于接受CPU模塊1840的模塊接口1860。CPU模塊1840包括CPU1845,在CPU模塊1840連接到計(jì)算機(jī)系統(tǒng)1810之后,CPU1845可以開(kāi)始執(zhí)行操作系統(tǒng)指令。
一旦可拆卸CPU模塊1840插入到模塊接口1860,BIOS1850就檢測(cè)該模塊,并且開(kāi)始將操作系統(tǒng)從非易失性存儲(chǔ)器1855加載到RAM1815(操作系統(tǒng)RAM1820)。在加載操作系統(tǒng)之后,BIOS1815使用CPU模塊1840的CPU1845啟動(dòng)操作系統(tǒng)的運(yùn)行。
接著,操作系統(tǒng)從非易失性存儲(chǔ)器1855加載連接計(jì)算機(jī)系統(tǒng)1810的任何外部設(shè)備所需的裝置驅(qū)動(dòng)器(設(shè)備驅(qū)動(dòng)器RAM1825),輸入/輸出配置(I/O配置RAM1830)和任何所需的應(yīng)用(應(yīng)用RAM1835)。
一旦從計(jì)算機(jī)系統(tǒng)1810移出可拆卸操作系統(tǒng)模塊1824,就倒轉(zhuǎn)加載處理。在非易失性存儲(chǔ)器1855上保存操作系統(tǒng)的狀態(tài),在非易失性存儲(chǔ)器1855上更新應(yīng)用信息、I/O配置和設(shè)備驅(qū)動(dòng)器。一旦可拆卸CPU模塊移去,就可以將其插入另一個(gè)兼容計(jì)算機(jī)系統(tǒng)中,使該模塊的CPU可以操作其它計(jì)算機(jī)系統(tǒng)。
圖19是顯示可拆卸CPU模塊插入和移出一個(gè)計(jì)算機(jī)系統(tǒng)的處理流程圖。處理開(kāi)始于步驟1900,在步驟1910,用戶(hù)把可拆卸CPU模塊插入適于接受可拆卸CPU模塊的計(jì)算機(jī)系統(tǒng)。
在步驟1915,BIOS檢測(cè)可拆卸CPU模塊,并確定CPU與計(jì)算機(jī)系統(tǒng)之間的兼容性。圖20的流程圖提供了發(fā)生在步驟1915上的處理的進(jìn)一步細(xì)節(jié)。
在判決1920,確定CPU是否與計(jì)算機(jī)系統(tǒng)兼容。如果CPU與計(jì)算機(jī)系統(tǒng)兼容,則判決1920轉(zhuǎn)移到“no”分支1930,于是在步驟1945將兼容性通知給用戶(hù),然后在步驟1999結(jié)束處理。
如果CPU與計(jì)算機(jī)系統(tǒng)不兼容,則判決1920轉(zhuǎn)移到“yes”分支1925,于是在步驟1935加載操作系統(tǒng)并開(kāi)始使用可拆卸CPU模塊上的CPU運(yùn)行。圖21的流程圖提供了發(fā)生在步驟1935上的處理的更多細(xì)節(jié)。
在步驟1950,操作系統(tǒng)管理計(jì)算機(jī)系統(tǒng)。操作系統(tǒng)執(zhí)行用戶(hù)或者執(zhí)行的應(yīng)用所請(qǐng)求的作業(yè)。圖10的流程圖提供了發(fā)生在步驟1950上的處理的更多細(xì)節(jié)。
然后在判決1955確定用戶(hù)是否已經(jīng)請(qǐng)求移出可拆卸操作系統(tǒng)模塊。如果用戶(hù)還沒(méi)有請(qǐng)求移出可拆卸操作系統(tǒng)模塊,則判決1955轉(zhuǎn)移到“no”分支1965,并返回到步驟1950,于是操作系統(tǒng)繼續(xù)執(zhí)行所請(qǐng)求的作業(yè)。
如果用戶(hù)已經(jīng)請(qǐng)求移出可拆卸操作系統(tǒng)模塊,則判決1955轉(zhuǎn)移到“yes”分支1960并在步驟1970繼續(xù)進(jìn)行處理,于是操作系統(tǒng)的狀態(tài)被保存到可拆卸操作系統(tǒng)模塊上。圖11提供了發(fā)生在步驟1970上的處理的更多細(xì)節(jié)。
在步驟1975,當(dāng)用于可拆卸操作系統(tǒng)模塊移去的所有準(zhǔn)備已經(jīng)被執(zhí)行時(shí),把“移出模塊是安全”的消息通知給用戶(hù),在步驟1980,用戶(hù)移出可拆卸操作系統(tǒng)模塊。處理結(jié)束于步驟1999。
圖20是顯示BIOS檢測(cè)可拆卸CPU模塊和確定模塊的CPU與計(jì)算機(jī)系統(tǒng)的兼容性的處理流程圖。處理開(kāi)始于步驟2000,于是在步驟2010,BIOS檢測(cè)所插入的CPU模塊。例如,可以使用即插即用型協(xié)議檢測(cè)CPU模塊。
然后確定可拆卸CPU模塊此前是否已經(jīng)插入該計(jì)算機(jī)系統(tǒng)中。如果可拆卸CPU模塊此前沒(méi)有插入該計(jì)算機(jī),則判決2015轉(zhuǎn)移到“no”分支2020,于是在步驟2035繼續(xù)進(jìn)行處理。如果可拆卸CPU模塊此前已經(jīng)插入該計(jì)算機(jī),則判決2015轉(zhuǎn)移到“yes”分支2025,于是在判決2026確定包含CPU信息的文件是否存在于計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上。如果包含CPU信息的文件存在于計(jì)算機(jī)系統(tǒng)上,則判決2026轉(zhuǎn)移到“yes”分支2028,于是在步驟2030加載包含CPU信息的文件和CPU信息,比如CPU的訪(fǎng)問(wèn)地址、CPU的尋址模式和CPU地?cái)?shù)據(jù)傳輸方法等。
如果包含CPU信息的文件不存在于計(jì)算機(jī)系統(tǒng)上,則判決2026轉(zhuǎn)移到“no”分支2029,于是在步驟2035查詢(xún)CPU,以提供CPU的訪(fǎng)問(wèn)地址、CPU的尋址模式、CPU的數(shù)據(jù)傳送模式等。在步驟2030,所提供的數(shù)據(jù)(比如CPU訪(fǎng)問(wèn)地址、CPU尋址模式、CPU數(shù)據(jù)傳送模式等)被保存在計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器的文件中,以便在可拆卸CPU模塊又插入計(jì)算機(jī)系統(tǒng)期間使用。然后處理在步驟2099結(jié)束。
圖21是顯示BIOS使用可拆卸CPU模塊的CPU加載操作系統(tǒng)和開(kāi)始操作系統(tǒng)運(yùn)行的處理流程圖。處理開(kāi)始于步驟2100。確定已休眠的操作系統(tǒng)的圖像是否可在本地非易失性存儲(chǔ)器中獲得。如果圖像是可用的,則判決2110轉(zhuǎn)移到“yes”分支2120,于是BIOS在步驟2125從計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器加載操作系統(tǒng)。如果操作系統(tǒng)的圖像不可用,則判決2110轉(zhuǎn)移到分支2115,在步驟2165繼續(xù)進(jìn)行處理。在步驟2130,提示用戶(hù)是否恢復(fù)或重新啟動(dòng)已加載的操作系統(tǒng),并在步驟2135接收用戶(hù)的輸入。
在判決2140,確定用戶(hù)是否已經(jīng)選擇重新啟動(dòng)操作系統(tǒng)。如果用戶(hù)已經(jīng)選擇重新啟動(dòng)操作系統(tǒng),則判決2140轉(zhuǎn)移到“yes”分支2145,在步驟2165再次進(jìn)行處理。如果用戶(hù)沒(méi)有選擇重新啟動(dòng)操作系統(tǒng),而是選擇從它的最后執(zhí)行點(diǎn)恢復(fù)操作系統(tǒng),則判決2140轉(zhuǎn)移到“no”分支2150,于是在步驟2155,從計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器獲得操作系統(tǒng)的恢復(fù)入口點(diǎn)。在步驟2160,操作系統(tǒng)從恢復(fù)入口點(diǎn)開(kāi)始執(zhí)行。
在步驟2165,從計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器獲得重新啟動(dòng)入口點(diǎn)。在步驟2170,操作系統(tǒng)從重新啟動(dòng)入口點(diǎn)開(kāi)始執(zhí)行。
在步驟2175,把CPU的在前確定的屬性如CPU地址、CPU尋址模式、數(shù)據(jù)傳送方法等通知給操作系統(tǒng),然后在步驟2199結(jié)束處理。
圖22是顯示CPU模塊(包含第二CPU)插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖。計(jì)算機(jī)系統(tǒng)2210包括BIOS2245,在操作系統(tǒng)運(yùn)行之前執(zhí)行基本輸入/輸出功能;CPU2250,執(zhí)行操作計(jì)算機(jī)系統(tǒng)的指令;非易失性存儲(chǔ)器2255,存儲(chǔ)已安裝的應(yīng)用、已安裝的操作系統(tǒng)、用戶(hù)設(shè)置等;RAM2215,在計(jì)算機(jī)系統(tǒng)2210進(jìn)行操作的同時(shí)進(jìn)行臨時(shí)存儲(chǔ)。RAM2215包括操作系統(tǒng)RAM2220、設(shè)備驅(qū)動(dòng)器RAM2225、I/O配置RAM2230和應(yīng)用RAM2235。
此外,計(jì)算機(jī)系統(tǒng)2210包括適于接收CPU模塊2260的模塊接口2240。CPU模塊2260包括CPU2265,在CPU模塊2240連接到計(jì)算機(jī)系統(tǒng)2210之前,該CPU2265可以和單板CPU2250一起開(kāi)始并行執(zhí)行操作系統(tǒng)指令。
一旦可拆卸CPU模塊2260插入模塊接口2240,BIOS2245就檢測(cè)該模塊,并把附加CPU的存在通知給操作系統(tǒng)。最初,操作系統(tǒng)僅僅把執(zhí)行的指令轉(zhuǎn)移到單板CPU2250。在CPU模塊插入后,操作系統(tǒng)把一個(gè)CPU指定為從CPU,而把另一個(gè)CPU指定為主CPU。然后,操作系統(tǒng)開(kāi)始向兩個(gè)CPU發(fā)送執(zhí)行的指令。如圖所示,CPU2250被指定為主CPU,模塊上的CPU2265被指定為從CPU。
圖23是顯示可拆卸CPU模塊插入和移出包含內(nèi)置CPU的計(jì)算機(jī)系統(tǒng)的處理流程圖。處理開(kāi)始于步驟2300,在步驟2310,用戶(hù)把可拆卸CPU模塊插入具有現(xiàn)存CPU的計(jì)算機(jī)系統(tǒng)。
在步驟2315,BIOS檢測(cè)CPU模塊并確定CPU與計(jì)算機(jī)系統(tǒng)之間的兼容性。圖20的流程圖提供了發(fā)生在步驟2315上的處理的進(jìn)一步細(xì)節(jié)。
然后確定CPU是否與計(jì)算機(jī)系統(tǒng)兼容。如果該CPU被確定與計(jì)算機(jī)系統(tǒng)不兼容,則判決2320轉(zhuǎn)移到“no”分支2330,于是在步驟2345,通知用戶(hù)該CPU與計(jì)算機(jī)系統(tǒng)不兼容。處理結(jié)束于步驟2399。
如果CPU被確定與計(jì)算機(jī)系統(tǒng)兼容,則判決2320轉(zhuǎn)移到“yes”分支2325,于是在步驟2335,BIOS把第二CPU的存在和CPU屬性通知給操作系統(tǒng)。
在步驟2340,操作系統(tǒng)訪(fǎng)問(wèn)CPU并把操作系統(tǒng)負(fù)荷的部分分配給輔助CPU。圖24的流程圖提供了發(fā)生在步驟2340上的處理的更多細(xì)節(jié)。然后,處理結(jié)束于步驟2399。
圖24是顯示操作系統(tǒng)訪(fǎng)問(wèn)第二CPU并分配部分負(fù)荷給輔助CPU的處理的流程圖。處理開(kāi)始于步驟2400。在步驟2410,操作系統(tǒng)從BIOS接收CPU的屬性,比如CPU的訪(fǎng)問(wèn)地址、CPU的尋址模式、CPU的數(shù)據(jù)傳送方法等。然后在判決2415,確定與當(dāng)前CPU配置對(duì)應(yīng)的多個(gè)CPU配置文件是否存在于計(jì)算機(jī)系統(tǒng)中。如果與當(dāng)前CPU配置對(duì)應(yīng)的多個(gè)CPU配置文件不存在,則判決2415轉(zhuǎn)移到“no”分支2420,在步驟2450繼續(xù)進(jìn)行處理。如果與當(dāng)前CPU配置對(duì)應(yīng)的多個(gè)CPU配置文件存在,則判決2415轉(zhuǎn)移到“yes”分支2425,于是在步驟2430,操作系統(tǒng)根據(jù)多個(gè)CPU配置文件把CPU指令的部分分配給本地CPU,并把CPU指令的部分分配給模塊CPU。
在判決2435確定模塊CPU是否仍然存在。如果模塊CPU不再存在,則判決2435轉(zhuǎn)移到“no”分支2440,然后處理結(jié)束于步驟2499。如果模塊CPU仍然存在,則判決2435轉(zhuǎn)移到“yes”分支2445,處理返回到步驟2430。
在步驟2450,操作系統(tǒng)確定哪個(gè)CPU被指定為主CPU,以及哪個(gè)CPU被指定為從CPU。在一個(gè)實(shí)施例中,主/從指定是根據(jù)CPU能力作出的。例如,最強(qiáng)的CPU可以被指定為主CPU。
在步驟2455,操作系統(tǒng)確定主CPU與從CPU之間的CPU指令的分配。此外,分配的確定基于CPU的能力。例如,如果兩個(gè)CPU都存在而且兩個(gè)CPU計(jì)算能力基本相等,則可以在兩個(gè)CPU之間相等地分配操作系統(tǒng)負(fù)荷。
不同CPU之間的已確定的負(fù)荷分配被保存到計(jì)算機(jī)系統(tǒng)的多個(gè)CPU配置文件上。該CPU配置將來(lái)再次存在時(shí),由操作系統(tǒng)以后檢索該信息。處理繼續(xù)在步驟2430進(jìn)行,根據(jù)已確定的分配把計(jì)算機(jī)指令分配給多個(gè)CPU。
圖25是顯示操作系統(tǒng)/CPU模塊插入和不插入計(jì)算機(jī)系統(tǒng)時(shí),計(jì)算機(jī)系統(tǒng)狀態(tài)的方框圖。計(jì)算機(jī)系統(tǒng)2510包括BIOS2555,在操作系統(tǒng)執(zhí)行之前,執(zhí)行基本輸入/輸出功能;非易失性存儲(chǔ)器2560,用于存儲(chǔ)已安裝的應(yīng)用、用戶(hù)設(shè)置等;和RAM2515,在計(jì)算機(jī)系統(tǒng)2510操作的同時(shí)進(jìn)行臨時(shí)存儲(chǔ)。
此外,計(jì)算機(jī)系統(tǒng)2510包括可拆卸操作系統(tǒng)/CPU模塊接收2565,該接口能夠接受可拆卸操作系統(tǒng)/CPU模塊2540??刹鹦恫僮飨到y(tǒng)/CPU模塊2540包括非易失性存儲(chǔ)器中的操作系統(tǒng)運(yùn)行映像2550,以及執(zhí)行操作系統(tǒng)指令以便操作計(jì)算機(jī)2510的CPU2545。
一旦可拆卸操作系統(tǒng)/CPU模塊2540插入可拆卸操作系統(tǒng)/CPU模塊接口2565,BIOS2555就把操作系統(tǒng)運(yùn)行映像2550從可拆卸操作系統(tǒng)/CPU模塊2550的非易失性存儲(chǔ)加載到RAM2515(操作系統(tǒng)RAM2520),并啟動(dòng)操作系統(tǒng)模塊CPU2545的執(zhí)行。
接著,操作系統(tǒng)從非易失性存儲(chǔ)器2560加載連接計(jì)算機(jī)系統(tǒng)2510的任何外部設(shè)備所需的設(shè)備驅(qū)動(dòng)器(設(shè)備驅(qū)動(dòng)器RAM2525)、輸入/輸出配置(I/O配置RAM2530)和任何已請(qǐng)求的應(yīng)用(應(yīng)用RAM2535)。
一旦可拆卸操作系統(tǒng)/CPU模塊2540從計(jì)算機(jī)系統(tǒng)2510移出,就倒轉(zhuǎn)加載處理。在可拆卸操作系統(tǒng)/CPU模塊2540上更新操作系統(tǒng)的當(dāng)前狀態(tài),在非易失性存儲(chǔ)器2560上更新應(yīng)用信息、I/O配置和設(shè)備驅(qū)動(dòng)器。一旦可拆卸操作系統(tǒng)/CPU模塊移去,就可以將其插入另一個(gè)兼容計(jì)算機(jī)系統(tǒng),使模塊的操作系統(tǒng)與CPU一起控制和操作其它計(jì)算機(jī)系統(tǒng)。
圖26是顯示可拆卸操作系統(tǒng)/CPU模塊插入和從計(jì)算機(jī)系統(tǒng)移出的處理流程圖。處理開(kāi)始于步驟2600,在步驟2610,用戶(hù)把可拆卸操作系統(tǒng)/CPU模塊插入適于接受模塊的計(jì)算機(jī)系統(tǒng)中。可拆卸操作系統(tǒng)/CPU模塊包含被存儲(chǔ)到模塊的非易失性存儲(chǔ)器上的操作系統(tǒng)運(yùn)行映像;以及執(zhí)行操作系統(tǒng)指令的CPU。
在步驟2612,計(jì)算機(jī)系統(tǒng)的BIOS檢測(cè)插入時(shí)的可拆卸操作系統(tǒng)/CPU模塊,并確定CPU的屬性。圖27的流程圖提供了發(fā)生在步驟2612上的處理的進(jìn)一步細(xì)節(jié)。
然后,在判決2614確定模塊是否與當(dāng)前計(jì)算機(jī)系統(tǒng)兼容。如果模塊被確定為與計(jì)算機(jī)系統(tǒng)不兼容,則判決2614轉(zhuǎn)移到“no”分支2616,在步驟2628繼續(xù)進(jìn)行處理。在步驟2628,通知用戶(hù)模塊與當(dāng)前計(jì)算機(jī)系統(tǒng)不兼容。
如果該模塊被確定是兼容的,則判決2614轉(zhuǎn)移到“yes”分支2618,在步驟2620,BIOS從模塊加載操作系統(tǒng),并把模塊上的CPU的存在和屬性通知給操作系統(tǒng)。圖6提供了發(fā)生在步驟2620上的處理的更多細(xì)節(jié)。
在步驟2622,操作系統(tǒng)發(fā)現(xiàn)連接到該計(jì)算機(jī)的本地設(shè)備。在可拆卸操作系統(tǒng)/CPU模塊從該計(jì)算機(jī)系統(tǒng)移到當(dāng)前已發(fā)現(xiàn)設(shè)備之前,操作系統(tǒng)比較包含該設(shè)備的列表并更新設(shè)備列表。圖7的流程圖提供了發(fā)生在步驟2622中的處理的詳細(xì)細(xì)節(jié)。
在步驟2624,操作系統(tǒng)在用戶(hù)正在使用不同計(jì)算機(jī)系統(tǒng)時(shí)發(fā)現(xiàn)可由計(jì)算機(jī)系統(tǒng)或者用戶(hù)訪(fǎng)問(wèn)的任何遠(yuǎn)程設(shè)備。圖8的流程圖提供了發(fā)生在步驟2624上的處理的更多細(xì)節(jié)。
在步驟2626,操作系統(tǒng)啟動(dòng)在可拆卸操作系統(tǒng)/CPU模塊從計(jì)算機(jī)系統(tǒng)最后移出之前休眠或暫停的應(yīng)用。圖9的流程圖提供了發(fā)生在步驟2626上的處理的更多細(xì)節(jié)。
在步驟2630,操作系統(tǒng)管理計(jì)算機(jī)系統(tǒng)。操作系統(tǒng)執(zhí)行由用戶(hù)或者由運(yùn)行的應(yīng)用請(qǐng)求的作業(yè)。圖10的流程圖提供了發(fā)生在步驟2630上的處理的更多細(xì)節(jié)。
然后在判決2632確定用戶(hù)是否已經(jīng)請(qǐng)求可拆卸操作系統(tǒng)/CPU模塊的移出。如果用戶(hù)還沒(méi)有請(qǐng)求可拆卸操作系統(tǒng)/CPU模塊的移出,則判決2632轉(zhuǎn)移到“no”分支2634,并返回到步驟2630,操作系統(tǒng)繼續(xù)執(zhí)行所請(qǐng)求的作業(yè)。
如果用戶(hù)已經(jīng)請(qǐng)求可拆卸操作系統(tǒng)/CPU模塊的移出,則判決2632轉(zhuǎn)移到“yes”分支2636,并在步驟2638繼續(xù)進(jìn)行處理,于是將操作系統(tǒng)的狀態(tài)保存到可拆卸操作系統(tǒng)模塊上。圖11提供了發(fā)生在步驟2638上的處理的更多細(xì)節(jié)。
在步驟2640,當(dāng)已經(jīng)執(zhí)行可拆卸操作系統(tǒng)/CPU模型之后,將“移出模塊是安全的”消息通知給用戶(hù),并且在步驟2624,用戶(hù)移出可拆卸操作系統(tǒng)模塊。處理結(jié)束于步驟2699。
圖27是顯示BIOS檢測(cè)可拆卸操作系統(tǒng)/CPU模塊并確定模塊上的操作系統(tǒng)和CPU與計(jì)算機(jī)系統(tǒng)兼容性的處理流程圖。處理開(kāi)始于步驟2700,在步驟2710,BIOS檢測(cè)已插入的操作系統(tǒng)/CPU模塊。
然后確定可拆卸操作系統(tǒng)/CPU模塊此前是否已經(jīng)插入該計(jì)算機(jī)系統(tǒng)。如果可拆卸操作系統(tǒng)/CPU模塊此前未插入該計(jì)算機(jī)系統(tǒng),則判決2715轉(zhuǎn)移到“no”分支2720,在步驟2730上繼續(xù)進(jìn)行處理。如果可拆卸操作系統(tǒng)/CPU模塊此前已經(jīng)插入該計(jì)算機(jī)系統(tǒng),則判決2715轉(zhuǎn)移到“yes”分支2725,于是在判決2726確定包含操作系統(tǒng)/CPU信息的文件是否存在于計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上。如果包含CPU信息的文件存在于計(jì)算機(jī)系統(tǒng)上,則判決轉(zhuǎn)移到“yes”分支2728,于是在步驟2730,加載包含CPU信息的文件以及CPU信息,比如CPU的訪(fǎng)問(wèn)地址、CPU的尋址模式、CPU的數(shù)據(jù)傳送方法等。
如果包含CPU信息的文件未存在于計(jì)算機(jī)系統(tǒng),則判決2726轉(zhuǎn)移到“no”分支2729,于是在步驟2740,查詢(xún)CPU以便確定CPU的訪(fǎng)問(wèn)地址、CPU的尋址模式、CPU的數(shù)據(jù)傳送方法等。在步驟2745,確定操作系統(tǒng)與計(jì)算機(jī)系統(tǒng)的兼容性。然后處理結(jié)束于步驟2799。
圖28是顯示一個(gè)裝置連接到計(jì)算機(jī)系統(tǒng)以及把設(shè)備驅(qū)動(dòng)器從該設(shè)備的非易失性存儲(chǔ)器傳送到計(jì)算機(jī)系統(tǒng)的方框圖。
計(jì)算機(jī)系統(tǒng)2810包括控制計(jì)算機(jī)系統(tǒng)2810的CPU2815;連接CPU2815、用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)單元2810;和連接CPU2815、用于把計(jì)算機(jī)系統(tǒng)連接到其它外部設(shè)備的通信接口2825。
設(shè)備2830包括控制設(shè)備2830的處理器2845;連接處理器2845、用于將設(shè)備2830連接到其它設(shè)備的通信接口2840;和連接處理器2845、用于存儲(chǔ)數(shù)據(jù)的非易失性存儲(chǔ)器2835。
設(shè)備2830是一個(gè)外部設(shè)備,比如是一個(gè)適合于經(jīng)由設(shè)備2830上的通信接口2840和計(jì)算機(jī)系統(tǒng)2810上的通信接口2825連接計(jì)算機(jī)系統(tǒng)2810的打印機(jī)。為了便于通信,設(shè)備驅(qū)動(dòng)器首先被安裝到計(jì)算機(jī)系統(tǒng)上。通常,經(jīng)由軟盤(pán)、CD-ROM和連接計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò),向計(jì)算機(jī)系統(tǒng)提供設(shè)備驅(qū)動(dòng)器。如果設(shè)備驅(qū)動(dòng)器不可用,則該設(shè)備驅(qū)動(dòng)器將不起作用。設(shè)備2830可以把設(shè)備驅(qū)動(dòng)器2850存儲(chǔ)到非易失性存儲(chǔ)器2835中,一旦設(shè)備2830連接到計(jì)算機(jī)系統(tǒng)2810,就可以向計(jì)算機(jī)系統(tǒng)2810提供設(shè)備驅(qū)動(dòng)器2850。如果已更新的設(shè)備驅(qū)動(dòng)器在計(jì)算機(jī)系統(tǒng)2810上可用,則已更新的設(shè)備驅(qū)動(dòng)器可以從計(jì)算機(jī)系統(tǒng)2810傳輸?shù)皆O(shè)備2830,以替代設(shè)備驅(qū)動(dòng)器2850。
圖29是顯示把一個(gè)設(shè)備連接到一個(gè)計(jì)算機(jī)系統(tǒng)以及把設(shè)備驅(qū)動(dòng)器從設(shè)備的非易失性存儲(chǔ)器傳送到該計(jì)算機(jī)系統(tǒng)的流程圖。處理開(kāi)始于步驟2900,在步驟2910,一個(gè)新設(shè)備被連接到計(jì)算機(jī)系統(tǒng)。該設(shè)備適合于使用必需安裝到計(jì)算機(jī)系統(tǒng)上的設(shè)備驅(qū)動(dòng)器來(lái)與計(jì)算機(jī)系統(tǒng)通信。在步驟2915,計(jì)算機(jī)系統(tǒng)檢測(cè)新設(shè)備。在一個(gè)實(shí)施例中,在設(shè)備與計(jì)算機(jī)系統(tǒng)之間建立即插即用型通信。
然后,確定該設(shè)備是否可以從設(shè)備的固件供應(yīng)一個(gè)設(shè)備驅(qū)動(dòng)器。如果該設(shè)備不能供應(yīng)合適的設(shè)備驅(qū)動(dòng)器,則判決2920轉(zhuǎn)移到“yes”分支2930,于是在步驟2935,計(jì)算機(jī)系統(tǒng)發(fā)送一個(gè)請(qǐng)求,并從設(shè)備接收用于新設(shè)備的設(shè)備驅(qū)動(dòng)器??梢岳脴?biāo)準(zhǔn)化設(shè)備驅(qū)動(dòng)器通信協(xié)議從設(shè)備接收設(shè)備驅(qū)動(dòng)器。然后,在步驟2945繼續(xù)進(jìn)行處理。
如果設(shè)備不提供設(shè)備驅(qū)動(dòng)器,判決2920轉(zhuǎn)移到“no”分支2925,于是在步驟2940,計(jì)算機(jī)系統(tǒng)搜索本地存儲(chǔ)設(shè)備和/或連接計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò),以便獲得用于已連接的設(shè)備的可兼容設(shè)備驅(qū)動(dòng)器。
在步驟2945,操作系統(tǒng)注冊(cè)該新設(shè)備。例如,把設(shè)備的信息加到系統(tǒng)注冊(cè)器上,使操作系統(tǒng)記錄設(shè)備和該設(shè)備的適當(dāng)設(shè)備驅(qū)動(dòng)器的存在。在步驟2950,把設(shè)備和設(shè)備驅(qū)動(dòng)器的信息添加到本地設(shè)備驅(qū)動(dòng)器配置文件中。在重新啟動(dòng)或恢復(fù)計(jì)算機(jī)系統(tǒng)時(shí),可以使用設(shè)備驅(qū)動(dòng)器配置文件,以便在關(guān)閉/休眠計(jì)算機(jī)系統(tǒng)之前或者在移出操作系統(tǒng)模塊時(shí),獲得連接計(jì)算機(jī)系統(tǒng)的設(shè)備的列表。在步驟2955,計(jì)算機(jī)系統(tǒng)使用已安裝的設(shè)備驅(qū)動(dòng)器建立與新設(shè)備的通信。
圖30是顯示計(jì)算機(jī)系統(tǒng)以諸如的XML的可移植語(yǔ)言與遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器通信,以便獲得存儲(chǔ)在服務(wù)器上的設(shè)備的設(shè)備驅(qū)動(dòng)器的信息的方框圖。
計(jì)算機(jī)系統(tǒng)3010連接計(jì)算機(jī)網(wǎng)絡(luò)3030,該計(jì)算機(jī)網(wǎng)絡(luò)3030連接遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器3015、光打印機(jī)3020和高分辨率掃描儀3025。為了在計(jì)算機(jī)系統(tǒng)3010、光打印機(jī)3020和高分辨率掃描儀3025之間建立連接,計(jì)算機(jī)系統(tǒng)3010首先建立與遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器3015的通信。計(jì)算機(jī)系統(tǒng)3010使用諸如XML(一種公知語(yǔ)言)之類(lèi)的可移植語(yǔ)言建立與遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器3015的通信。遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器3015存儲(chǔ)設(shè)備驅(qū)動(dòng)器和其它信息,以便在計(jì)算機(jī)系統(tǒng)3010、光打印機(jī)3020和高分辨率掃描儀3025之間進(jìn)行通信。
在一個(gè)實(shí)施例中,遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器3015包含表3055和表3050。表3050包含可用設(shè)備的信息。例如,對(duì)于每個(gè)設(shè)備,表3055可以包含可以下載驅(qū)動(dòng)器的網(wǎng)絡(luò)位置、設(shè)備的接口定義、與設(shè)備使用有關(guān)的費(fèi)用和一個(gè)聯(lián)系網(wǎng)絡(luò)地址。表3050可以包含,例如,用于每個(gè)用戶(hù)的用戶(hù)名、用戶(hù)口令、用戶(hù)是否訪(fǎng)問(wèn)第一設(shè)備、用戶(hù)是否訪(fǎng)問(wèn)第二設(shè)備等。
當(dāng)建立于遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器3015的通信之后,計(jì)算機(jī)系統(tǒng)接收適當(dāng)設(shè)備的信息。然后計(jì)算機(jī)系統(tǒng)建立與一個(gè)設(shè)備如光打印機(jī)3020或高分辨率掃描儀3025的通信。
圖31是顯示計(jì)算機(jī)系統(tǒng)用諸如XML的可移植語(yǔ)言與遠(yuǎn)程驅(qū)動(dòng)器注冊(cè)服務(wù)器通信,以便獲得存儲(chǔ)在服務(wù)器上的設(shè)備的設(shè)備驅(qū)動(dòng)器的信息。處理開(kāi)始于步驟3100,在步驟3110,用戶(hù)請(qǐng)求連接到遠(yuǎn)程業(yè)務(wù)或設(shè)備如一個(gè)高質(zhì)量打印的光打印機(jī)。
在步驟3115,使用諸如XML的可移植語(yǔ)言向遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器發(fā)送業(yè)務(wù)或設(shè)備的請(qǐng)求。遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器可以為請(qǐng)求業(yè)務(wù)或者設(shè)備的用戶(hù)提供認(rèn)證,以及提供關(guān)于設(shè)備驅(qū)動(dòng)器和設(shè)備的信息。遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器可以提供諸如以下的信息驅(qū)動(dòng)器的位置、與業(yè)務(wù)或者設(shè)備通信的接口定義、使用設(shè)備的應(yīng)用費(fèi)、發(fā)生問(wèn)題情況下的聯(lián)系地址等。
在步驟3120,遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器請(qǐng)求用戶(hù)提供用戶(hù)名和口令,以便遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器確定用戶(hù)是否可以訪(fǎng)問(wèn)任何業(yè)務(wù)或者驅(qū)動(dòng)器。然后在判決3125確定用戶(hù)是否已經(jīng)許可訪(fǎng)問(wèn)已請(qǐng)求的業(yè)務(wù)或者設(shè)備。遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器通過(guò)將鍵入的用戶(hù)名和口令與遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器上保存的用戶(hù)名和口令以及訪(fǎng)問(wèn)許可的列表進(jìn)行比較來(lái)確定許可。如果不許可用戶(hù)訪(fǎng)問(wèn)所請(qǐng)求的設(shè)備或者業(yè)務(wù),則判決3125轉(zhuǎn)移到“no”分支3130,在步驟3145上繼續(xù)進(jìn)行處理。在步驟3145,通知用戶(hù)訪(fǎng)問(wèn)所請(qǐng)求設(shè)備或者業(yè)務(wù)的許可已經(jīng)被拒絕。
如果不許可用戶(hù)訪(fǎng)問(wèn)所請(qǐng)求的業(yè)務(wù)或者設(shè)備,則判決3125轉(zhuǎn)移到“yes”分支3135,于是在步驟3140,計(jì)算機(jī)系統(tǒng)建立與所選擇的業(yè)務(wù)或者裝置的通信。圖32的流程圖提供了發(fā)生在步驟3140上的處理的更多細(xì)節(jié)。然后處理結(jié)束于步驟3199。
圖32是在計(jì)算機(jī)系統(tǒng)與遠(yuǎn)程業(yè)務(wù)/設(shè)備之間建立通信的處理流程圖。處理開(kāi)始于步驟3200,在步驟3210,遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器向所請(qǐng)求的計(jì)算機(jī)系統(tǒng)發(fā)送所選設(shè)備驅(qū)動(dòng)器的特性。遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器與計(jì)算機(jī)系統(tǒng)之間的通信以諸如XML之類(lèi)的可移植語(yǔ)言發(fā)生。在步驟3215,遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器向所請(qǐng)求的計(jì)算機(jī)系統(tǒng)發(fā)送與設(shè)備驅(qū)動(dòng)器通信所需的接口。遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器與計(jì)算機(jī)系統(tǒng)之間的通信再次以諸如XML之類(lèi)的可移植語(yǔ)言發(fā)生。
在步驟3220,所請(qǐng)求的計(jì)算機(jī)系統(tǒng)將收到的與設(shè)備驅(qū)動(dòng)器關(guān)聯(lián)的信息保存到設(shè)備驅(qū)動(dòng)器配置文件上,用于以后調(diào)用。在步驟3230,請(qǐng)求的計(jì)算機(jī)系統(tǒng)使用遠(yuǎn)程設(shè)備驅(qū)動(dòng)器注冊(cè)服務(wù)器提供給請(qǐng)求的計(jì)算機(jī)系統(tǒng)的接口和其它信息訪(fǎng)問(wèn)該設(shè)備。然后處理結(jié)束于步驟3299。
圖33是顯示包含防止未授權(quán)訪(fǎng)問(wèn)所述設(shè)備的安全設(shè)備的可拆卸操作系統(tǒng)模塊的方框圖??刹鹦赌K3310可以包含模塊CPU3315、操作系統(tǒng)運(yùn)行映像3330和/或模塊應(yīng)用3335。
此外,可拆卸模塊3310包含鎖住和保護(hù)可拆卸模塊以避免未授權(quán)使用可拆卸模塊的菜單。可拆卸模塊3310包括安全數(shù)據(jù)3340,該安全數(shù)據(jù)例如與視網(wǎng)膜掃描儀3345、指紋掃描儀3350和/或小鍵盤(pán)3355結(jié)合,提供認(rèn)證。視網(wǎng)膜掃描儀3345掃描用戶(hù)的視網(wǎng)膜,并將被掃描圖像與安全數(shù)據(jù)3340中存儲(chǔ)的圖像進(jìn)行比較,以確定是否授權(quán)用戶(hù)使用可拆卸模塊3310。指紋掃描儀3350掃描用戶(hù)的手指,并將被掃描的圖像與安全數(shù)據(jù)3340中存儲(chǔ)的圖像進(jìn)行比較,以確定是否授權(quán)用戶(hù)使用可拆卸模塊3310。小鍵盤(pán)3355提供用戶(hù)輸入口令的菜單,然后將輸入的口令與安全數(shù)據(jù)3340中存儲(chǔ)的口令進(jìn)行比較,以確定用戶(hù)是否被授權(quán)使用可拆卸模塊3310。
可拆卸模塊3310還包含加鎖/解鎖指示器3325。加鎖/解鎖指示器3325可以包括,例如,一個(gè)指示模塊被加鎖的紅色LED和一個(gè)指示模塊被解鎖的綠色LED。
鎖按鈕3320可以用來(lái)在可拆卸模塊3310被解鎖的任何時(shí)候,鎖住可拆卸模塊3310。在另一個(gè)實(shí)施例中,一旦可拆卸模塊3310從計(jì)算機(jī)系統(tǒng)移出,就可以自動(dòng)將其鎖住,或者在一段不活動(dòng)時(shí)間之后或者按照時(shí)間表自動(dòng)鎖住可拆卸模塊3310。
圖34是顯示使用模塊上的安全設(shè)備防止未授權(quán)訪(fǎng)問(wèn)可拆卸操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟3400,在步驟3410用戶(hù)從計(jì)算機(jī)系統(tǒng)移出可拆卸模塊。
在判決3415確定模塊從計(jì)算機(jī)系統(tǒng)移出時(shí)是否被設(shè)置為自鎖。如果模塊從計(jì)算機(jī)系統(tǒng)移出時(shí)被設(shè)置為自鎖,則判決3415轉(zhuǎn)移到“yes”分支3435,于是在步驟3440模塊自動(dòng)鎖住。在步驟3445繼續(xù)進(jìn)行處理。如果模塊從計(jì)算機(jī)系統(tǒng)移出時(shí)未被設(shè)置為自鎖,則判決3415轉(zhuǎn)移到“no”分支3420,于是在判決3425確定是否已經(jīng)按壓模塊上的鎖按鈕。如果鎖按鈕已經(jīng)被按壓,則判決轉(zhuǎn)移到“yes”分支3430,在步驟3445繼續(xù)進(jìn)行處理。如果鎖按鈕未被按壓,則判決轉(zhuǎn)移到“no”分支3475,在步驟3480模塊維持解鎖、可操作狀態(tài),并準(zhǔn)備重新插入計(jì)算機(jī)系統(tǒng)。
在步驟3445,模塊被鎖住,因而是不可操作的,并且不準(zhǔn)備進(jìn)入計(jì)算機(jī)系統(tǒng)激活。為了再次使用,必需首先解鎖該模塊。模塊上的指示器指示該模塊被鎖住。
然后在判決3450確定用戶(hù)是否正在試圖解鎖模塊。如果用戶(hù)不試圖解鎖模塊,則判決3450轉(zhuǎn)移到“no”分支3452,于是處理返回到步驟3445,模塊再次確定用戶(hù)是否正在試圖解鎖模塊。如果用戶(hù)正在試圖解鎖模塊,則判決3450轉(zhuǎn)移到“yes”分支3454,于是在步驟3455,模塊執(zhí)行認(rèn)證處理過(guò)程,以確定試圖解鎖模塊的用戶(hù)是否具有這樣做的授權(quán)。圖35、36、37的流程圖提供了發(fā)生在步驟3455上的處理的更多細(xì)節(jié)。
然后在判決3460確定用戶(hù)已經(jīng)被認(rèn)證。如果用戶(hù)未被認(rèn)證,則判決3460轉(zhuǎn)移到“no”分支3465,于是處理返回到步驟3455,以等候用戶(hù)解鎖模塊的另一個(gè)試圖。如果用戶(hù)被認(rèn)證,則判決3460轉(zhuǎn)移到“yes”分支3470,于是在步驟3480,模塊現(xiàn)在是解鎖的、可操作的,并且準(zhǔn)備插入計(jì)算機(jī)系統(tǒng)。然后在步驟3499結(jié)束處理。
圖35是顯示使用模塊上的指紋掃描儀3510保護(hù)可拆卸操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟3500,于是在步驟3510模塊等候指紋掃描儀上的手指的出現(xiàn)。指紋掃描儀位于模塊上,它是用于標(biāo)識(shí)和認(rèn)證目的的可操作掃描人的指紋的安全設(shè)備。
然后在判決3515確定手指是否出現(xiàn)在掃描儀上。如果手指未出現(xiàn)在掃描儀上,則判決3515轉(zhuǎn)移到“no”分支3520,于是處理返回到步驟3510,模塊在此繼續(xù)等候手指在指紋掃描儀上的出現(xiàn)。
如果手指出現(xiàn)在掃描儀上,判決3515轉(zhuǎn)移到“yes”分支,于是在步驟3530激活指紋掃描儀,并捕獲手指上的指紋圖像。在步驟3535,訪(fǎng)問(wèn)模塊上的被認(rèn)證指紋圖像的數(shù)據(jù)庫(kù)。存儲(chǔ)在模塊上的數(shù)據(jù)庫(kù)包含來(lái)自被認(rèn)證使用模塊的用戶(hù)的指紋圖像。
然后確定是否存在還沒(méi)有與已掃描圖像比較的更多指紋圖像。如果沒(méi)有被比較的更多指紋圖像不存在,則判決3540轉(zhuǎn)移到“no”分支,于是在步驟3560確定用戶(hù)還沒(méi)有被認(rèn)證。然后處理結(jié)束于步驟3599。
如果沒(méi)有比較的更多指紋圖像存在,判決3540轉(zhuǎn)移到“yes”分支3545,于是在步驟3555,從數(shù)據(jù)庫(kù)加載一下一個(gè)指紋圖像,并與已掃描圖像進(jìn)行比較。
然后在判決3565確定來(lái)自數(shù)據(jù)庫(kù)的指紋圖像是否與已掃描圖像匹配。如果圖像不匹配,則判決3565轉(zhuǎn)移到“no”分支3570,于是處理返回到步驟3535,以確定更多圖像是否保存在需要比較的數(shù)據(jù)庫(kù)中。如果圖像匹配,則判決3565轉(zhuǎn)移到“yes”分支3575,于是在步驟3580指示用戶(hù)已經(jīng)被授權(quán),并且現(xiàn)在可以在一個(gè)可兼容計(jì)算機(jī)系統(tǒng)中插入并使用該模塊。處理結(jié)束于步驟3599。
圖36是顯示使用模塊上的眼視網(wǎng)膜掃描儀保護(hù)可拆卸操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟3600,于是在步驟3610,模塊等候視網(wǎng)膜掃描儀前方的眼睛的出現(xiàn)。視網(wǎng)膜掃描儀位于模塊上,它是用于標(biāo)識(shí)和認(rèn)證目的的可操作掃描人的視網(wǎng)膜的安全裝置。
然后在判決3615確定視網(wǎng)膜是否出現(xiàn)在掃描儀的前方。如果視網(wǎng)膜未在出現(xiàn)于掃描儀上,則判決3615轉(zhuǎn)移到“no”分支3620,于是處理返回到步驟3610,模塊在此繼續(xù)等候視網(wǎng)膜出現(xiàn)在視網(wǎng)膜掃描儀的前方。
如果視網(wǎng)膜未出現(xiàn)在掃描儀上,則判決3615轉(zhuǎn)移到“yes”分支3625,于是在步驟3630,激活視網(wǎng)膜掃描儀,并捕獲視網(wǎng)膜的圖像。在步驟3635,訪(fǎng)問(wèn)模塊上的被認(rèn)證的視網(wǎng)膜的數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)被存儲(chǔ)在模塊上,包含來(lái)自被認(rèn)證使用模塊的用戶(hù)的視網(wǎng)膜圖像。
然后確定是否存在還沒(méi)有與被掃描圖像比較的更多視網(wǎng)膜圖像。如果沒(méi)有被比較的更多視網(wǎng)膜圖像不存在,則判決3640轉(zhuǎn)移到“no”分支3650,于是在步驟3660確定用戶(hù)沒(méi)有被認(rèn)證。然后處理結(jié)束于步驟3699。
如果沒(méi)有比較的視網(wǎng)膜存在,則判決3640轉(zhuǎn)移到“yes”分支3645,于是在步驟3655,從數(shù)據(jù)庫(kù)加載下一個(gè)視網(wǎng)膜圖像,并與被掃描的圖像進(jìn)行比較。
然后在判決3665確定來(lái)自數(shù)據(jù)庫(kù)的視網(wǎng)膜圖像是否配置被掃描圖像。如果圖像不匹配,則判決3665轉(zhuǎn)移到“no”分支3670,于是處理返回到步驟3635,以確定更多圖像是否保存在需要比較的數(shù)據(jù)庫(kù)中。如果圖像匹配,則判決3665轉(zhuǎn)移到“yes”分支3675,于是在步驟3680指示用戶(hù)已經(jīng)被認(rèn)證,并且可以在一個(gè)兼容計(jì)算機(jī)系統(tǒng)中插入并使用該模塊。處理結(jié)束于3699。
圖37是顯示使用一個(gè)鍵入口令的鍵盤(pán)保護(hù)可拆卸操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟3700,在步驟3710,模塊等候?qū)⒃阪I盤(pán)上鍵入的口令。
然后判決3715確定口令是否已經(jīng)被輸入。如果未輸入口令,則判決3715轉(zhuǎn)移到“no”分支3720,于是處理返回到步驟3710,模塊在此繼續(xù)等候口令。
如果已經(jīng)輸入了口令,則判決3715轉(zhuǎn)移到“yes”分支3725,在步驟3730接收輸入的口令。在步驟3735,訪(fǎng)問(wèn)模塊上已認(rèn)證口令的數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)被存儲(chǔ)在模塊上,包含來(lái)自被認(rèn)證使用模塊的用戶(hù)的口令。
然后確定是否存在還沒(méi)有與被輸入口令比較的更多口令。如果沒(méi)有被比較的更多口令不存在,則判決3740轉(zhuǎn)移到“no”分支3750,于是在步驟3760確定用戶(hù)沒(méi)有被認(rèn)證。然后處理結(jié)束于步驟3799。
如果沒(méi)有比較的口令存在,則判決3740轉(zhuǎn)移到“yes”分支3745,于是在步驟3755,從數(shù)據(jù)庫(kù)加載下一個(gè)口令,并與被鍵入口令進(jìn)行比較。
然后在判決3765確定來(lái)自數(shù)據(jù)庫(kù)的口令是否配置被輸入的口令。如果口令不匹配,則判決3765轉(zhuǎn)移到“no”分支3770,于是處理返回到步驟3735,以確定更多口令是否保存在需要比較的數(shù)據(jù)庫(kù)中。如果口令匹配,則判決3765轉(zhuǎn)移到“yes”分支3775,于是在步驟3780指示用戶(hù)已經(jīng)被認(rèn)證,并且可以在一個(gè)兼容計(jì)算機(jī)系統(tǒng)中插入并使用該模塊。處理結(jié)束于3799。
圖38是顯示使用用于經(jīng)由計(jì)算機(jī)系統(tǒng)提供的安全數(shù)據(jù)防止未授權(quán)訪(fǎng)問(wèn)可拆卸操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟3800,在步驟3810,用戶(hù)把可拆卸模塊插入計(jì)算機(jī)系統(tǒng)中。在步驟3812,BIOS檢測(cè)可拆卸模塊并確定模塊是否與計(jì)算機(jī)系統(tǒng)兼容。
然后判決3814確定模塊是否已經(jīng)被安全鎖住。如果模塊未被安全鎖住,則判決3814轉(zhuǎn)移到“no”分支31180,在步驟3848繼續(xù)進(jìn)行處理。如果模塊被安全鎖住,則判決3814轉(zhuǎn)移到“yes”分支3816,于是提示用戶(hù)輸入安全數(shù)據(jù),以便解鎖該模塊。安全數(shù)據(jù)可以是,例如口令、指紋掃描、視網(wǎng)膜掃描等。
然后在判決3824確定安全數(shù)據(jù)是否已經(jīng)被提供。如果安全數(shù)據(jù)未被提供,則判決3824轉(zhuǎn)移到“no”分支3828,于是處理返回到步驟3822,系統(tǒng)在此等候來(lái)自用戶(hù)的安全數(shù)據(jù)。
如果安全數(shù)據(jù)被提供,則判決3824轉(zhuǎn)移到“no”分支3826,于是系統(tǒng)在步驟3830接收由用戶(hù)輸入的安全數(shù)據(jù)。在步驟3832,訪(fǎng)問(wèn)模塊上已認(rèn)證的安全數(shù)據(jù)的數(shù)據(jù)庫(kù)。存儲(chǔ)在模塊上的已認(rèn)證的安全數(shù)據(jù)可以是例如口令、指紋掃描、視網(wǎng)膜掃描等。
圖39是顯示制造/編程可拆卸模塊的方框圖。制造計(jì)算機(jī)3910系統(tǒng)包括CPU3920、RAM3925和非易失性存儲(chǔ)器3915。非易失性存儲(chǔ)器1915包括將安裝到可拆卸模塊的操作系統(tǒng)的主拷貝。
在制計(jì)算機(jī)系統(tǒng)3910還包括諸多接口,將可拆卸模塊3930、3935、3934和3945從可拆卸模塊棧3947附加并連接到計(jì)算機(jī)系統(tǒng)3910。在操作系統(tǒng)安裝到計(jì)算機(jī)系統(tǒng)3910之后,操作系統(tǒng)的運(yùn)行映像從RAM3925傳送給可拆卸模塊3930、3935、3940、……、3945中的每一個(gè)。
在操作系統(tǒng)已經(jīng)被安裝到可拆卸模塊3930、3935、3940、……、3945之后,這些可拆卸模塊就從計(jì)算機(jī)中移出,并且準(zhǔn)備分配。
圖40是顯示制造和編程操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟4000,在步驟4010,操作系統(tǒng)被安裝到在制計(jì)算機(jī)系統(tǒng)上。安裝到計(jì)算機(jī)系統(tǒng)上的操作系統(tǒng)是將要安裝到可拆卸操作系統(tǒng)模塊上的操作系統(tǒng)。在步驟4015,執(zhí)行操作系統(tǒng),以獲得存儲(chǔ)器中的操作系統(tǒng)的運(yùn)行映像。已安裝的操作系統(tǒng)將被傳送到可拆卸操作系統(tǒng)模塊上,已執(zhí)行的操作系統(tǒng)將用來(lái)獲得狀態(tài)信息、恢復(fù)和重新啟動(dòng)點(diǎn)等。
在步驟4020,開(kāi)始可拆卸操作系統(tǒng)模塊的制造。得到一個(gè)具有以下部件的主板一條互連不同部件的總線(xiàn);一個(gè)安裝BIOS的接口,所述BIOS被連接到總線(xiàn)上;一個(gè)安裝處理器的接口,所述處理器被連接到總線(xiàn)上;一個(gè)安裝非易失性存儲(chǔ)器的接口,所述非易失性存儲(chǔ)器被連接到總線(xiàn)上;一個(gè)連接總線(xiàn)的通信接口,用于連接到計(jì)算機(jī)系統(tǒng)上的模塊接口。
在步驟4030,BIOS被安裝到主板的BIOS接口上。BIOS負(fù)責(zé)建立模塊與計(jì)算機(jī)系統(tǒng)上的模塊接口之間的初始通信。在步驟4035,將處理器安裝到主板的處理器接口上。處理器控制可拆卸操作系統(tǒng)模塊的運(yùn)行,比如,從可拆卸操作系統(tǒng)模塊到計(jì)算機(jī)系統(tǒng)的通信以及可拆卸操作系統(tǒng)模塊內(nèi)的諸多部件之間的通信。在步驟4040,非易失性存儲(chǔ)器被安裝到主板的非易失性存儲(chǔ)器接口上。非易失性存儲(chǔ)器用來(lái)存儲(chǔ)數(shù)據(jù),通常還存儲(chǔ)可拆卸操作系統(tǒng)模塊上存儲(chǔ)的操作系統(tǒng)的運(yùn)行映像。
然后在判決4045確定是否要制造更多模塊。如果要制造更多模塊,則判決4045轉(zhuǎn)移到“yes”分支4050,于是處理返回到步驟4020,開(kāi)始制造另一個(gè)可拆卸操作系統(tǒng)模塊。如果不制造更多可拆卸操作系統(tǒng)模塊,則判決4045轉(zhuǎn)移到“no”分支4055,于是在步驟4060,將一組被制造的可拆卸操作系統(tǒng)模塊插入在制計(jì)算機(jī)系統(tǒng)(manufacturing computer system)中。在制計(jì)算機(jī)系統(tǒng)可以有適于連接到可拆卸操作系統(tǒng)模塊的多個(gè)接口,以便于將操作系統(tǒng)同時(shí)加載到若干可拆卸操作系統(tǒng)模塊上。
在步驟4070,運(yùn)行于在制計(jì)算機(jī)系統(tǒng)上的操作系統(tǒng)的運(yùn)行映像被加載到連接到在制計(jì)算機(jī)系統(tǒng)的可拆卸操作系統(tǒng)模塊上。操作系統(tǒng)被傳送到可拆卸操作系統(tǒng)模塊的非易失性存儲(chǔ)器上。
在判決4080上確定更多模塊是否存在加載操作系統(tǒng)的需要。如果需要加載操作系統(tǒng)的更多操作系統(tǒng)模塊存在,則判決4080轉(zhuǎn)移到“yes”分支4085,于是處理返回到步驟4060,將另一組可拆卸操作系統(tǒng)模塊插入到在制計(jì)算機(jī)系統(tǒng)中。如果沒(méi)有更多需要加載操作系統(tǒng)的可拆卸操作系統(tǒng)模塊,則判決4080轉(zhuǎn)移到“no”分支4090,于是處理結(jié)束于步驟4099。
圖41是顯示用戶(hù)使用運(yùn)行的操作系統(tǒng)安裝文件編程操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟4100,于是用戶(hù)在步驟4110啟動(dòng)計(jì)算機(jī)系統(tǒng)。在步驟4115,用戶(hù)使用計(jì)算機(jī)系統(tǒng)連接操作系統(tǒng)的制造商網(wǎng)站。在該網(wǎng)站,用戶(hù)請(qǐng)求購(gòu)買(mǎi)和下載文件,以便把操作系統(tǒng)安裝到可拆卸操作系統(tǒng)模塊上。
在步驟4120,用戶(hù)漫游到購(gòu)買(mǎi)網(wǎng)頁(yè),在此用戶(hù)使用信用卡購(gòu)買(mǎi)操作系統(tǒng)。在步驟4125,用戶(hù)下載和接收呈可安裝圖像形式的操作系統(tǒng)。
然后在判決4130確定操作系統(tǒng)是否包括一個(gè)把可拆卸操作系統(tǒng)模塊連接到計(jì)算機(jī)系統(tǒng)的可拆卸操作系統(tǒng)模塊接口。如果計(jì)算機(jī)系統(tǒng)不包括可拆卸操作系統(tǒng)模塊接口,則判決4130轉(zhuǎn)移到“no”分支4134,于是在步驟4140,把可拆卸操作系統(tǒng)模塊接口附加到計(jì)算機(jī)系統(tǒng)上。然后在步驟4150繼續(xù)進(jìn)行處理。
如果計(jì)算機(jī)系統(tǒng)包括可拆卸操作系統(tǒng)模塊接口,則判決4130轉(zhuǎn)移到“yes”分支4150,于是在步驟4150,將可拆卸操作系統(tǒng)模塊插入可拆卸操作系統(tǒng)模塊接口。在步驟4160,已插入的可拆卸操作系統(tǒng)模塊由計(jì)算機(jī)系統(tǒng)檢測(cè)并安裝。
在步驟4170,用戶(hù)執(zhí)行已下載的可執(zhí)行的操作系統(tǒng),以開(kāi)始安裝已購(gòu)買(mǎi)的操作系統(tǒng)。給予提示時(shí),用戶(hù)把可拆卸操作系統(tǒng)模塊選作安裝已購(gòu)買(mǎi)的操作系統(tǒng)的場(chǎng)所。在安裝完成后,用戶(hù)重新啟動(dòng)計(jì)算機(jī)系統(tǒng),在步驟4180選擇使用新近安裝的操作系統(tǒng)圖像重新啟動(dòng)計(jì)算機(jī)系統(tǒng)。所安裝的操作系統(tǒng)圖像可以是一個(gè)運(yùn)行映像。
在步驟4185,用戶(hù)執(zhí)行可拆卸操作系統(tǒng)模塊移去應(yīng)用,以便把操作系統(tǒng)的狀態(tài)和執(zhí)行的應(yīng)用保存在可拆卸操作系統(tǒng)模塊的非易失性存儲(chǔ)器上,然后從可拆卸操作系統(tǒng)模塊接口移出可拆卸操作系統(tǒng)模塊。處理結(jié)束于步驟4199。
圖42是顯示用戶(hù)使用運(yùn)行操作系統(tǒng)更新安裝文件來(lái)更新操作系統(tǒng)模塊的處理流程圖。處理開(kāi)始于步驟4200,在步驟4210,用戶(hù)把可拆卸操作系統(tǒng)模塊插入到具有可拆卸操作系統(tǒng)模塊接口的計(jì)算機(jī)系統(tǒng),該接口適合于接受可拆卸操作系統(tǒng)模塊。在步驟4215,計(jì)算機(jī)系統(tǒng)的BIOS檢測(cè)可拆卸操作系統(tǒng)模塊,并從可拆卸操作系統(tǒng)模塊的非易失性存儲(chǔ)器加載操作系統(tǒng)。
在步驟4220,用戶(hù)連接到操作系統(tǒng)的制造商網(wǎng)站,并請(qǐng)求對(duì)操作系統(tǒng)的更新。然后在判決4225確定是否將免費(fèi)提供更新。如果不免費(fèi)提供更新,則判決4225轉(zhuǎn)移到“no”分支4230,于是在步驟4255用戶(hù)使用信用卡購(gòu)買(mǎi)該更新。處理繼續(xù)在步驟4340上進(jìn)行。
如果免費(fèi)提供更新,則判決4225轉(zhuǎn)移到“yes”分支4240,在步驟4240用戶(hù)從操作系統(tǒng)的制造商網(wǎng)站下載和接收的已購(gòu)買(mǎi)的操作系統(tǒng)和可執(zhí)行的更新。在步驟4245,用戶(hù)執(zhí)行已下載的操作系統(tǒng)的更新,并且在步驟4250,更新可拆卸操作系統(tǒng)模塊上的操作系統(tǒng)。
在步驟4260,重新啟動(dòng)計(jì)算機(jī),并且在步驟4265,從可拆卸操作系統(tǒng)模塊加載已更新的操作系統(tǒng),并且用戶(hù)準(zhǔn)備以更新形式使用操作系統(tǒng)。處理結(jié)束于步驟4299。
圖43是顯示具有模塊接口的個(gè)人計(jì)算機(jī)的方框圖。
計(jì)算機(jī)系統(tǒng)4310是最初制造的計(jì)算機(jī)系統(tǒng),包括BIOS4325、非易失性存儲(chǔ)器4320、存儲(chǔ)器4315和包含設(shè)備的設(shè)備驅(qū)動(dòng)器4335的附加設(shè)備4330。
模塊接口4350也附加到計(jì)算機(jī)系統(tǒng)上,以便能夠把可拆卸模塊連接到計(jì)算機(jī)系統(tǒng)4310。
圖44是顯示制造一個(gè)個(gè)人計(jì)算機(jī)的處理流程圖,該個(gè)人計(jì)算機(jī)具有一個(gè)模塊接口和一個(gè)連接到模塊接口的具有不同配置選項(xiàng)的模塊。處理開(kāi)始于步驟4400,在步驟4410開(kāi)始在制計(jì)算機(jī)系統(tǒng)。
在步驟4415,獲得具有以下部件的主板一條互連不同部件的總線(xiàn);一個(gè)安裝BIOS的接口,所述BIOS被連接到總線(xiàn)上;一個(gè)安裝CPU的接口,所述CPU被連接到總線(xiàn)上;一個(gè)安裝RAM單元的接口,所述RAM單元被連接到總線(xiàn)上;一個(gè)連接非易失性存儲(chǔ)器的接口,所述非易失性存儲(chǔ)器被連接到總線(xiàn)上;一個(gè)連接附加設(shè)備的接口,所述附加設(shè)備也被連接到總線(xiàn)上。
在步驟4420,BIOS被安裝到主板的BIOS接口上。BIOS能夠使計(jì)算機(jī)系統(tǒng)在加載操作系統(tǒng)之前執(zhí)行基本輸入/輸出,然后加載操作系統(tǒng)。在步驟4425,將RAM單元連接到主板的RAM單元接口上。RAM單元在計(jì)算機(jī)系統(tǒng)正在運(yùn)行時(shí),充當(dāng)臨時(shí)快速存儲(chǔ)器。在步驟4430,非易失性存儲(chǔ)器連接到主板的非易失性存儲(chǔ)器接口上。非易失性存儲(chǔ)器充當(dāng)安裝操作系統(tǒng)、應(yīng)用等的永久存儲(chǔ)器。
在步驟4435,模塊接口被附加和連接到計(jì)算機(jī)系統(tǒng)的總線(xiàn)上。模塊接口適于接受可拆卸模塊,并適于經(jīng)由總線(xiàn)將可拆卸模塊連接到計(jì)算機(jī)系統(tǒng)。
在步驟4440,獲得一個(gè)具有非易失性存儲(chǔ)器的模塊,該模塊適于接受模塊化CPU,和/或存儲(chǔ)在非易失性存儲(chǔ)器中的模塊化應(yīng)用,和/或存儲(chǔ)在非易失性存儲(chǔ)器上的一個(gè)或多個(gè)模塊化操作系統(tǒng)。該模塊適于通過(guò)把模塊連接到計(jì)算機(jī)系統(tǒng)的模塊接口而連接到計(jì)算機(jī)系統(tǒng)上。
在步驟4445,一個(gè)或多個(gè)操作系統(tǒng)被安裝到計(jì)算機(jī)系統(tǒng)上和/或可拆卸模塊上。圖45的流程圖描述了發(fā)生在步驟4445上的處理的更多細(xì)節(jié)。
在步驟4460,一個(gè)或多個(gè)應(yīng)用被安裝到計(jì)算機(jī)系統(tǒng)上和/或可拆卸模塊上。圖46的流程描述了發(fā)生在步驟4460上的處理的多個(gè)細(xì)節(jié)。
在步驟4465,一個(gè)或多個(gè)CPU被安裝到計(jì)算機(jī)系統(tǒng)上和/或可拆卸模塊上。圖47的流程描述了發(fā)生在步驟4465上的處理的多個(gè)細(xì)節(jié)。處理結(jié)束于步驟4499。
圖45是顯示在計(jì)算機(jī)系統(tǒng)和/或模塊上安裝操作系統(tǒng)的處理流程圖。處理開(kāi)始于步驟4510,然后在判決4510確定在計(jì)算機(jī)系統(tǒng)或者在可拆卸模塊上是否將要安裝更多操作系統(tǒng)。如果沒(méi)有將要安裝的更多操作系統(tǒng),則判決4510轉(zhuǎn)移到“no”分支4520,于是處理結(jié)束于步驟4599。
如果有更多操作系統(tǒng)要被安裝,則判決4510轉(zhuǎn)移到“yes”分支4515,于是在判決4525確定是否在可拆卸模塊的非易失性存儲(chǔ)器和計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上安裝下一個(gè)操作系統(tǒng)。如果要在可拆卸模塊的非易失性存儲(chǔ)器和計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上安裝操作系統(tǒng),則判決4525轉(zhuǎn)移到“yes”分支4530,在步驟4570,把操作系統(tǒng)安裝到計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上。在步驟4575,操作系統(tǒng)的運(yùn)行映像被安裝到模塊的非易失性存儲(chǔ)器上。然后處理返回到判決4510,以確定是否存在更多待安裝的操作系統(tǒng)。
如果操作系統(tǒng)將不安裝到可拆卸模塊的非易失性存儲(chǔ)器上和計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上,則判決4525轉(zhuǎn)移到“no”分支4535,在判決4540確定是否把操作系統(tǒng)安裝到計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上。如果將在計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上安裝操作系統(tǒng),則判決4540轉(zhuǎn)移到“yes”分支4560,在步驟4580把操作系統(tǒng)安裝到計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上。
如果操作系統(tǒng)不安裝到計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上,則判決4540轉(zhuǎn)移到“no”分支4550,于是在判決4555確定操作系統(tǒng)是否安裝到可拆卸模塊的非易失性存儲(chǔ)器上。如果操作系統(tǒng)要被安裝到模塊的非易失性存儲(chǔ)器上,則判決4555轉(zhuǎn)移到“yes”分支4560,于是在步驟4585,把操作系統(tǒng)的運(yùn)行映像安裝到可拆卸模塊的非易失性存儲(chǔ)器上。
如果操作系統(tǒng)不安裝到模塊的非易失性存儲(chǔ)器上,則判決4555轉(zhuǎn)移到“no”分支4565,于是處理返回到判決4510,以確定是否有更多操作系統(tǒng)要安裝到計(jì)算機(jī)系統(tǒng)和/或可拆卸模塊上。
圖46是在計(jì)算機(jī)系統(tǒng)和/或模塊上安裝應(yīng)用的處理流程圖。處理開(kāi)始于步驟4610,然后在判決4610確定是否有更多應(yīng)用要安裝到計(jì)算機(jī)系統(tǒng)上或可拆卸模塊上。如果沒(méi)有更多應(yīng)用要被安裝,則判決4610轉(zhuǎn)移到“no”分支4615,然后處理結(jié)束于步驟4699。
如果有更多應(yīng)用要被安裝,則判決4610轉(zhuǎn)移到“yes”分支4620,在判決4625確定是否在可拆卸模塊的非易失性存儲(chǔ)器和計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上安裝下一個(gè)應(yīng)用。如果要在可拆卸模塊的非易失性存儲(chǔ)器和計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上安裝應(yīng)用,則判決4625轉(zhuǎn)移到“yes”分支4630,在步驟4670,把應(yīng)用安裝到計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上。在步驟4675,應(yīng)用的運(yùn)行映像被安裝到模塊的非易失性存儲(chǔ)器上。然后處理返回到判決4610,以確定是否存在更多待安裝的應(yīng)用。
如果應(yīng)用不安裝到可拆卸模塊的非易失性存儲(chǔ)器上和計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上,則判決4625轉(zhuǎn)移到“no”分支4635,在判決4640確定是否把應(yīng)用安裝到計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上。如果要在計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上安裝應(yīng)用,則判決4640轉(zhuǎn)移到“yes”分支4645,在步驟4680把應(yīng)用安裝到計(jì)算機(jī)系統(tǒng)的非易失性存儲(chǔ)器上。
如果應(yīng)用不安裝到計(jì)算機(jī)系統(tǒng)主板的非易失性存儲(chǔ)器上,則判決4640轉(zhuǎn)移到“ no”分支4650,于是在判決4655確定應(yīng)用是否安裝到可拆卸模塊的非易失性存儲(chǔ)器上。如果應(yīng)用要被安裝到模塊的非易失性存儲(chǔ)器上,則判決4655轉(zhuǎn)移到“yes”分支4660,于是在步驟4685,把應(yīng)用的運(yùn)行映像安裝到可拆卸模塊的非易失性存儲(chǔ)器上。
如果應(yīng)用不安裝到模塊的非易失性存儲(chǔ)器上,則判決4655轉(zhuǎn)移到“no”分支4665,于是處理返回到判決4610,以確定是否有更多應(yīng)用要安裝到計(jì)算機(jī)系統(tǒng)和/或可拆卸模塊上。
圖47是顯示在計(jì)算機(jī)系統(tǒng)和/或模塊上安裝CPU的處理流程圖。處理開(kāi)始于步驟4710,然后在判決4710確定是否有更多CPU要安裝到計(jì)算機(jī)系統(tǒng)上或可拆卸模塊上。如果沒(méi)有更多CPU要被安裝,則判決4710轉(zhuǎn)移到“no”分支4715,然后處理結(jié)束于步驟4799。
如果有更多CPU要被安裝,則判決4710轉(zhuǎn)移到“yes”分支4720,在判決4725確定是否在可拆卸模塊和計(jì)算機(jī)系統(tǒng)上安裝下一個(gè)CPU。如果要在可拆卸模塊和計(jì)算機(jī)系統(tǒng)上安裝CPU,則判決4725轉(zhuǎn)移到“yes”分支4730,于是在步驟4770,把CPU安裝到計(jì)算機(jī)系統(tǒng)主板上。在步驟4775,CPU被安裝到模塊上。然后處理返回到判決4710,以確定是否存在更多待安裝的CPU。
如果CPU不安裝到可拆卸模塊和計(jì)算機(jī)系統(tǒng)上,則判決4725轉(zhuǎn)移到“no”分支4735,在判決4740確定是否把CPU安裝到計(jì)算機(jī)系統(tǒng)主板上。如果要在計(jì)算機(jī)系統(tǒng)主板上安裝CPU,則判決4740轉(zhuǎn)移到“yes”分支4745,在步驟4780把CPU安裝到計(jì)算機(jī)系統(tǒng)上。
如果CPU不安裝到計(jì)算機(jī)系統(tǒng)主板上,則判決4740轉(zhuǎn)移到“no”分支4750,于是在判決4755確定CPU是否安裝到可拆卸模塊上。如果CPU被安裝到模塊上,則判決4755轉(zhuǎn)移到“yes”分支4760,于是在步驟4785,把CPU安裝到可拆卸模塊上。
如果CPU不安裝到模塊上,則判決4755轉(zhuǎn)移到“no”分支4765,于是處理返回到判決4710,以確定是否有更多CPU要安裝到計(jì)算機(jī)系統(tǒng)和/或可拆卸模塊上。
圖48是顯示一個(gè)信息處理系統(tǒng)的方框圖,該信息處理系統(tǒng)是能夠執(zhí)行所述操作的計(jì)算機(jī)系統(tǒng)的一個(gè)簡(jiǎn)化實(shí)例。
圖48顯示了能夠執(zhí)行所述計(jì)算操作的一個(gè)計(jì)算機(jī)系統(tǒng)的簡(jiǎn)化實(shí)例的信息處理系統(tǒng)4801。計(jì)算機(jī)系統(tǒng)4801包括連接到主機(jī)總線(xiàn)4802的處理器4800。二級(jí)(L2)高速緩沖存儲(chǔ)器4804也連接主機(jī)總線(xiàn)4802。主機(jī)-PCI橋4806連接主存儲(chǔ)器4808,包括高速緩沖存儲(chǔ)器和主存儲(chǔ)器控制功能,并提供處置PCI總線(xiàn)4810、處理器4800、L2高速緩沖存儲(chǔ)器4804、主存儲(chǔ)器4808和主機(jī)總線(xiàn)之間的傳輸。主存儲(chǔ)器4808連接主機(jī)-PCI橋4806以及主機(jī)總線(xiàn)4802。僅由主機(jī)處理器4800使用的設(shè)備,比如LAN卡4830,被連接到PCI總線(xiàn)4810上。業(yè)務(wù)處理器接口和ISA訪(fǎng)問(wèn)通路4812在PCI總線(xiàn)4810與PCI總線(xiàn)48 14之間提供一個(gè)接口。這樣,就將PCI總線(xiàn)4814與PCI總線(xiàn)隔離。諸如閃存4818之類(lèi)的設(shè)備被連接到PCI總線(xiàn)4814。在一個(gè)實(shí)施中,閃存4818包括BIOS碼,它結(jié)合用于各種低級(jí)系統(tǒng)功能和系統(tǒng)引導(dǎo)功能的必要的處理器可操作碼。
PCI總線(xiàn)4814提供由主機(jī)處理器4800和包括例如閃存4818的業(yè)務(wù)處理器4816共用的各種設(shè)備的接口。PCI-ISA橋4835提供處置PCI總線(xiàn)4814與ISA總線(xiàn)4840之間的傳輸、通用串行總線(xiàn)(USB)功能性4845、功率管理功能性4855的總線(xiàn)控制,并且可以包括未示出的其它功能組件,比如實(shí)時(shí)時(shí)鐘(RTC)、DMA控制、中斷支持和系統(tǒng)管理總線(xiàn)支持。非易失性RAM4820連接到ISA總線(xiàn)4840。業(yè)務(wù)處理器4816包括JTAG和I2C總線(xiàn)4822,用于在啟動(dòng)步驟期間與處理器4800通信。JTAG/I2C總線(xiàn)4822還連接L2高速緩沖存儲(chǔ)器4804、主機(jī)-PCI橋4806和主存儲(chǔ)器4808,提供處理器、業(yè)務(wù)處理器、L2高速緩沖存儲(chǔ)器、主機(jī)-PCI橋和主存儲(chǔ)器之間的通信路徑。業(yè)務(wù)處理器4816還訪(fǎng)問(wèn)降低信息處理裝置4801功率的系統(tǒng)功率資源。
外圍設(shè)備和輸入/輸出(I/O)設(shè)備可以連接各種接口(例如,連接到ISA總線(xiàn)4840的并行接口4862、串行接口4864、鍵盤(pán)接口4868和鼠標(biāo)接口4870)。作為選擇,連接到ISA總線(xiàn)4840的超級(jí)I/O控制器(未示出)可以提供許多I/O設(shè)備。
為了把計(jì)算機(jī)系統(tǒng)4801連接到另一個(gè)計(jì)算機(jī)系統(tǒng)以在網(wǎng)絡(luò)上復(fù)制文件,LAN卡4830被連接到PCI總線(xiàn)4810。同樣,為了利用電話(huà)線(xiàn)連接把計(jì)算機(jī)系統(tǒng)4801連接到ISP并由此連接到互聯(lián)網(wǎng),調(diào)制解調(diào)器4875連接串行端口4864和PCI-ISA橋4835。
盡管圖48所示的計(jì)算機(jī)系統(tǒng)能夠執(zhí)行所述的處理,但是該計(jì)算機(jī)系統(tǒng)僅僅是計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)例。本領(lǐng)域熟練技術(shù)人員將會(huì)明白許多其它計(jì)算機(jī)系統(tǒng)設(shè)計(jì)也能夠執(zhí)行這里所述的處理。
本發(fā)明的優(yōu)選實(shí)施之一是應(yīng)用(即模塊中的一組指令(程序碼)),它可以例如駐留在計(jì)算機(jī)的隨機(jī)存取存儲(chǔ)器中。該組指令在被計(jì)算機(jī)需要以前存儲(chǔ)到另一個(gè)計(jì)算機(jī)存儲(chǔ)器(例如被存儲(chǔ)到硬盤(pán)驅(qū)動(dòng)器)中,或者被存儲(chǔ)到諸如光盤(pán)(供CD ROM使用)或者軟盤(pán)(供軟盤(pán)驅(qū)動(dòng)器使用)的非易失性存儲(chǔ)器中,或者經(jīng)由互聯(lián)網(wǎng)或者其它計(jì)算機(jī)網(wǎng)絡(luò)下載。因而,本發(fā)明可以被實(shí)施為供計(jì)算機(jī)使用的計(jì)算機(jī)程序產(chǎn)品。此外,盡管所述的各種方法便于在被軟件選擇性激活或者重新配置的通用計(jì)算機(jī)中實(shí)現(xiàn)。但是本領(lǐng)域熟練技術(shù)人員還將會(huì)認(rèn)識(shí)到這樣的方法可以在硬件、固件中執(zhí)行,或者在為執(zhí)行所需方法步驟而構(gòu)成的更專(zhuān)用的設(shè)備中執(zhí)行。
盡管已經(jīng)顯示和說(shuō)明了本發(fā)明的特定實(shí)施例,但是本領(lǐng)熟練技術(shù)人員將會(huì)明白,基于這里的教導(dǎo),可以做出諸多改變和修改而又不背離本發(fā)明和其寬廣范圍,因此所附的權(quán)利要求將覆蓋落入本發(fā)明真實(shí)精神和范圍的所有這種變化和修改的范圍。此外,應(yīng)當(dāng)理解本發(fā)明僅僅由所附的權(quán)利要求來(lái)定義。本領(lǐng)域熟練技術(shù)人員將會(huì)理解,如果意指所引導(dǎo)的權(quán)利要求組件的具體數(shù)量,則將在該權(quán)利要求中明確說(shuō)明這種意圖,當(dāng)缺少這種說(shuō)明時(shí),將沒(méi)有這種限制。對(duì)于有助于理解的一個(gè)非限制例子,以下所附權(quán)利要求包含引導(dǎo)權(quán)利要求組件的引導(dǎo)短語(yǔ)“至少一個(gè)”和“一個(gè)或多個(gè)”的使用。然而,這種短語(yǔ)的使用將不構(gòu)成暗示由不定冠詞“a”或“an”引導(dǎo)的權(quán)利要求組件,把包含這種引導(dǎo)的權(quán)利要求組件的任何特定權(quán)利要求限制為僅包含一個(gè)這種組件的發(fā)明,即使所述權(quán)利要求包含引導(dǎo)短語(yǔ)“一個(gè)或多個(gè)”或者“至少一個(gè)”以及不定冠詞如“a”或“an”,上述內(nèi)容適用于供不定冠詞的權(quán)利要求使用。
權(quán)利要求
1.一種用于執(zhí)行CPU指令的方法,所述方法包括把一個(gè)可拆卸CPU模塊插入到一個(gè)計(jì)算機(jī)系統(tǒng)中,其中所述可拆卸CPU模塊包括至少一個(gè)處理器;在計(jì)算機(jī)系統(tǒng)中檢測(cè)所述可拆卸CPU模塊的插入;響應(yīng)于所述檢測(cè),載入一個(gè)操作系統(tǒng);和使用位于所述可拆卸CPU模塊上的處理器執(zhí)行所述操作系統(tǒng)。
2.如權(quán)利要求1的方法,還包括確定處理器的訪(fǎng)問(wèn)地址;確定處理器的尋址模式;和確定處理器的數(shù)據(jù)傳送模式。
3.如權(quán)利要求2的方法,還包括從位于所述可拆卸CPU模塊上的一個(gè)非易失性存儲(chǔ)器中載入處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式和處理器的數(shù)據(jù)傳送模式。
4.如權(quán)利要求2的方法,還包括向操作系統(tǒng)通知該處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式和處理器的數(shù)據(jù)傳送模式。
5.如權(quán)利要求1的方法,其中所述檢測(cè)包括計(jì)算機(jī)系統(tǒng)的BIOS檢測(cè)所述可拆卸CPU模塊。
6.如權(quán)利要求5的方法,其中所述載入包括響應(yīng)于所述可拆卸CPU模塊的檢測(cè),計(jì)算機(jī)系統(tǒng)的BIOS載入所述操作系統(tǒng);和開(kāi)始由BIOS執(zhí)行所述操作系統(tǒng)。
7.如權(quán)利要求1的方法,還包括接收移除所述可拆卸CPU模塊的請(qǐng)求;保存操作系統(tǒng)的狀態(tài);和移除所述可拆卸CPU模塊。
8.如權(quán)利要求7的方法,還包括在被包括在所述可拆卸CPU模塊中的一個(gè)非易失性存儲(chǔ)器上,存儲(chǔ)處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式和處理器的數(shù)據(jù)傳送模式。
9.如權(quán)利要求1的方法,還包括確定處理器與操作系統(tǒng)的兼容性;和其中響應(yīng)于處理器和操作系統(tǒng)是否兼容的判斷執(zhí)行所述載入和執(zhí)行操作。
10.一種信息處理系統(tǒng)方法,包括總線(xiàn);連接到所述總線(xiàn)的存儲(chǔ)單元,其中所述存儲(chǔ)單元存儲(chǔ)正在執(zhí)行的操作系統(tǒng);可拆卸CPU模塊接口,它被連接到總線(xiàn)并適于接收可拆卸CPU模塊;和可拆卸CPU模塊,其中所述可拆卸CPU模塊包括至少一個(gè)處理器,在其中,使用位于所述可拆卸CPU模塊上的處理器來(lái)執(zhí)行操作系統(tǒng)。
11.如權(quán)利要求10的信息處理系統(tǒng),還包括檢測(cè)工具,適合于確定處理器的訪(fǎng)問(wèn)地址;確定處理器的尋址模式;和確定處理器的數(shù)據(jù)傳送模式。
12.如權(quán)利要求11的信息處理系統(tǒng),其中所述檢測(cè)工具還適于從位于所述可拆卸CPU模塊上的非易失性存儲(chǔ)器中載入處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式以及處理器的數(shù)據(jù)傳送模式。
13.如權(quán)利要求11的信息處理系統(tǒng),其中所述檢測(cè)工具還適于向操作系統(tǒng)通知處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式以及處理器的數(shù)據(jù)傳送模式。
14.如權(quán)利要求11的信息處理系統(tǒng),其中所述檢測(cè)工具是BIOS。
15.如權(quán)利要求14的信息處理系統(tǒng),其中所述檢測(cè)工具還適于響應(yīng)于檢測(cè)到所述可拆卸CPU模塊,載入操作系統(tǒng);和開(kāi)始執(zhí)行所述操作系統(tǒng)。
16.如權(quán)利要求11的信息處理系統(tǒng),其中所述檢測(cè)工具還適于接收移出所述可拆卸CPU模塊的請(qǐng)求;保存操作系統(tǒng)的狀態(tài);和幫助移出所述可拆卸CPU模塊。
17.如權(quán)利要求16的信息處理系統(tǒng),其中所述檢測(cè)工具還適于在被包括在所述可拆卸CPU模塊中的一個(gè)非易失性存儲(chǔ)器上,存儲(chǔ)處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式和處理器的數(shù)據(jù)傳送模式。
18.如權(quán)利要求11的信息處理系統(tǒng),其中所述檢測(cè)工具還適于確定處理器與操作系統(tǒng)的兼容性;和其中,所述檢測(cè)工具響應(yīng)于所述檢測(cè)工具確定處理器和操作系統(tǒng)兼容來(lái)載入并執(zhí)行。
19.一種計(jì)算機(jī)可操作媒體上的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括用于與一個(gè)可拆卸CPU模塊通信的裝置,其中所述可拆卸CPU模塊包括至少一個(gè)處理器;用于檢測(cè)所述可拆卸CPU模塊的裝置;用于響應(yīng)于所述檢測(cè)載入操作系統(tǒng)的裝置;和用于使用位于所述可拆卸CPU模塊上的處理器執(zhí)行所述操作系統(tǒng)的裝置。
20.如權(quán)利要求19的計(jì)算機(jī)程序產(chǎn)品,還包括用于確定處理器的訪(fǎng)問(wèn)地址的裝置;用于確定處理器的尋址模式的裝置;和用于確定處理器的數(shù)據(jù)傳送模式的裝置。
21.如權(quán)利要求20的計(jì)算機(jī)程序產(chǎn)品,還包括用于從位于所述可拆卸CPU模塊上的一個(gè)非易失性存儲(chǔ)器中載入處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式和處理器的數(shù)據(jù)傳送模式的裝置。
22.如權(quán)利要求20的計(jì)算機(jī)程序產(chǎn)品,還包括用于向操作系統(tǒng)通知該處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式和處理器的數(shù)據(jù)傳送模式的裝置。
23.如權(quán)利要求19的計(jì)算機(jī)程序產(chǎn)品,其中用于檢測(cè)的裝置包括用于與計(jì)算機(jī)系統(tǒng)的BIOS通信的裝置,其中所述BIOS適于檢測(cè)所述可拆卸CPU模塊。
24.如權(quán)利要求23的計(jì)算機(jī)程序產(chǎn)品,其中所述BIOS還適于響應(yīng)于檢測(cè)到所述可拆卸CPU模塊,載入操作系統(tǒng);和開(kāi)始執(zhí)行所述操作系統(tǒng)。
25.如權(quán)利要求19的計(jì)算機(jī)程序產(chǎn)品,還包括用于接收移出所述可拆卸CPU模塊的請(qǐng)求的裝置;用于保存操作系統(tǒng)的狀態(tài)的裝置;和用于幫助移出所述可拆卸CPU模塊的裝置。
26.如權(quán)利要求25的計(jì)算機(jī)程序產(chǎn)品,還包括用于在被包括在所述可拆卸CPU模塊中的一個(gè)非易失性存儲(chǔ)器上存儲(chǔ)處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式和處理器的數(shù)據(jù)傳送模式的裝置。
27.如權(quán)利要求19的計(jì)算機(jī)程序產(chǎn)品,還包括用于確定處理器與操作系統(tǒng)的兼容性的裝置;和其中,所述計(jì)算機(jī)程序產(chǎn)品只響應(yīng)于確定了處理器和操作系統(tǒng)之間的兼容性才載入并執(zhí)行。
全文摘要
一種用于通過(guò)可拆卸CPU模塊向計(jì)算機(jī)系統(tǒng)提供處理器的方法和系統(tǒng)。通過(guò)在不同時(shí)間把所述可拆卸CPU模塊插入到不同的計(jì)算機(jī)系統(tǒng)中,在該模塊上的處理器可以被多個(gè)計(jì)算機(jī)系統(tǒng)共享。在把可拆卸CPU模塊插入到計(jì)算機(jī)系統(tǒng)中后,計(jì)算機(jī)系統(tǒng)檢測(cè)并識(shí)別該模塊。該計(jì)算機(jī)系統(tǒng)可以確定處理器和操作系統(tǒng)之間的兼容性以及處理器的訪(fǎng)問(wèn)地址、處理器的尋址模式、處理器的數(shù)據(jù)傳送模式等等。然后,計(jì)算機(jī)系統(tǒng)載入操作系統(tǒng),向操作系統(tǒng)通知該處理器屬性,并開(kāi)始使用可拆卸CPU模塊上的處理器來(lái)執(zhí)行所述操作系統(tǒng)。
文檔編號(hào)G06F9/44GK1581081SQ200410045228
公開(kāi)日2005年2月16日 申請(qǐng)日期2004年6月4日 優(yōu)先權(quán)日2003年8月14日
發(fā)明者本杰明·A·希梅爾, 瑪麗亞·A·希梅爾, 赫爾曼·羅德里格茲 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司