亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

制造和更新可插入的便攜式操作系統(tǒng)模塊的系統(tǒng)和方法

文檔序號:6412831閱讀:118來源:國知局
專利名稱:制造和更新可插入的便攜式操作系統(tǒng)模塊的系統(tǒng)和方法
技術領域
一般而言,本發(fā)明涉及用于制造和更新可移動的操作系統(tǒng)模塊的系統(tǒng)和方法。具體來說,本發(fā)明涉及用于將操作系統(tǒng)的運行的映像加載到一個或多個可移動的操作系統(tǒng)模塊上的系統(tǒng)和方法。
背景技術
許多計算機用戶都擁有多個計算機系統(tǒng)和/或其他計算設備。例如,一個用戶可以在家擁有臺式計算機,在單位擁有臺式計算機,并擁有便攜式膝上型計算機。此外,用戶還可以擁有袖珍型的計算設備,如個人數(shù)據(jù)助理和移動電話。
對于用戶擁有的每一個計算機系統(tǒng)和設備,用戶必須購買單獨的操作系統(tǒng)許可證。例如,用戶必須購買用于臺式個人計算機的Windows操作系統(tǒng)和用于個人數(shù)據(jù)助理的Palm操作系統(tǒng)。操作系統(tǒng)的許可證常常包括在系統(tǒng)的價格中。甚至對于可以使用相同的操作系統(tǒng)的計算機系統(tǒng),用戶也必須購買單獨的操作系統(tǒng)。例如,用戶必須單獨地為臺式機和膝上型個人計算機獲取Windows操作系統(tǒng)許可證,即使不同時使用它們。
除與擁有多個操作系統(tǒng)關聯(lián)的成本外,用戶還必須單獨地維護和更新每一個操作系統(tǒng)。例如,如果有了Windows操作系統(tǒng)的更新,并且用戶在臺式機和膝上型個人計算機上運行Windows,那么,用戶必須單獨地從膝上型計算機和臺式機中執(zhí)行Windows Update實用程序。如果用戶希望安裝特定的Windows桌面主題,用戶必須分別在臺式機和膝上型計算機上安裝桌面主題。如果用戶希望安裝和使用某一個打印機,則用戶必須分別在臺式機和膝上型計算機上安裝打印機驅(qū)動程序。如果用戶希望存儲最愛的網(wǎ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)和方法。

發(fā)明內(nèi)容
已經(jīng)發(fā)現(xiàn),使用第一計算機在可移動的操作系統(tǒng)模塊上存儲操作系統(tǒng)的運行的映像的方法和系統(tǒng)可以解決如前所述的挑戰(zhàn)。存儲在可移動模塊上的操作系統(tǒng)在將可移動模塊插入到第二計算機系統(tǒng)時可以由第二計算機系統(tǒng)執(zhí)行。
可移動模塊首先插入到第一個計算機系統(tǒng)??梢苿硬僮飨到y(tǒng)模塊包括用于連接可移動模塊與帶電的計算機系統(tǒng)的接口,以及非易失性存儲單元,用于存儲操作系統(tǒng)的運行的映像。
操作系統(tǒng)首先安裝在第一計算機上,開始執(zhí)行操作系統(tǒng),然后將操作系統(tǒng)的運行的映像保存在第一計算機系統(tǒng)上。然后,可以將操作系統(tǒng)的運行的映像從第一計算機系統(tǒng)傳輸?shù)娇梢苿硬僮飨到y(tǒng)模塊的非易失性存儲單元。
在將操作系統(tǒng)的運行的映像傳輸?shù)娇梢苿硬僮飨到y(tǒng)模塊之后,從第一計算機系統(tǒng)上取出可移動操作系統(tǒng)模塊并提供給第二計算機系統(tǒng)的用戶。用戶可以將可移動操作系統(tǒng)模塊插入到用于接收可移動模塊的第二計算機系統(tǒng)的物理接口。第二計算機系統(tǒng)可以檢測到可移動操作系統(tǒng)模塊已經(jīng)插入到第二計算機系統(tǒng)的物理接口,并將操作系統(tǒng)的運行的映像從可移動模塊加載到從第二計算機系統(tǒng)中包括的一個或多個處理器可訪問的第二存儲器。然后,可以由處理器執(zhí)行加載的操作系統(tǒng)。
可移動操作系統(tǒng)模塊上的操作系統(tǒng)的運行的映像可以由用戶更新。第二計算機系統(tǒng)可以連接到計算機網(wǎng)絡,并由第二計算機系統(tǒng)發(fā)送操作系統(tǒng)更新的請求。在響應請求在第二計算機系統(tǒng)上接收到操作系統(tǒng)的第二運行的映像之后,存儲在可移動操作系統(tǒng)模塊的非易失性存儲單元上的操作系統(tǒng)的運行的映像可以使用操作系統(tǒng)的第二運行的映像進行更新。
用戶可以通過第二計算機系統(tǒng)支付對應于操作系統(tǒng)更新的價格的金額來購買更新。支付金額可以是電子形式,從第二計算機系統(tǒng)通過計算機網(wǎng)絡發(fā)送到制造商的網(wǎng)站,在此可以接收支付信息。
或者,用戶可以從第二計算機系統(tǒng)取出可移動操作系統(tǒng)模塊,并將模塊發(fā)送到操作系統(tǒng)服務提供商。服務提供商可以更新可移動模塊上的操作系統(tǒng)的運行的映像,并將可移動操作系統(tǒng)模塊發(fā)回到用戶。
前述的內(nèi)容是一個概述,因此,只是詳細內(nèi)容的簡化形式;因此,那些精通本技術的人將理解,概述只是說明性的,而不以任何方式作出限制。如權利要求所定義的本發(fā)明的其他方面,本發(fā)明的功能,將在非限制性的詳細描述中,變得顯而易見。


通過參考附圖,那些精通本技術的人將會更好地理解本發(fā)明,本發(fā)明的目標、特點和優(yōu)點將變得顯而易見。不同圖形中的相同的參考符號表示類似或相同的項目。
圖1是說明可以在兩個計算機系統(tǒng)之間互換的操作系統(tǒng)模塊的方框圖;圖2是說明用于接受包含CPU和存儲了操作系統(tǒng)的運行的映像的非易失性存儲器的模塊的計算機系統(tǒng)的方框圖;圖3是說明用于接受包含CPU和存儲了操作系統(tǒng)的運行的映像的非易失性存儲器的模塊的計算機系統(tǒng)的方框圖;圖4是說明將操作系統(tǒng)模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖;
圖5是說明將操作系統(tǒng)模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖;圖6是說明BIOS檢測可移動操作系統(tǒng)模塊、加載操作系統(tǒng)和將控制傳遞到操作系統(tǒng)的過程的流程圖;圖7是說明發(fā)現(xiàn)連接到計算機系統(tǒng)的本地設備的過程的流程圖;圖8是說明發(fā)現(xiàn)可由計算機系統(tǒng)進行訪問的遠程設備的過程的流程圖;圖9是說明初始化應用程序以在計算機系統(tǒng)上執(zhí)行的過程的流程圖;圖10是說明在操作系統(tǒng)被加載之后管理操作系統(tǒng)的過程的流程圖;圖11是說明在取出模塊之前將操作系統(tǒng)狀態(tài)保存在可移動操作系統(tǒng)模塊上的過程的流程圖;圖12是說明將操作系統(tǒng)/應用程序模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖;圖13是說明將可移動操作系統(tǒng)/應用程序模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖;圖14是說明初始化本地應用程序以在計算機系統(tǒng)上執(zhí)行的過程的流程圖;圖15是說明初始化模塊(模塊存儲的)應用程序以在計算機系統(tǒng)上執(zhí)行的過程的流程圖;圖16是說明在取出模塊之前將模塊應用程序保存在可移動操作系統(tǒng)/應用程序模塊上的過程的流程圖;圖17是說明在取出模塊之前將應用程序狀態(tài)保存在可移動操作系統(tǒng)/應用程序模塊上的過程的流程圖;圖18是說明將CPU模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖;圖19是說明將可移動CPU模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖;圖20是說明BIOS檢測可移動CPU模塊并判斷模塊上的CPU和計算機系統(tǒng)之間的兼容性的過程的流程圖;圖21是說明BIOS加載操作系統(tǒng)并開始使用CPU執(zhí)行操作系統(tǒng)的過程的流程圖;圖22是說明將CPU模塊(包含第二CPU)插入計算機系統(tǒng)和沒有插入計算機系統(tǒng)時計算機系統(tǒng)的狀態(tài)的方框圖;圖23是說明將可移動CPU模塊插入包含內(nèi)置CPU的計算機系統(tǒng)和從該計算機系統(tǒng)中取出的過程的流程圖;圖24是說明操作系統(tǒng)訪問第二CPU并將負載的一部分分發(fā)到輔助CPU的過程的流程圖;圖25是說明將操作系統(tǒng)/CPU模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖;圖26是說明將可移動操作系統(tǒng)/CPU模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖;圖27是說明BIOS檢測可移動操作系統(tǒng)/CPU模塊并判斷模塊上的操作系統(tǒng)和CPU和計算機系統(tǒng)之間的兼容性的過程的流程圖;圖28是說明將設備連接到計算機系統(tǒng)并將設備驅(qū)動程序從設備上的非易失性存儲器傳輸?shù)接嬎銠C系統(tǒng)的方框圖;圖29是說明將設備連接到計算機系統(tǒng)并將設備驅(qū)動程序從設備上的非易失性存儲器傳輸?shù)接嬎銠C系統(tǒng)的過程的流程圖;圖30是說明以諸如計算機系統(tǒng)的XML之類的可移植語言與遠程設備驅(qū)動程序注冊表服務器進行通信以獲取有關存儲在服務器上的設備的設備驅(qū)動程序的信息的方框圖;圖31是說明計算機系統(tǒng)以諸如XML之類的可移植語言與遠程設備驅(qū)動程序注冊表服務器進行通信以獲取有關存儲在服務器上的設備的設備驅(qū)動程序的信息的流程圖;圖32是說明在計算機系統(tǒng)和遠程服務/設備之間建立通信的過程的流程圖;圖33是說明包含用于防止對設備進行未授權訪問的安全設備的可移動操作系統(tǒng)模塊的方框圖;圖34是說明使用模塊上的安全設備防止對可移動操作系統(tǒng)模塊進行未授權訪問的過程的流程圖;圖35是說明使用模塊上的指紋掃描儀保護可移動操作系統(tǒng)模塊的安全的過程的流程圖;圖36是說明使用模塊上的眼睛視網(wǎng)膜掃描儀保護可移動操作系統(tǒng)模塊的安全的過程的流程圖;圖37是說明使用模塊上的小鍵盤輸入密碼來保護可移動操作系統(tǒng)模塊的安全的過程的流程圖;圖38是說明使用由用戶通過計算機系統(tǒng)提供的安全數(shù)據(jù)防止對可移動操作系統(tǒng)模塊進行未授權訪問的過程的流程圖;圖39是說明可移動模塊的制造/編程的方框圖;圖40是說明操作系統(tǒng)模塊的制造和編程的過程的流程圖;圖41是說明用戶使用運行的操作系統(tǒng)安裝文件對操作系統(tǒng)模塊進行編程的過程的流程圖;圖42是說明用戶使用運行的操作系統(tǒng)更新安裝文件對操作系統(tǒng)模塊進行更新的過程的流程圖;圖43是說明具有模塊接口的個人計算機的方框圖;圖44是說明制造具有模塊接口的個人計算機和連接到模塊接口具有不同配置選項的模塊的過程;圖45是說明在計算機系統(tǒng)和/或模塊上安裝操作系統(tǒng)的過程的流程圖;圖46是說明在計算機系統(tǒng)和/或模塊上安裝應用程序的過程的流程圖;圖47是說明在計算機系統(tǒng)和/或模塊上安裝CPU的過程的流程圖;圖48是說明了信息處理系統(tǒng)的方框圖,所述的信息處理系統(tǒng)是能夠執(zhí)行這里所描述的操作的計算機系統(tǒng)的簡化示例。
具體實施例方式
下面提供了本發(fā)明的示例的詳細描述,而不對本發(fā)明本身作出任何限制。相反,各種變化都在本發(fā)明的范圍內(nèi),本發(fā)明的范圍由說明書后面的權利要求書進行了定義。
圖1是說明可以在兩個計算機系統(tǒng)之間互換的操作系統(tǒng)模塊的方框圖。計算機系統(tǒng)110包括BIOS 115,用于在加載操作系統(tǒng)之前執(zhí)行計算機系統(tǒng)110的基本輸入/輸出,非易失性存儲器120,用于存儲在計算機系統(tǒng)上安裝的應用程序,用戶的設置等等,存儲器125,用于在計算機系統(tǒng)的操作過程中作為臨時存儲器。BIOS如這里所簡稱的,也可以包括通電自檢(POST)。計算機系統(tǒng)110還包括諸如打印機之類的其他設備130,所述的設備包括該設備的設備驅(qū)動程序135。設備驅(qū)動程序135安裝在計算機系統(tǒng)110上,以促進計算機系統(tǒng)110和其他設備130之間的通信。其他設備130可以在其他設備130連接到計算機系統(tǒng)110時向計算機系統(tǒng)110提供設備驅(qū)動程序135,結(jié)果,用戶不需要從別的來源獲取其他設備130的設備驅(qū)動程序。
計算機系統(tǒng)110還包括可移動操作系統(tǒng)模塊接口137,所述的接口可以接收諸如可移動操作系統(tǒng)模塊180之類的可移動操作系統(tǒng)模塊??梢苿硬僮飨到y(tǒng)模塊180包括非易失性存儲器185和操作系統(tǒng)執(zhí)行映像190。在將可移動操作系統(tǒng)模塊180插入到可移動操作系統(tǒng)模塊接口137時,BIOS 115檢測可移動操作系統(tǒng)模塊180,并將操作系統(tǒng)執(zhí)行映像從可移動操作系統(tǒng)模塊180加載到存儲單元125中。然后,BIOS 115在計算機系統(tǒng)110上啟動操作系統(tǒng)的執(zhí)行。加載的操作系統(tǒng)操作并控制計算機系統(tǒng)110,并在非易失性存儲器120、存儲器120、BIOS 115和其他設備140之間提供接口。
同樣,計算機系統(tǒng)140包括BIOS 145,用于在加載操作系統(tǒng)之前執(zhí)行計算機系統(tǒng)140的基本輸入/輸出,非易失性存儲器160,用于存儲在計算機系統(tǒng)上安裝的應用程序,用戶的設置等等,存儲器165,用于在計算機系統(tǒng)的操作過程中作為臨時存儲器。計算機系統(tǒng)110還包括諸如打印機之類的其他設備170,所述的設備包括該設備的設備驅(qū)動程序175。設備驅(qū)動程序135安裝在計算機系統(tǒng)140上,以促進計算機系統(tǒng)140和其他設備170之間的通信。其他設備170可以在其他設備170連接到計算機系統(tǒng)140時向計算機系統(tǒng)140提供設備驅(qū)動程序175,結(jié)果,用戶不需要從別的來源獲取其他設備170的設備驅(qū)動程序。計算機系統(tǒng)140還包括可移動操作系統(tǒng)模塊接口177,所述的接口可以接收諸如可移動操作系統(tǒng)模塊180之類的可移動操作系統(tǒng)模塊。
可移動操作系統(tǒng)模塊180可以從計算機系統(tǒng)110取出,隨后插入到計算機系統(tǒng)140,模塊上的操作系統(tǒng)能夠運行并控制任何一個計算機系統(tǒng)。在將可移動操作系統(tǒng)模塊180插入到可移動操作系統(tǒng)模塊接口177時,BIOS 145檢測可移動操作系統(tǒng)模塊180,并將操作系統(tǒng)執(zhí)行映像從可移動操作系統(tǒng)模塊180加載到存儲單元165中。然后,BIOS 115以與計算機系統(tǒng)110的非常類似的方式在計算機系統(tǒng)140上啟動操作系統(tǒng)的執(zhí)行。加載的操作系統(tǒng)現(xiàn)在可以操作并控制計算機系統(tǒng)140,并在非易失性存儲器160、存儲器165、BIOS 145和其他設備170之間提供接口。
圖2是說明用于接受包含CPU和存儲了操作系統(tǒng)的運行的映像的非易失性存儲器的模塊的計算機系統(tǒng)的方框圖。操作系統(tǒng)的運行的映像是包含初始化和執(zhí)行的操作系統(tǒng)的存儲器的快照,其中包括執(zhí)行內(nèi)部操作系統(tǒng)任務。
計算機系統(tǒng)201包括CPU 294,所述的CPU駐留在可移動模塊290上??梢苿幽K290還包括非易失性RAM 292,可以取出和重新插入到計算機系統(tǒng)201中??梢苿幽K290連接到主機總線202,所述的總線將可移動模塊290連接到計算機系統(tǒng)201。非易失存儲器292包含操作系統(tǒng)運行映像294,在將可移動模塊290插入到計算機系統(tǒng)201時,被加載,并開始執(zhí)行以操作和控制計算機系統(tǒng)201。
二級(L2)高速緩存204也連接到主機總線202。主機到PCI橋206連接到主存儲器208,包括高速緩存和主存儲器控制功能,并提供總線控制以處理PCI總線210、處理器200、L2緩存204、主存儲器208,以及主機總線202之間的傳輸。主存儲器208連接到主機到PCI橋206以及主機總線202。只由CPU 294使用的諸如局域網(wǎng)網(wǎng)卡230之類的設備連接到PCI總線210。服務處理器接口和ISA訪問通路212在PCI總線210和PCI總線214之間提供了接口。如此,PCI總線214與PCI總線210絕緣。諸如快閃存儲器218之類的設備連接到PCI總線214。在一個實施例中,快閃存儲器218包括BIOS代碼,所述的代碼包括用于執(zhí)行各種低級別的系統(tǒng)功能和系統(tǒng)引導功能所需要的處理器可執(zhí)行代碼。
PCI總線為由CPU 294和服務處理器216共享的各種設備,包括快閃存儲器218,提供了接口。PCI到ISA橋235提供了總線控制,以處理PCI總線214和ISA總線240、通用串行總線(USB)功能245、電源管理功能255之間的傳輸,并可以包括其他未顯示的功能元件,如實時時鐘(RTC)、DMA控制、中斷支持,以及系統(tǒng)管理總線支持。非易失性RAM 220連接到ISA總線240。服務處理器216包括JTAG和I2C總線222,用于在初始化步驟過程中與CPU 294進行通信。JTAG/I2C總線222還連接到L2緩存204,主機到PCI橋206,以及主存儲器208,在處理器、服務處理器、L2緩存、主機到PCI橋,以及主存儲器之間提供通信路徑。服務處理器216還能訪問系統(tǒng)電源資源,以便切斷信息處理設備201的電源。
外圍設備和輸入/輸出(I/O)設備可以連接到各種接口,例如,連接到ISA總線240的并行接口262、串行接口264、鍵盤接口268,以及鼠標接口270?;蛘?,許多I/O設備可以由連接到ISA總線240的超級I/O控制器(未顯示)進行調(diào)節(jié)。
為了將計算機系統(tǒng)201連接到另一個計算機系統(tǒng)以通過網(wǎng)絡復制文件,可以將局域網(wǎng)網(wǎng)卡230連接到PCI總線210。同樣,為了將計算機系統(tǒng)201連接到ISP以使用電話線路連接到因特網(wǎng),可以將調(diào)制解調(diào)器275連接到串行端口264和PCI到ISA橋235。
圖3是說明用于接受包含CPU和存儲了操作系統(tǒng)的運行的映像的非易失性存儲器的模塊的計算機系統(tǒng)的方框圖。計算機系統(tǒng)301包括連接到主機總線302的處理器300??梢苿幽K390還包括非易失性RAM 392,可以取出和重新插入到計算機系統(tǒng)301中。可移動模塊390連接到主機總線302,所述的總線將可移動模塊390連接到計算機系統(tǒng)301。非易失存儲器392包含操作系統(tǒng)運行映像394,在將可移動模塊390插入到計算機系統(tǒng)301時,被加載,并開始執(zhí)行以操作和控制計算機系統(tǒng)301。
二級(L2)高速緩存304也連接到主機總線302。主機到PCI橋306連接到主存儲器308,包括高速緩存和主存儲器控制功能,并提供總線控制以處理PCI總線310、處理器300、L2緩存304、主存儲器308,以及主機總線302之間的傳輸。主存儲器308連接到主機到PCI橋306以及主機總線302。只由主處理器300使用的諸如局域網(wǎng)網(wǎng)卡330之類的設備連接到PCI總線310。服務處理器接口和ISA訪問通路312在PCI總線310和PCI總線314之間提供了接口。如此,PCI總線314與PCI總線310絕緣。諸如快閃存儲器318之類的設備連接到PCI總線314。在一個實施例中,快閃存儲器318包括BIOS代碼,所述的代碼包括用于執(zhí)行各種低級別的系統(tǒng)功能和系統(tǒng)引導功能所需要的處理器可執(zhí)行代碼。
PCI總線314為由主處理器300和服務處理器316共享的各種設備,包括快閃存儲器318,提供了接口。PCI到ISA橋335提供了總線控制,以處理PCI總線314和ISA總線340、通用串行總線(USB)功能345、電源管理功能355之間的傳輸,并可以包括其他未顯示的功能元件,如實時時鐘(RTC)、DMA控制、中斷支持,以及系統(tǒng)管理總線支持。非易失性RAM 320連接到ISA總線340。服務處理器316包括JTAG和I2C總線322,用于在初始化步驟過程中與處理器300進行通信。JTAG/I2C總線322還連接到L2緩存304,主機到PCI橋306,以及主存儲器308,在處理器、服務處理器、L2緩存、主機到PCI橋,以及主存儲器之間提供通信路徑。服務處理器316還能訪問系統(tǒng)電源資源,以便切斷信息處理設備301的電源。
外圍設備和輸入/輸出(I/O)設備可以連接到各種接口,例如,連接到ISA總線340的并行接口362、串行接口364、鍵盤接口368,以及鼠標接口370?;蛘撸S多I/O設備可以由連接到ISA總線340的超級I/O控制器(未顯示)進行調(diào)節(jié)。
為了將計算機系統(tǒng)301連接到另一個計算機系統(tǒng)以通過網(wǎng)絡復制文件,可以將局域網(wǎng)網(wǎng)卡330連接到PCI總線310。同樣,為了將計算機系統(tǒng)301連接到ISP以使用電話線路連接到因特網(wǎng),可以將調(diào)制解調(diào)器375連接到串行端口364和PCI到ISA橋335。
圖4是說明將操作系統(tǒng)模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖。計算機系統(tǒng)410包括BIOS 428,用于在執(zhí)行操作系統(tǒng)之前執(zhí)行基本輸入/輸出功能,CPU 430,用于處理運行和控制計算機系統(tǒng)410的指令,非易失性存儲器434,用于存儲安裝的應用程序,用戶的設置等等,RAM 412,用于在計算機系統(tǒng)410的操作過程中作為臨時存儲器。
此外,計算機系統(tǒng)410包括可移動操作系統(tǒng)模塊接口425,所述的接口能夠接收可移動操作系統(tǒng)模塊424??梢苿硬僮飨到y(tǒng)模塊424包括非易失性存儲器中的操作系統(tǒng)運行的映像426。
在將可移動操作系統(tǒng)模塊424插入到可移動操作系統(tǒng)模塊接口425時,BIOS 428將操作系統(tǒng)運行的映像426加載從可移動操作系統(tǒng)模塊424的非易失性存儲器加載到RAM 412(操作系統(tǒng)RAM414)并啟動操作系統(tǒng)的執(zhí)行。
隨后,操作系統(tǒng)從非易失性存儲器434加載連接到計算機系統(tǒng)410的任何外部設備所需的任何設備驅(qū)動程序(設備驅(qū)動程序RAM416),輸入/輸出配置(I/O配置RAM 418),以及任何請求的應用程序(應用程序RAM 420)。
在從計算機系統(tǒng)410中取出可移動操作系統(tǒng)模塊424時,加載過程相反。操作系統(tǒng)的當前狀態(tài)在可移動操作系統(tǒng)模塊424上更新,應用程序信息、I/O配置和設備驅(qū)動程序在非易失性存儲器434上更新。在取出時,可移動操作系統(tǒng)模塊可以插入另一個兼容的計算機系統(tǒng),以便模塊的操作系統(tǒng)現(xiàn)在可以控制和操作其他計算機系統(tǒng)。
圖5是說明將操作系統(tǒng)模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖。過程從500開始,在步驟510中,用戶將可移動操作系統(tǒng)模塊插入到用于接收模塊的計算機系統(tǒng)??梢苿硬僮飨到y(tǒng)模塊包含操作系統(tǒng)的運行的映像,所述的運行的映像存儲在模塊上的非易失性存儲器上。在步驟515中,計算機系統(tǒng)的BIOS在插入時檢測可移動操作系統(tǒng)模塊,并開始將操作系統(tǒng)從模塊上的非易失性存儲器加載到計算機系統(tǒng)的RAM中。在操作系統(tǒng)完成加載之后,BIOS啟動操作系統(tǒng)的執(zhí)行,然后將控制傳遞到操作系統(tǒng)中。圖6中的流程圖提供了有關在步驟515中進行的處理的比較詳細的信息。
在步驟520中,操作系統(tǒng)發(fā)現(xiàn)連接到此計算機的本地設備。操作系統(tǒng)比較在從此計算機系統(tǒng)中取出可移動操作系統(tǒng)模塊之前包含設備的列表與當前發(fā)現(xiàn)的設備,并相應地更新設備的列表。圖7中的流程圖提供了有關在步驟520中進行的處理的比較詳細的信息。
在步驟525中,操作系統(tǒng)發(fā)現(xiàn)當用戶使用不同的計算機系統(tǒng)時可由計算機系統(tǒng)或由用戶進行訪問的任何遠程設備。圖8中的流程圖提供了有關在步驟525中進行的處理的比較詳細的信息。圖9中的流程圖提供了有關在步驟525中進行的處理的比較詳細的信息。
在步驟530中,操作系統(tǒng)初始化在最后從計算機系統(tǒng)中取出可移動操作系統(tǒng)模塊之前休眠或者以別的方式掛起的應用程序。
在步驟535中,操作系統(tǒng)對計算機系統(tǒng)進行管理。操作系統(tǒng)執(zhí)行由用戶或由執(zhí)行應用程序所請求的任務。圖10中的流程圖提供了有關在步驟535中進行的處理的比較詳細的信息。
然后,在判斷540就用戶是否請求取出可移動操作系統(tǒng)模塊進行判斷。如果用戶還沒有請求取出可移動操作系統(tǒng)模塊,判斷540轉(zhuǎn)到“否”分支550,并返回到步驟535,在此操作系統(tǒng)繼續(xù)執(zhí)行請求的任務。
如果用戶請求取出可移動操作系統(tǒng)模塊,判斷540轉(zhuǎn)到“是”分支545,過程在步驟555繼續(xù),操作系統(tǒng)的狀態(tài)保存在可移動操作系統(tǒng)模塊上。圖11中的流程圖提供了有關在步驟555中進行的處理的比較詳細的信息。
在步驟560中,在取出可移動操作系統(tǒng)模塊的所有準備工作都已經(jīng)執(zhí)行之后,將通知用戶,“可以安全地取出模塊”,在步驟565中,用戶取出可移動操作系統(tǒng)模塊。過程在599結(jié)束。
圖6是說明BIOS檢測可移動操作系統(tǒng)模塊、加載操作系統(tǒng)和將控制傳遞到操作系統(tǒng)的過程的流程圖。過程從600開始,在步驟610中,BIOS檢測插入的可移動操作系統(tǒng)模塊。可移動操作系統(tǒng)模塊可以包括即插即用類型的功能,以便給計算機系統(tǒng)提供有關模塊的初始信息。
在步驟615中,BIOS將操作系統(tǒng)的運行的映像從可移動操作系統(tǒng)模塊加載到計算機系統(tǒng)的RAM中。在加載操作系統(tǒng)時,BIOS可以直接將操作系統(tǒng)的運行的映像復制到RAM,或者BIOS可以將模塊的存儲器地址映像到RAM地址以從模塊運行操作系統(tǒng),或者,BIOS可以將操作系統(tǒng)的映像從模塊上的休眠的保存狀態(tài)恢復到RAM,或上述情況的組合。要在可移動操作系統(tǒng)模塊上的存儲器地址和計算機系統(tǒng)的RAM之間建立映像,可以指派基準地址,例如,在插入時通過預先確定的自動分配指派,或者,通過將RAM中的基準地址預留給操作系統(tǒng),或者通過使用硬件插腳檢測并重新定位來進行。
在步驟620中BIOS提示用戶是否恢復執(zhí)行操作系統(tǒng)還是通過有效地重新引導系統(tǒng)或重新初始化模塊來重新啟動操作系統(tǒng)。在步驟625中,接收用戶的輸入。
然后,在判斷625處就用戶是否選擇重新啟動操作系統(tǒng)進行判斷。如果用戶已經(jīng)選擇了重新啟動系統(tǒng),判斷625轉(zhuǎn)到“分支”635,其中,在步驟655中,從模塊獲取操作系統(tǒng)的重新啟動入口點。在模塊的初始創(chuàng)建過程中或者在從計算機系統(tǒng)中取出模塊之前操作系統(tǒng)的狀態(tài)保存在模塊中時,操作系統(tǒng)重新啟動點將保存在模塊中。重新啟動入口點代表這樣的一個點,在此,重新初始化處理,而在最后一次取出可移動操作系統(tǒng)模塊之前不考慮操作系統(tǒng)的以前的狀態(tài)。在步驟660中,操作系統(tǒng)開始在重新啟動入口點開始執(zhí)行。隨后,過程在699結(jié)束。
如果用戶沒有選擇重新啟動系統(tǒng),而是選擇了恢復操作系統(tǒng),判斷625轉(zhuǎn)到“否”分支640,在步驟645中,從模塊獲取操作系統(tǒng)的恢復入口點。在最后從計算機系統(tǒng)中取出模塊之前,操作系統(tǒng)恢復點將保存在模塊上?;謴腿肟邳c代表了這樣的一個點,在操作系統(tǒng)的狀態(tài)保存在可移動操作系統(tǒng)模塊之前處理停止。在步驟650中,操作系統(tǒng)開始從恢復入口點執(zhí)行。隨后,過程在699結(jié)束。
圖7是說明發(fā)現(xiàn)連接到計算機系統(tǒng)的本地設備的過程的流程圖。過程從700開始,在此,在判斷710處就本地設備驅(qū)動程序配置文件是否存在于本地計算機系統(tǒng)的非易失性存儲器中進行判斷。如果設備驅(qū)動程序配置文件不存在,判斷710轉(zhuǎn)到“no”分支714,在步驟736中,將創(chuàng)建本地設備驅(qū)動程序配置文件。處理隨后在判斷738處繼續(xù)。設備驅(qū)動程序配置文件包含在計算機系統(tǒng)最后一次休眠、掛起或關閉之前連接到計算機系統(tǒng)的所有本地設備的列表。此列表可能不一定反映當前存在的設備,因為自從計算機系統(tǒng)最后一次操作以來可能已經(jīng)添加了新設備并且可能會有舊設備可能已經(jīng)斷開連接。
如果設備驅(qū)動程序配置文件存在,則判斷710轉(zhuǎn)到“是”分支712,從本地計算機系統(tǒng)中加載設備驅(qū)動程序配置文件。在步驟718中,從配置文件中選擇第一個設備,然后,在判斷720處就所選擇的設備當前是否連接到計算機系統(tǒng)進行判斷。如果設備不可用,則判斷720轉(zhuǎn)到“分支”722,在步驟726中從設備驅(qū)動程序配置文件中刪除所選擇的設備。然后過程在判斷728處繼續(xù)。如果所選擇的設備可用,則判斷720轉(zhuǎn)到“是”分支724,跳過刪除步驟。
在判斷728處,就設備驅(qū)動程序配置文件中是否存在更多的需要進行檢查的設備驅(qū)動程序進行判斷。如果有更多的設備驅(qū)動程序存在,則判斷726轉(zhuǎn)到“是”分支732,在步驟734中,選擇下一個設備驅(qū)動程序,過程返回到判斷720。如果在設備驅(qū)動程序配置文件中沒有更多的設備驅(qū)動程序,則判斷728轉(zhuǎn)到“否”分支730,在此,過程在判斷736處繼續(xù)。
在判斷738處,就最后一次計算機系統(tǒng)被打開以來是否有新的設備連接到計算機系統(tǒng)進行判斷。如果沒有新的設備存在,則判斷738轉(zhuǎn)到“否”分支,設備驅(qū)動程序配置文件不需要進一步的更新,過程在799結(jié)束。如果有新的設備存在,則判斷738轉(zhuǎn)到“是”分支742,在步驟746中選擇發(fā)現(xiàn)的第一個新設備。在步驟746中,判斷并加載對應于新發(fā)現(xiàn)的設備的設備驅(qū)動程序。
并相應地更新操作系統(tǒng)的任何注冊表。此外,還要更新本地設備驅(qū)動程序配置文件,以包括新發(fā)現(xiàn)的設備。
然后,在判斷748處就是否存在更多需要注冊的新設備進行判斷。如果不存在更多新設備,則判斷748轉(zhuǎn)到“否”分支750,過程在799結(jié)束。如果存在更多新設備,則判斷748轉(zhuǎn)到“是”分支752,在步驟754中,選擇下一個新設備,然后處理回到746,以便設置新設備并更新適當?shù)奈募?br> 圖8是說明發(fā)現(xiàn)可由計算機系統(tǒng)進行訪問的遠程設備的過程的流程圖。過程從800開始。然后,在判斷910處就在本地計算機系統(tǒng)上是否存在遠程設備驅(qū)動程序配置文件進行判斷。如果在計算機系統(tǒng)上不存在遠程設備驅(qū)動程序配置文件,則判斷810轉(zhuǎn)到“否”分支814,過程在判斷818處繼續(xù)。
如果在計算機系統(tǒng)上存在遠程設備驅(qū)動程序配置文件,判斷810轉(zhuǎn)到“是”分支812,在此,加載遠程設備驅(qū)動程序配置文件,以獲取計算機系統(tǒng)最后一次啟動時連接到計算機系統(tǒng)的遠程設備的列表。然后過程在判斷818處繼續(xù)。
在判斷818處,就可移動操作系統(tǒng)模塊上是否存在遠程設備驅(qū)動程序配置文件進行判斷。一個單獨的遠程設備驅(qū)動程序配置文件可以保留在模塊的用戶優(yōu)選的遠程設備的模塊上。如果遠程設備驅(qū)動程序配置文件不存在,則判斷818轉(zhuǎn)到“否”分支820,在此,過程在步驟826處繼續(xù)。如果遠程設備驅(qū)動程序配置文件存在,則判斷816轉(zhuǎn)到“是”分支822,在步驟824中,從模塊加載遠程設備驅(qū)動程序配置文件。然后過程在步驟826處繼續(xù)。
在步驟826中,選擇第一遠程設備驅(qū)動程序,并在步驟828中,聯(lián)系遠程設備驅(qū)動程序注冊表服務器,以就遠程設備是否仍可用進行判斷。然后,在判斷830處就設備是否可用進行判斷。如果設備不可用,則判斷830轉(zhuǎn)到“否”分支,過程在判斷838處繼續(xù)。
如果設備不可用,則判斷830轉(zhuǎn)到“是”分支832,在步驟836中,聯(lián)系遠程設備驅(qū)動程序注冊表服務器,以接收必需的信息以安裝設備。圖31中的流程圖提供了有關在步驟836中進行的處理的比較詳細的信息。
然后,在判斷838處就是否存在更多需要檢查的新驅(qū)動程序進行判斷。如果不存在更多需要檢查的驅(qū)動程序,則判斷838轉(zhuǎn)到“否”分支840,過程在899結(jié)束。如果存在需要檢查的更多驅(qū)動程序,則判斷838轉(zhuǎn)到“是”分支842,在步驟844中,選擇一個新設備驅(qū)動程序,然后,處理回到步驟828,以檢查所選擇的驅(qū)動程序。
圖9是說明初始化應用程序以在計算機系統(tǒng)上執(zhí)行的過程的流程圖。這些是在計算機系統(tǒng)上執(zhí)行的應用程序,并在最后一次可移動操作系統(tǒng)模塊從計算機系統(tǒng)取出之后休眠或掛起。過程從900開始,在步驟910中,操作系統(tǒng)從可移動操作系統(tǒng)模塊加載應用程序狀態(tài)數(shù)據(jù)文件。應用程序狀態(tài)數(shù)據(jù)文件包括諸如用戶所處理的文件、對文件進行編輯的位置等等信息。
然后,在判斷912處就是否存在更多需要恢復的應用程序進行判斷。如果不存在需要恢復的應用程序,則判斷912轉(zhuǎn)到“否”分支916,過程在999結(jié)束。如果存在需要恢復的應用程序,則判斷912轉(zhuǎn)到“是”分支914,在步驟916中,選擇第一個這樣的應用程序。
然后,在判斷920處就在當前計算機系統(tǒng)上所選擇的應用程序是否可用進行判斷。操作系統(tǒng)模塊的用戶可能在以前的計算機系統(tǒng)上執(zhí)行一個當前計算機系統(tǒng)上不可用或沒有安裝的應用程序。如果應用程序在當前計算機系統(tǒng)上不可用,則判斷920轉(zhuǎn)到“否”分支924,應用程序的狀態(tài)信息保留在應用程序狀態(tài)數(shù)據(jù)文件中。保留該信息是為了在將來的計算機系統(tǒng)中可以恢復對應的應用程序。然后過程在判斷928處繼續(xù)。
如果應用程序在當前計算機系統(tǒng)上可用,則判斷920轉(zhuǎn)到“是”分支922,開始啟動應用程序。在步驟934中,操作系統(tǒng)預留用于啟動應用程序的適當?shù)拇鎯ζ髁?,在步驟936中,執(zhí)行對應的可執(zhí)行程序,以啟動應用程序。在步驟938中,操作系統(tǒng)使用來自應用程序狀態(tài)數(shù)據(jù)文件中的數(shù)據(jù),將應用程序恢復到模塊的用戶以前留下的狀態(tài)。例如,如果應用程序是Microsoft Word,則啟動用戶最后一次編輯的文件,將編輯的位置設置到最后一次編輯的位置,將工具欄配置設置到最后一個工具欄配置等等。然后過程在判斷928處繼續(xù)。
在判斷928,就是否有更多的應用程序需要恢復進行判斷。如果不存在更多需要恢復的應用程序,則判斷928轉(zhuǎn)到“否”分支932,過程在999結(jié)束。如果有更多應用程序需要恢復,則判斷928轉(zhuǎn)到“是”分支930,在步驟940中,選擇下一個應用程序,處理回到判斷920,以繼續(xù)恢復過程。
圖10是說明在操作系統(tǒng)被加載之后管理操作系統(tǒng)的過程的流程圖。過程從1000開始,在步驟1010中,操作系統(tǒng)等待用戶的或應用程序的任務請求。請求的任務可以是,打印、輸入文本、顯示圖形、執(zhí)行計算等等。在判斷1015處,就是否請求了任務進行判斷。如果沒有請求任務,則判斷1015轉(zhuǎn)到“否”分支1025,處理回到步驟1010,操作系統(tǒng)繼續(xù)等待任務請求。
如果請求了任務,則判斷1015轉(zhuǎn)到“是”分支1020,在判斷1030處就完成任務所需要的可執(zhí)行程序及其他文件是否已經(jīng)加載到RAM中進行判斷。操作系統(tǒng)的某些部分可能不會加載到RAM中,而是可能保留在可移動操作系統(tǒng)模塊的非易失性存儲器中。如果所有必需的文件都已經(jīng)加載,則判斷1030轉(zhuǎn)到“是”分支1035,過程在步驟1050繼續(xù)。
如果沒有加載用于執(zhí)行被請求的任務的必需的所有文件,則判斷1030轉(zhuǎn)到“否”分支1040,在步驟1045中,則從可移動操作系統(tǒng)模塊的非易失性存儲器加載其余的所需的文件。在步驟1050中,由操作系統(tǒng)執(zhí)行所請求的任務。隨后過程返回到步驟1010,在此,操作系統(tǒng)繼續(xù)等待另一個任務請求。
圖11是說明在取出模塊之前將操作系統(tǒng)狀態(tài)保存在可移動操作系統(tǒng)模塊上的過程的流程圖。過程從1100開始,由操作系統(tǒng)執(zhí)行可移動操作系統(tǒng)模塊取出應用程序。然后,在判斷1115處就是否有任何應用程序或進程仍在執(zhí)行進行判斷。如果沒有更多應用程序或進程仍在執(zhí)行,則判斷1115轉(zhuǎn)到“否”分支1125,過程在步驟1 150處繼續(xù)。
如果有應用程序或進程仍在執(zhí)行,則判斷1115轉(zhuǎn)到“是”分支1120,在步驟1130處選擇下一個正在執(zhí)行的應用程序或進程。在步驟1135中,操作系統(tǒng)停止執(zhí)行進程或應用程序,在步驟1140中,應用程序的或進程的狀態(tài)信息保存到可移動操作系統(tǒng)模塊上的應用程序的狀態(tài)信息數(shù)據(jù)文件中。如果文件不存在,則創(chuàng)建一個新文件。例如,如果應用程序是Word,則將保存最后一個編輯位置,工具欄配置等等。在步驟1145中,當前正在被應用程序訪問的任何文件的名稱保存在可移動操作系統(tǒng)模塊上。下一次模塊插入到計算機系統(tǒng)時,將在適當?shù)木庉孅c用適當?shù)膽贸绦虼蜷_適當?shù)奈募?br> 在步驟1150中,操作系統(tǒng)的當前狀態(tài)將保存在模塊上。此信息將用于在下一次模塊被插入到計算機系統(tǒng)時重新啟動操作系統(tǒng)。操作系統(tǒng)狀態(tài)包括諸如桌面布局、快捷方式列表、配色方案及其他用戶首選項之類的項目。
在步驟1155中,確定最后一個操作系統(tǒng)執(zhí)行點,并作為“恢復”點保存在可移動操作系統(tǒng)模塊中。當操作系統(tǒng)再次從可移動操作系統(tǒng)模塊加載并且用戶從最后一個執(zhí)行點選擇恢復操作系統(tǒng)而不是重新啟動操作系統(tǒng)時,可以使用“恢復”點。
在步驟1160中,將有關遠程設備驅(qū)動程序的信息保存在模塊上的遠程設備驅(qū)動程序配置文件中。下一次將可移動操作系統(tǒng)模塊插入到計算機系統(tǒng)時,可以使用此信息重新連接到可用的遠程設備。在步驟1165中,也可以將任何其他非計算機系統(tǒng)特定的數(shù)據(jù)(即,只與模塊關聯(lián)的數(shù)據(jù))保存在可移動操作系統(tǒng)模塊中。
圖12是說明將操作系統(tǒng)/應用程序模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖。計算機系統(tǒng)1210包括BIOS1228,用于在執(zhí)行操作系統(tǒng)之前執(zhí)行基本輸入/輸出功能,CPU 1230,用于處理運行和控制計算機系統(tǒng)1210的指令,非易失性存儲器1234,用于存儲安裝的應用程序,用戶的設置等等,RAM 1212,用于在計算機系統(tǒng)1210的操作過程中作為臨時存儲器。
此外,計算機系統(tǒng)1210還包括可移動操作系統(tǒng)/應用程序模塊接口1225,所述的接口能夠接收可移動操作系統(tǒng)/應用程序模塊1224??梢苿硬僮飨到y(tǒng)/應用程序模塊1224還在非易失性存儲器中包括操作系統(tǒng)運行的映像1226以及一個或多個應用程序的運行的映像。
在將可移動操作系統(tǒng)/應用程序模塊1224插入到可移動操作系統(tǒng)/應用程序模塊接口1225時,BIOS 1228將操作系統(tǒng)和應用程序運行的映像1226從可移動操作系統(tǒng)/應用程序模塊1224的非易失性存儲器加載到RAM 1212中(操作系統(tǒng)RAM 1214和應用程序RAM 1220),并啟動操作系統(tǒng)的執(zhí)行。然后,執(zhí)行的操作系統(tǒng)恢復加載的應用程序的執(zhí)行。
隨后,操作系統(tǒng)從非易失性存儲器1234加載連接到計算機系統(tǒng)1210的任何外部設備所需的任何設備驅(qū)動程序(設備驅(qū)動程序RAM1216),輸入/輸出配置(I/O配置RAM 1218),以及任何請求的應用程序(應用程序RAM 1220)。除模塊1222上的非易失性存儲器1224外,應用程序還可以駐留在非易失性存儲器1230中。
在從計算機系統(tǒng)1210中取出可移動操作系統(tǒng)/應用程序模塊1224時,加載過程相反。操作系統(tǒng)和模塊應用程序的當前狀態(tài)在可移動操作系統(tǒng)/應用程序模塊1224上更新,本地應用程序信息、I/O配置和設備驅(qū)動程序在非易失性存儲器1234上更新。在取出時,可移動操作系統(tǒng)/應用程序模塊可以插入另一個兼容的計算機系統(tǒng),以便模塊的操作系統(tǒng)現(xiàn)在可以控制和操作其他計算機系統(tǒng),模塊的應用程序可以在其他計算機系統(tǒng)上執(zhí)行。
圖13是說明將可移動操作系統(tǒng)/應用程序模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖。過程從1300開始,在步驟1310中,用戶將可移動操作系統(tǒng)/應用程序模塊插入到用于接收模塊的計算機系統(tǒng)。可移動操作系統(tǒng)/應用程序模塊包含操作系統(tǒng)的運行的映像以及一個或多個應用程序的運行的映像,它們都存儲在模塊的非易失性存儲器上??梢苿硬僮飨到y(tǒng)/應用程序模塊上的應用程序可以隨模塊帶到不同的計算機系統(tǒng),每個模塊每個應用程序只需要一個許可證。此外,模塊還提供了維護應用程序的中心點,與在不同的計算機系統(tǒng)上維護相同的應用程序的多個副本相反。
在步驟1312中,在插入時計算機系統(tǒng)的BIOS檢測可移動操作系統(tǒng)/應用程序模塊,并開始從模塊上的非易失性存儲器將操作系統(tǒng)的運行的映像加載到計算機系統(tǒng)的RAM中。在操作系統(tǒng)完成加載之后,BIOS啟動操作系統(tǒng)的執(zhí)行,然后將控制傳遞到操作系統(tǒng)。圖6中的流程圖提供了有關在步驟1312中進行的處理的比較詳細的信息。
在步驟1314中,操作系統(tǒng)發(fā)現(xiàn)連接到此計算機的本地設備。操作系統(tǒng)將在將可移動操作系統(tǒng)模塊從此計算機系統(tǒng)取出之前包含的設備的列表與當前發(fā)現(xiàn)的設備進行比較,并相應地更新設備的列表。圖8中的流程圖提供了有關在步驟1314中進行的處理的比較詳細的信息。
在步驟1316中,操作系統(tǒng)發(fā)現(xiàn)當用戶正在使用不同的計算機系統(tǒng)時可由計算機系統(tǒng)進行訪問的或可由用戶進行訪問的任何遠程設備。圖8中的流程圖提供了有關在步驟1316中進行的處理的比較詳細的信息。
在步驟1318中,操作系統(tǒng)初始化在將可移動操作系統(tǒng)模塊從計算機系統(tǒng)中最后一次取出之前休眠或者以別的方式掛起的本地應用程序。本地應用程序是駐留在計算機系統(tǒng)上的應用程序,與駐留在可移動操作系統(tǒng)/應用程序模塊上的模塊相反。圖14中的流程圖提供了有關在步驟1318中進行的處理的比較詳細的信息。
在步驟1320中,操作系統(tǒng)加載并恢復駐留在可移動操作系統(tǒng)/應用程序模塊上的并可以在當前計算機系統(tǒng)上執(zhí)行的模塊應用程序。圖15中的流程圖提供了有關在步驟1320中進行的處理的比較詳細的信息。
在步驟1322中,操作系統(tǒng)對計算機系統(tǒng)進行管理。操作系統(tǒng)執(zhí)行由用戶或由執(zhí)行應用程序所請求的任務。圖10中的流程圖提供了有關在步驟1322中進行的處理的比較詳細的信息。
然后,在判斷1324就用戶是否請求取出可移動操作系統(tǒng)模塊進行判斷。如果用戶還沒有請求取出可移動操作系統(tǒng)模塊,判斷1324轉(zhuǎn)到“否”分支1328,并返回到步驟13,在此操作系統(tǒng)繼續(xù)執(zhí)行任何請求的任務。
如果用戶請求取出可移動操作系統(tǒng)模塊,判斷1324分叉到“是”分支1326,過程在步驟1330繼續(xù),操作系統(tǒng)的狀態(tài)保存在可移動操作系統(tǒng)模塊上。圖16中的流程圖提供了有關在步驟1330中進行的處理的比較詳細的信息。
在步驟1332中,模塊應用程序的狀態(tài)保存在可移動操作系統(tǒng)/應用程序模塊上。對應用程序的狀態(tài)的更改可以包括對應用程序的工具欄或菜單的更改、對首選的文件位置的更改、正在編輯的當前文件和編輯位置,及其他用戶特定的設置和首選項。圖17中的流程圖提供了有關在步驟1332中進行的處理的比較詳細的信息。
在步驟1334中,在取出可移動操作系統(tǒng)模塊的所有準備工作都已經(jīng)執(zhí)行之后,將通知用戶,“可以安全地取出模塊”,在步驟1336中,用戶取出可移動操作系統(tǒng)模塊。過程在1399結(jié)束。
圖14是說明初始化本地應用程序以在計算機系統(tǒng)上執(zhí)行的過程的流程圖。過程從1400開始,在步驟1410中,操作系統(tǒng)從可移動操作系統(tǒng)/應用程序模塊加載應用程序狀態(tài)數(shù)據(jù)文件。應用程序狀態(tài)數(shù)據(jù)文件包括諸如用戶所處理的文件、對文件進行編輯的位置等等信息。
然后,在判斷1412處就是否存在更多需要恢復的本地應用程序進行判斷。如果不存在更多需要恢復的本地應用程序,則判斷1412轉(zhuǎn)到“否”分支1416,過程在1499結(jié)束。如果存在需要恢復的本地應用程序,則判斷1412轉(zhuǎn)到“是”分支1414,在步驟1419中,選擇第一個這樣的本地應用程序。
然后,在判斷1420處就在當前計算機系統(tǒng)上所選擇的本地應用程序是否可用進行判斷。操作系統(tǒng)模塊的用戶可能在以前的計算機系統(tǒng)上執(zhí)行一個當前計算機系統(tǒng)上不可用或沒有安裝的本地應用程序。如果本地應用程序在當前計算機系統(tǒng)上不可用,則判斷1420轉(zhuǎn)到“否”分支1424,本地應用程序的狀態(tài)信息保留在本地應用程序狀態(tài)數(shù)據(jù)文件中。保留該信息是為了在具有可用的本地應用程序的將來的計算機系統(tǒng)上恢復對應的本地應用程序。然后,過程返回到判斷1412。
如果本地應用程序在當前計算機系統(tǒng)上可用,則判斷1420轉(zhuǎn)到“是”分支1422,開始啟動本地應用程序。在步驟1426,操作系統(tǒng)預留用于啟動本地應用程序的適當?shù)拇鎯ζ髁浚诓襟E1428中,執(zhí)行對應的可執(zhí)行程序,以啟動本地應用程序。在步驟1430中,操作系統(tǒng)使用來自本地應用程序狀態(tài)數(shù)據(jù)文件中的數(shù)據(jù),將本地應用程序恢復到模塊的用戶以前留下的狀態(tài)。例如,如果本地應用程序是Word,則啟動用戶最后一次編輯的文件,將編輯的位置設置到最后一次編輯的位置,將工具欄配置設置到最后一個配置等等。然后,過程返回到判斷1412。
圖15是說明初始化模塊(模塊存儲的)應用程序以在計算機系統(tǒng)上執(zhí)行的過程的流程圖。過程從1500開始,在步驟1510中,操作系統(tǒng)從可移動操作系統(tǒng)/應用程序模塊加載應用程序狀態(tài)數(shù)據(jù)文件。應用程序狀態(tài)數(shù)據(jù)文件包括諸如用戶所處理的文件、對文件進行編輯的位置等等信息。此外,應用程序的運行的映像可以通過保存應用程序的RAM空間的映像來進行保存。
然后,在判斷1512處就是否存在更多需要恢復的模塊應用程序進行判斷。如果不存在需要恢復的模塊應用程序,則判斷1512轉(zhuǎn)到“否”分支1516,過程在1599結(jié)束。如果存在需要恢復的模塊應用程序,則判斷1512轉(zhuǎn)到“是”分支1514,在步驟1518中,選擇第一個這樣的模塊應用程序。
然后,在判斷1520處就所選擇的模塊應用程序是否可以在當前計算機系統(tǒng)上執(zhí)行(與當前計算機系統(tǒng)兼容)進行判斷。如果模塊應用程序在當前計算機系統(tǒng)上不可用,則判斷1520轉(zhuǎn)到“否”分支1524,模塊應用程序的狀態(tài)信息保留在模塊應用程序狀態(tài)數(shù)據(jù)文件中。保留該信息是為了在模塊應用程序與其兼容的將來的計算機系統(tǒng)上恢復對應的模塊應用程序。然后,過程返回到判斷1512。
如果模塊應用程序與當前計算機系統(tǒng)兼容,則判斷1520轉(zhuǎn)到“是”分支1522,開始模塊應用程序。在步驟1526中,操作系統(tǒng)預留用于啟動模塊應用程序的適當?shù)拇鎯ζ髁浚诓襟E1528中,從模塊中加載應用程序的運行的映像?;謴蛻贸绦蛩璧钠渌麪顟B(tài)信息,如應用程序的最后一個執(zhí)行點,也從模塊中加載。在步驟1530中,操作系統(tǒng)開始在恢復的恢復點開始執(zhí)行。然后,過程返回到判斷1512。
圖16是說明在取出模塊之前將模塊應用程序保存在可移動操作系統(tǒng)/應用程序模塊上的過程的流程圖。過程從1600開始,由操作系統(tǒng)執(zhí)行可移動操作系統(tǒng)/應用程序模塊取出應用程序。然后,在判斷1615處就是否有任何本地應用程序或進程仍在執(zhí)行進行判斷。如果沒有更多本地應用程序或進程仍在執(zhí)行,則判斷1615轉(zhuǎn)到“否”分支1625,過程在步驟1650處繼續(xù)。
如果有本地應用程序或進程仍在執(zhí)行,則判斷1615轉(zhuǎn)到“是”分支1620,在步驟1630處選擇下一個正在執(zhí)行的本地應用程序或進程。在步驟1635中,操作系統(tǒng)停止執(zhí)行進程或本地應用程序,在步驟1640中,本地應用程序的或進程的狀態(tài)信息保存到可移動操作系統(tǒng)/應用程序模塊上的本地應用程序的狀態(tài)信息數(shù)據(jù)文件中。例如,如果本地應用程序是Word,則將保存最后一個編輯位置,工具欄配置等等。如果文件不存在,則創(chuàng)建一個新文件。在步驟1645中,當前正在被本地應用程序訪問的任何文件的名稱保存在可移動操作系統(tǒng)/應用程序模塊上。下一次模塊插入到計算機系統(tǒng)時,將在適當?shù)木庉孅c用適當?shù)谋镜貞贸绦虼蜷_適當?shù)奈募?br> 在步驟1650中,操作系統(tǒng)的當前狀態(tài)將保存在模塊上。此信息將用于在下一次模塊被插入到計算機系統(tǒng)時重新啟動操作系統(tǒng)。操作系統(tǒng)狀態(tài)包括諸如桌面布局、快捷方式列表、配色方案及其他用戶首選項之類的項目。
在步驟1655中,確定最后一個操作系統(tǒng)執(zhí)行點,并作為“恢復”點保存在可移動操作系統(tǒng)/應用程序模塊中。當操作系統(tǒng)再次從可移動操作系統(tǒng)/應用程序模塊加載并且用戶從最后一個執(zhí)行點選擇恢復操作系統(tǒng)而不是重新啟動操作系統(tǒng)時,可以使用“恢復”點。
在步驟1660中,將有關遠程設備驅(qū)動程序的信息保存在模塊上的遠程設備驅(qū)動程序配置文件中。下一次將可移動操作系統(tǒng)/應用程序模塊插入到計算機系統(tǒng)時,可以使用此信息重新連接到可用的遠程設備。在步驟1665中,也可以將任何其他非計算機系統(tǒng)特定的數(shù)據(jù)(即,只與模塊關聯(lián)的數(shù)據(jù))保存在可移動操作系統(tǒng)/應用程序模塊中。
圖17是說明在取出模塊之前將應用程序狀態(tài)保存在可移動操作系統(tǒng)/應用程序模塊上的過程的流程圖。過程從1700開始,在判斷1710中,就是否有更多其狀態(tài)需要保存在可移動操作系統(tǒng)/應用程序模塊上的執(zhí)行模塊應用程序進行判斷。如果沒有更多模塊應用程序需要保存,則判斷1710轉(zhuǎn)到“否”分支1720,隨后在1799中結(jié)束。
如果存在更多需要保存的模塊應用程序,則判斷1710轉(zhuǎn)到“是”分支1715,在步驟1723中,選擇下一個模塊應用程序。在步驟1725中,操作系統(tǒng)停止執(zhí)行模塊應用程序,在步驟1730中,所選擇的模塊應用程序的當前狀態(tài)保存在可移動操作系統(tǒng)/應用程序模塊中。應用程序的狀態(tài)可以包括當前正在編輯的文件、編輯位置、工具欄和菜單布局,及其他用戶的首選項。
在步驟1735中,確定應用程序的最后一個執(zhí)行點。然后,在步驟1740中,將最后一個執(zhí)行點作為“恢復”點保存在模塊中。然后,可以使用執(zhí)行點恢復被停止執(zhí)行的應用程序的執(zhí)行。
然后,過程返回判斷1710,以判斷是否有更多需要保存應用程序的狀態(tài)的應用程序。
圖18是說明將CPU模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖。計算機系統(tǒng)1610包括BIOS 1850,用于在執(zhí)行操作系統(tǒng)之前執(zhí)行基本輸入/輸出功能,非易失性存儲器1855,用于存儲安裝的應用程序和安裝的操作系統(tǒng),用戶的設置等等,RAM1820,用于在計算機系統(tǒng)1810的操作過程中作為臨時存儲器。
此外,計算機系統(tǒng)1810還包括模塊接口1860,用于接收CPU模塊1840。CPU模塊1840包括CPU 1845,在將CPU模塊1840連接到計算機系統(tǒng)1810之后,所述的CPU 1845可以開始執(zhí)行操作系統(tǒng)指令。
在將可移動CPU模塊1840插入到模塊接口1860時,BIOS1850檢測模塊,并開始將操作系統(tǒng)從非易失性存儲器1855加載到RAM 1815(操作系統(tǒng)RAM 1820)。在加載操作系統(tǒng)之后,BIOS 1815使用CPU模塊1840的CPU 1845啟動操作系統(tǒng)的執(zhí)行。
隨后,操作系統(tǒng)從非易失性存儲器1855加載連接到計算機系統(tǒng)1810的任何外部設備所需的任何設備驅(qū)動程序(設備驅(qū)動程序RAM1825),輸入/輸出配置(I/O配置RAM 1830),以及任何請求的應用程序(應用程序RAM 1635)。
在從計算機系統(tǒng)1810中取出可移動操作系統(tǒng)模塊1624時,加載過程相反。操作系統(tǒng)的當前狀態(tài)保存在非易失性存儲器1855上,應用程序信息、I/O配置和設備驅(qū)動程序在非易失性存儲器1855上更新。在取出時,可移動CPU模塊可以插入另一個兼容的計算機系統(tǒng),以便模塊的CPU現(xiàn)在可以操作其他計算機系統(tǒng)。
圖19是說明將可移動CPU模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖。過程從1900開始,在步驟1910中,用戶將可移動CPU模塊插入到用于接收可移動CPU模塊的計算機系統(tǒng)。
在步驟1915中,BIOS檢測可移動CPU模塊,并判斷CPU和計算機系統(tǒng)之間的兼容性。圖20中的流程圖提供了有關在步驟1915中進行的處理的比較詳細的信息。
然后,在判斷1920中就CPU是否與計算機系統(tǒng)兼容進行判斷。如果CPU與計算機系統(tǒng)不兼容,判斷1920轉(zhuǎn)到“否”分支1930,在步驟1945,將不兼容的情況通知給用戶,在步驟1999中處理結(jié)束。
如果CPU與計算機系統(tǒng)兼容,判斷1920轉(zhuǎn)到“是”分支1925,在步驟1935中,加載操作系統(tǒng),并開始使用可移動CPU模塊上的CPU開始執(zhí)行。圖21中的流程圖提供了有關在步驟1935中進行的處理的比較詳細的信息。
在步驟1950中,操作系統(tǒng)對計算機系統(tǒng)進行管理。操作系統(tǒng)執(zhí)行由用戶或由執(zhí)行應用程序所請求的任務。圖10中的流程圖提供了有關在步驟1950中進行的處理的比較詳細的信息。
然后,在判斷1955就用戶是否請求取出可移動操作系統(tǒng)模塊進行判斷。如果用戶還沒有請求取出可移動操作系統(tǒng)模塊,判斷1955轉(zhuǎn)到“否”分支1965,并返回到步驟1950,在此操作系統(tǒng)繼續(xù)執(zhí)行請求的任務。
如果用戶請求取出可移動操作系統(tǒng)模塊,判斷1955轉(zhuǎn)到“是”分支1960,過程在步驟1970繼續(xù),操作系統(tǒng)的狀態(tài)保存在可移動操作系統(tǒng)模塊上。圖11中的流程圖提供了有關在步驟1970中進行的處理的比較詳細的信息。
在步驟1975中,在取出可移動操作系統(tǒng)模塊的所有準備工作都已經(jīng)執(zhí)行之后,將通知用戶,“可以安全地取出模塊”,在步驟1980中,用戶取出可移動操作系統(tǒng)模塊。過程在1999結(jié)束。
圖20是說明BIOS檢測可移動CPU模塊并判斷模塊上的CPU和計算機系統(tǒng)之間的兼容性的過程的流程圖。過程從2000開始,在步驟2010中,BIOS檢測插入的CPU模塊。例如,可以使用即插即用類型的協(xié)議檢測CPU模塊。
然后,就以前是否將可移動CPU模塊插入到此計算機系統(tǒng)進行判斷。如果以前沒有將可移動CPU模塊插入到此計算機,則判斷2015轉(zhuǎn)到“否”分支2020,過程在步驟2035處繼續(xù)。如果以前已經(jīng)將可移動CPU模塊插入到此計算機,則判斷2015轉(zhuǎn)到“是”分支2025,在判斷2026處就計算機系統(tǒng)上的非易失性存儲器上是否存在包含CPU信息的文件進行判斷。如果計算機系統(tǒng)上存在包含CPU信息的文件,則判斷2026轉(zhuǎn)到“是”分支2028,在步驟2030中,加載包含CPU信息的文件,CPU信息包括CPU的訪問地址、CPU的尋址模式,以及CPU的數(shù)據(jù)傳輸方法等等。
如果計算機系統(tǒng)上不存在包含CPU信息的文件,則判斷2026轉(zhuǎn)到“否”分支2029,在步驟2035中,對CPU進行查詢,以提供CPU的訪問地址、CPU的尋址模式、CPU的數(shù)據(jù)傳輸模式等等。在步驟2030中,所提供的諸如CPU的訪問地址、CPU的尋址模式、CPU的數(shù)據(jù)傳輸模式等等之類的數(shù)據(jù)將保存在計算機系統(tǒng)上的非易失性存儲器上的一個文件中,以便在將來將可移動CPU模塊插入到計算機系統(tǒng)中時使用。處理隨后在2099中結(jié)束。
圖21是說明BIOS加載操作系統(tǒng)并開始使用可移動CPU模塊上的CPU執(zhí)行操作系統(tǒng)的過程的流程圖。過程從2100開始。然后,就休眠的操作系統(tǒng)的映像是否在本地非易失性存儲器中可用進行判斷。如果映像可用,則判斷2110分叉到“是”分支2120,BIOS在步驟2125中從計算機系統(tǒng)上的非易失性存儲器加載操作系統(tǒng)。如果操作系統(tǒng)的映像不可用,則判斷2110轉(zhuǎn)到“否”分支2115,過程在步驟2165繼續(xù)。在步驟2130中,提示用戶是恢復還是重新啟動加載的操作系統(tǒng),在步驟2135中,接收用戶的輸入。
然后,在判斷2140處就用戶是否選擇重新啟動操作系統(tǒng)進行判斷。如果用戶選擇了重新啟動操作系統(tǒng),則判斷2140轉(zhuǎn)到“是”分支2145,處理再次在步驟2165處繼續(xù)。如果用戶沒有選擇重新啟動系統(tǒng),而是選擇了從操作系統(tǒng)的最后一個執(zhí)行點恢復操作系統(tǒng),決定2140轉(zhuǎn)到“否”分支2150,在步驟2155中,從計算機系統(tǒng)上的非易失性存儲器獲取操作系統(tǒng)的恢復入口點。在步驟2160中,操作系統(tǒng)從恢復入口點開始執(zhí)行。
在步驟2165中,從計算機系統(tǒng)上的非易失性存儲器獲取重新啟動入口點。在步驟2170中,操作系統(tǒng)從重新啟動入口點開始執(zhí)行。
在步驟2175中,將CPU的以前確定的諸如CPU地址、CPU尋址模式、數(shù)據(jù)傳輸方法等等屬性通知給操作系統(tǒng)。處理隨后在2199中結(jié)束。
圖22是說明將CPU模塊(包含第二CPU)插入計算機系統(tǒng)和沒有插入計算機系統(tǒng)時計算機系統(tǒng)的狀態(tài)的方框圖。計算機系統(tǒng)2210包括BIOS 2245,用于在執(zhí)行操作系統(tǒng)之前執(zhí)行基本輸入/輸出功能,CPU 2250,用于執(zhí)行指令以操作計算機系統(tǒng),非易失性存儲器2255,用于存儲安裝的應用程序和安裝的操作系統(tǒng),用戶設置等等,RAM 2215,用于在計算機系統(tǒng)2210的操作過程中作為臨時存儲器。RAM 2215包括操作系統(tǒng)RAM 2200、設備驅(qū)動程序RAM 2225、I/O配置RAM 2230和應用程序RAM 2235。
此外,計算機系統(tǒng)2210還包括模塊接口2240,用于接收CPU模塊2260。CPU模塊2260包括CPU 2265,在將CPU模塊2240連接到計算機系統(tǒng)2210之后,所述的CPU 2265可以開始與機載CPU 2250并行地執(zhí)行操作系統(tǒng)指令。
在將可移動CPU模塊2260插入到模塊接口2240時,BIOS2245檢測模塊,并通知操作系統(tǒng)存在其他CPU。最初,操作系統(tǒng)只將執(zhí)行指令轉(zhuǎn)移到機載CPU 2250。在插入CPU模塊2260之后,操作系統(tǒng)將一個CPU指定為從屬CPU,將另一個CPU指定為主CPU。然后,操作系統(tǒng)開始將執(zhí)行指令發(fā)送到兩個CPU。如圖所示,CPU 2250被指定為主CPU,模塊上的CPU 2265被指定為從屬CPU。
圖23是說明將可移動CPU模塊插入包含內(nèi)置CPU的計算機系統(tǒng)和從該計算機系統(tǒng)中取出的過程的流程圖。過程從2300開始,在步驟2310中,用戶將可移動CPU模塊插入到具有現(xiàn)有的CPU的計算機系統(tǒng)中。
在步驟2315中,BIOS檢測可移動CPU模塊,并判斷CPU和計算機系統(tǒng)之間的兼容性。圖20中的流程圖提供了有關在步驟2315中進行的處理的比較詳細的信息。
然后,就CPU是否與計算機系統(tǒng)兼容進行判斷。如果判斷此CPU不與計算機系統(tǒng)兼容,則判斷2320轉(zhuǎn)到“否”分支2330,在步驟2345中,通知用戶,此CPU與計算機系統(tǒng)不兼容。過程在2399結(jié)束。
如果判斷CPU與計算機系統(tǒng)兼容,則判斷2320轉(zhuǎn)到“是”分支2325,在步驟2335中,BIOS將第二CPU的存在以及該CPU的屬性通知給操作系統(tǒng)。
在步驟2340中,操作系統(tǒng)訪問CPU,并將操作系統(tǒng)的一部分負載分發(fā)到輔助CPU。圖24中的流程圖提供了有關在步驟2340中進行的處理的比較詳細的信息。隨后,過程在2399結(jié)束。
圖24是說明操作系統(tǒng)訪問第二CPU并將負載的一部分分發(fā)到輔助CPU的過程的流程圖。過程從2400開始,在步驟2410中,操作系統(tǒng)從BIOS接收CPU的屬性,如CPU的訪問地址、CPU的尋址模式,CPU的數(shù)據(jù)傳輸方法等等。然后,在判斷2415處就計算機系統(tǒng)上是否存在對應于當前CPU配置的多個CPU的配置文件進行判斷。如果不存在對應于當前CPU配置的多個CPU配置文件,則判斷2415轉(zhuǎn)到“否”分支2420,過程在步驟2450中繼續(xù)。如果存在對應于當前CPU配置的多個CPU的配置文件,則判斷2415轉(zhuǎn)到“是”分支2425,在步驟2430中,根據(jù)多個CPU配置文件,操作系統(tǒng)將CPU的部分指令分發(fā)到本地CPU,將CPU的部分指令分發(fā)到模塊CPU。
然后,在決定2435處就模塊CPU是否仍存在進行判斷。如果模塊CPU不再存在,則判斷2435轉(zhuǎn)到“否”分支2440,處理隨后在2499中結(jié)束。如果模塊CPU仍存在,則判斷2435轉(zhuǎn)到“是”分支2445,處理回到步驟2430。
在步驟2450中,操作系統(tǒng)判斷將哪一個CPU指定為主CPU,將哪一個CPU指定為從屬CPU。在一個實施例中,根據(jù)CPU功能進行主/從屬CPU的指定。例如,可以將功率最強大的CPU指定為主CPU。
在步驟2455中,操作系統(tǒng)判斷主CPU和從屬CPU之間的CPU指令的分配。此外,基于CPU的功能進行分配判斷。例如,如果存在兩個CPU,兩個CPU在計算能力方面大致相等,操作系統(tǒng)負載可以在兩個CPU之間平均地分配。
可以將不同的CPU之間的確定負載的分配保存到計算機系統(tǒng)上的多個CPU配置文件中。當此CPU配置將來再次存在時,可以由操作系統(tǒng)對此信息進行檢索。隨后處理繼續(xù)到步驟2430,根據(jù)確定了分配,將CPU指令分配給多個CPU。
圖25是說明將操作系統(tǒng)/CPU模塊插入了和沒有插入計算機系統(tǒng)的計算機系統(tǒng)狀態(tài)的方框圖。計算機系統(tǒng)2510包括BIOS2555,用于在執(zhí)行操作系統(tǒng)之前執(zhí)行基本輸入/輸出功能,非易失性存儲器2560,用于存儲安裝的應用程序、用戶設置等等,RAM 2515,用于在計算機系統(tǒng)2510的操作過程中作為臨時存儲器。
此外,計算機系統(tǒng)2510還包括可移動操作系統(tǒng)/CPU模塊接口2565,所述的接口能夠接收可移動操作系統(tǒng)/CPU模塊2540。可移動操作系統(tǒng)/CPU模塊2540在非易失性存儲器包括操作系統(tǒng)運行的映像2550,以及CPU 2550,用于執(zhí)行操作系統(tǒng)指令,以便操作計算機系統(tǒng)2510。
在將可移動操作系統(tǒng)/CPU模塊2540插入到可移動操作系統(tǒng)/CPU模塊接口2565時,BIOS 2555將操作系統(tǒng)運行的映像2550從可移動操作系統(tǒng)/CPU模塊2550的非易失性存儲器加載到RAM2515中(操作系統(tǒng)RAM 2520)并使用模塊CPU 2545啟動操作系統(tǒng)的執(zhí)行。
隨后,操作系統(tǒng)從非易失性存儲器2560加載連接到計算機系統(tǒng)2510的任何外部設備所需的任何設備驅(qū)動程序(設備驅(qū)動程序RAM2525),輸入/輸出配置(I/O配置RAM 2530),以及任何請求的應用程序(應用程序RAM 2535)。
在從計算機系統(tǒng)2510中取出可移動操作系統(tǒng)/CPU模塊2540時,加載過程相反。操作系統(tǒng)的當前狀態(tài)在可移動操作系統(tǒng)/CPU模塊2540上更新,應用程序信息、I/O配置和設備驅(qū)動程序在非易失性存儲器2560上更新。在取出時,可移動操作系統(tǒng)/CPU模塊可以插入另一個兼容的計算機系統(tǒng),以便模塊的操作系統(tǒng)以及CPU現(xiàn)在可以控制和操作其他計算機系統(tǒng)。
圖26是說明將可移動操作系統(tǒng)/CPU模塊插入計算機系統(tǒng)和從計算機系統(tǒng)中取出的過程的流程圖。過程從2600開始,在步驟2610中,用戶將可移動操作系統(tǒng)/CPU模塊插入到用于接收模塊的計算機系統(tǒng)??梢苿硬僮飨到y(tǒng)/CPU模塊包含操作系統(tǒng)的運行的映像,所述的映像存儲在模塊上的非易失性存儲器上,還包含CPU,用于執(zhí)行操作系統(tǒng)指令。
在步驟2612中,計算機系統(tǒng)的BIOS在插入時檢測可移動操作系統(tǒng)/CPU模塊,并確定CPU的屬性。圖27中的流程圖提供了有關在步驟2612中進行的處理的比較詳細的信息。
然后,在判斷2614中就模塊是否與當前計算機系統(tǒng)兼容進行判斷。如果判斷模塊與計算機系統(tǒng)不兼容,則判斷2614轉(zhuǎn)到“否”分支2616,過程在步驟2628繼續(xù)。在步驟2628中,通知用戶,該模塊與當前計算機系統(tǒng)不兼容。
如果判斷模塊兼容,則判斷2614轉(zhuǎn)到“是”分支2618,在步驟2620中,BIOS從模塊中加載操作系統(tǒng),并通知操作系統(tǒng)在模塊上存在CPU并通知CPU的屬性。圖6中的流程圖提供了有關在步驟2620中進行的處理的比較詳細的信息。
在步驟2622中,操作系統(tǒng)發(fā)現(xiàn)連接到此計算機的本地設備。操作系統(tǒng)將在將可移動操作系統(tǒng)/CPU模塊從此計算機系統(tǒng)取出之前包含的設備的列表與當前發(fā)現(xiàn)的設備進行比較,并相應地更新設備的列表。圖7中的流程圖提供了有關在步驟2622中進行的處理的比較詳細的信息。
在步驟2624中,操作系統(tǒng)發(fā)現(xiàn)當用戶正在使用不同的計算機系統(tǒng)時可由計算機系統(tǒng)進行訪問的或可由用戶進行訪問的任何遠程設備。圖8中的流程圖提供了有關在步驟2624中進行的處理的比較詳細的信息。
在步驟2626中,操作系統(tǒng)初始化在將可移動操作系統(tǒng)/CPU模塊從計算機系統(tǒng)中最后一次取出之前休眠或者以別的方式掛起的應用程序。圖9中的流程圖提供了有關在步驟2626中進行的處理的比較詳細的信息。
在步驟2630中,操作系統(tǒng)對計算機系統(tǒng)進行管理。操作系統(tǒng)執(zhí)行由用戶或由執(zhí)行應用程序所請求的任務。圖10中的流程圖提供了有關在步驟2630中進行的處理的比較詳細的信息。
然后,在判斷2632就用戶是否請求取出可移動操作系統(tǒng)/CPU模塊進行判斷。如果用戶還沒有請求取出可移動操作系統(tǒng)/CPU模塊,判斷2632轉(zhuǎn)到“否”分支2634,并返回到步驟2630,在此操作系統(tǒng)繼續(xù)執(zhí)行請求的任務。
如果用戶請求取出可移動操作系統(tǒng)/CPU模塊,判斷2632轉(zhuǎn)到“是”分支2636,過程在步驟2638繼續(xù),操作系統(tǒng)的狀態(tài)保存在可移動操作系統(tǒng)模塊上。圖11中的流程圖提供了有關在步驟2638中進行的處理的比較詳細的信息。
在步驟2640中,在取出可移動操作系統(tǒng)/CPU模塊的所有準備工作都已經(jīng)執(zhí)行之后,將通知用戶,“可以安全地取出模塊”,在步驟2642中,用戶取出可移動操作系統(tǒng)模塊。過程在2699結(jié)束。
圖27是說明BIOS檢測可移動操作系統(tǒng)/CPU模塊并判斷模塊上的操作系統(tǒng)和CPU和計算機系統(tǒng)之間的兼容性的過程的流程圖。過程從2700開始,在步驟2710中,BIOS檢測插入的操作系統(tǒng)/CPU模塊。
然后,就以前是否將可移動操作系統(tǒng)/CPU模塊插入到此計算機系統(tǒng)進行判斷。如果以前沒有將可移動操作系統(tǒng)/CPU模塊插入到此計算機,則判斷2715轉(zhuǎn)到“否”分支2720,過程在步驟2730處繼續(xù)。如果以前已經(jīng)將可移動操作系統(tǒng)/CPU模塊插入到此計算機,則判斷2715轉(zhuǎn)到“是”分支2725,在判斷2726處就計算機系統(tǒng)上的非易失性存儲器上是否存在包含操作系統(tǒng)/CPU信息的文件進行判斷。如果計算機系統(tǒng)上存在包含CPU信息的文件,則判斷2726轉(zhuǎn)到“是”分支2728,在步驟2730中,加載包含CPU信息的文件,CPU信息包括CPU的訪問地址、CPU的尋址模式,以及CPU的數(shù)據(jù)傳輸方法等等。
如果計算機系統(tǒng)上不存在包含CPU信息的文件,則判斷2726轉(zhuǎn)到“否”分支2729,在步驟2740中,對CPU進行查詢,以便確定CPU的訪問地址、CPU的尋址模式、CPU的數(shù)據(jù)傳輸模式等等。在步驟2745中,判斷操作系統(tǒng)與計算機系統(tǒng)的兼容性。處理隨后在2799中結(jié)束。
圖28是說明將設備連接到計算機系統(tǒng)并將設備驅(qū)動程序從設備上的非易失性存儲器傳輸?shù)接嬎銠C系統(tǒng)的方框圖。
計算機系統(tǒng)2810包括CPU 2815,用于控制計算機系統(tǒng)2810,連接到CPU 2615的存儲單元2620,用于存儲數(shù)據(jù),也連接到CPU2815的通信接 2825,用于將計算機系統(tǒng)連接到其他外部設備。
設備2830包括處理器2845,用于控制設備2630,連接到處理器2845的通信接口2840,用于將設備2830連接到其他設備,也連接到處理器2845的非易失性存儲器2835,用于存儲數(shù)據(jù)。
設備2830是外部設備,如用于通過設備2830上的通信接口2840和計算機系統(tǒng)2810上的通信接口2825連接到計算機系統(tǒng)2610的打印機。為便于進行通信,必須首先在計算機系統(tǒng)上安裝設備驅(qū)動程序。通常,通過軟盤、CD-ROM、計算機系統(tǒng)所連接的網(wǎng)絡向計算機系統(tǒng)提供設備驅(qū)動程序。如果設備驅(qū)動程序不可用,設備驅(qū)動程序?qū)⒉黄鹱饔?。設備2830可以將設備驅(qū)動程序2850存儲在非易失性存儲器2835中,在將設備2830連接到計算機系統(tǒng)2810時,可以向計算機系統(tǒng)2810提供設備驅(qū)動程序2850。如果在計算機系統(tǒng)2810上有更新的設備驅(qū)動程序可用,則可以將更新的設備驅(qū)動程序從計算機系統(tǒng)2810傳輸?shù)皆O備2830以替換設備驅(qū)動程序2850。
圖29是說明將設備連接到計算機系統(tǒng)并將設備驅(qū)動程序從設備上的非易失性存儲器傳輸?shù)接嬎銠C系統(tǒng)的過程的流程圖。過程從2900開始,在步驟2910中,新設備連接到計算機系統(tǒng)。設備使用必須安裝在計算機系統(tǒng)上的設備驅(qū)動程序與計算機系統(tǒng)進行通信。在步驟2915中,計算機系統(tǒng)檢測新設備。在一個實施例中,在設備和計算機系統(tǒng)之間建立即插即用類型的通信。
然后,就設備是否可以從設備上的固件提供設備驅(qū)動程序進行判斷。如果設備不能提供適當?shù)脑O備驅(qū)動程序,則判斷2920轉(zhuǎn)到“是”分支2930,在步驟2935中,計算機系統(tǒng)發(fā)送一個對新設備的設備驅(qū)動程序的請求,并從設備接收該新設備的設備驅(qū)動程序。可以使用標準化的設備驅(qū)動程序通信協(xié)議來從設備接收設備驅(qū)動程序。然后過程在步驟2945處繼續(xù)。
如果設備不能提供設備驅(qū)動程序,則判斷2920轉(zhuǎn)到“否”分支2925,在步驟2940中,計算機系統(tǒng)搜索本地存儲設備和/或計算機系統(tǒng)所連接到的網(wǎng)絡,以獲取所連接的設備的兼容設備驅(qū)動程序。
在步驟2945中,新設備由操作系統(tǒng)進行注冊。有關設備的信息將添加到系統(tǒng)注冊表中,以便操作系統(tǒng)有一個設備的存在以及設備的適當?shù)脑O備驅(qū)動程序的記錄。在步驟2950中,有關設備和設備驅(qū)動程序的信息被添加到本地設備驅(qū)動程序配置文件中。當重新啟動或恢復計算機系統(tǒng)以獲取在計算機系統(tǒng)最后一次關閉/休眠之前或在取出操作系統(tǒng)模塊時連接到計算機系統(tǒng)的設備的列表時,可以使用設備驅(qū)動程序配置文件。在步驟2955中,計算機系統(tǒng)使用安裝的設備驅(qū)動程序與新設備建立通信。
圖30是說明以諸如計算機系統(tǒng)的XML之類的可移植語言與遠程設備驅(qū)動程序注冊表服務器進行通信以獲取有關存儲在服務器上的設備的設備驅(qū)動程序的信息的方框圖。
計算機系統(tǒng)3010連接到也連接了遠程設備驅(qū)動程序注冊表服務器3015、照片打印機3020以及高分辨率掃描儀3025的計算機網(wǎng)絡3030。為了在計算機系統(tǒng)3016、照片打印機3020,以及高分辨率掃描儀3025之間建立連接,計算機系統(tǒng)3010首先要與遠程設備驅(qū)動程序注冊表服務器3015建立通信。計算機系統(tǒng)3010使用諸如XML(一種人所共知的語言)之類的可移植語言與遠程設備驅(qū)動程序注冊表服務器3015建立通信。遠程設備驅(qū)動程序注冊表服務器3015存儲了設備驅(qū)動程序及其他信息,以促進計算機系統(tǒng)3010、照片打印機3020和高分辨率掃描儀3025之間的通信。
在一個實施例中,遠程設備驅(qū)動程序注冊表服務器3015包含表3055和表3050。表3050包含有關可用的設備的信息。例如,對于每一個設備,表3055可以包含從中可以下載驅(qū)動程序的網(wǎng)絡位置,設備的接口定義、與設備的使用關聯(lián)的費用,以及聯(lián)系網(wǎng)絡地址。表3050可以包含,對于每一個用戶,用戶的用戶名、用戶的密碼、用戶是否可以訪問第一臺設備,用戶是否可以訪問第二臺設備等等。
在與遠程設備驅(qū)動程序注冊表服務器3015建立通信之后,計算機系統(tǒng)接收有關適當?shù)脑O備的信息。然后,計算機系統(tǒng)與諸如照片打印機3020或高分辨率掃描儀3025之類的設備建立通信。
圖31是說明計算機系統(tǒng)以諸如XML之類的可移植語言與遠程設備驅(qū)動程序注冊表服務器進行通信以獲取有關存儲在服務器上的設備的設備驅(qū)動程序的信息的流程圖。過程從3100開始,在步驟3110中,用戶請求連接到遠程服務或諸如用于高質(zhì)量打印的照片打印機之類的設備。
在步驟3115中,使用諸如XML之類的可移植語言將對服務或設備的請求發(fā)送到遠程設備驅(qū)動程序注冊表服務器。遠程設備驅(qū)動程序注冊表服務器可以為請求服務或設備的用戶提供驗證,并提供有關設備驅(qū)動程序和設備的信息。遠程設備驅(qū)動程序注冊表服務器可以提供諸如驅(qū)動程序的位置、用于與服務或設備進行通信的接口定義、為使用設備而收取的適當?shù)馁M用,在發(fā)生問題的情況下的聯(lián)系地址等等。
在步驟3120中,遠程設備驅(qū)動程序注冊表服務器請求用戶提供用戶名和密碼,以便遠程設備驅(qū)動程序注冊表服務器確定那些服務或驅(qū)動程序可由用戶進行訪問。然后,在判斷3125處就用戶是否權限訪問請求的服務或設備進行判斷。遠程設備驅(qū)動程序注冊表服務器通過比較輸入的用戶名和密碼與遠程設備驅(qū)動程序注冊表服務器上維護的用戶名和密碼和訪問權限的表來確定權限。如果用戶沒有權限訪問請求的設備或服務,則判斷3125轉(zhuǎn)到“否”分支3130,過程在步驟3145處繼續(xù)。在步驟3145中,將通知用戶,訪問請求的設備或服務的權限被拒絕。
如果用戶具有訪問請求的服務或設備的權限,則判斷3125轉(zhuǎn)到到“是”分支3135,在步驟3140中,計算機系統(tǒng)與所選擇的服務或設備建立通信。圖32中的流程圖提供了有關的步驟3140中進行的處理的比較詳細的信息。處理隨后在3199中結(jié)束。
圖32是說明在計算機系統(tǒng)和遠程服務/設備之間建立通信的過程的流程圖。過程從3200開始,在步驟3210中,遠程設備驅(qū)動程序注冊表服務器將所選擇的設備驅(qū)動程序的屬性發(fā)送到發(fā)出請求的計算機系統(tǒng)。遠程設備驅(qū)動程序注冊表服務器和計算機系統(tǒng)之間的通信是以諸如XML之類的可移植語言進行的。在步驟3215中,遠程設備驅(qū)動程序注冊表服務器將與設備驅(qū)動程序進行通信所需的接口傳輸?shù)桨l(fā)出請求的計算機系統(tǒng)。遠程設備驅(qū)動程序注冊表服務器和計算機系統(tǒng)之間的通信是以諸如XML之類的可移植語言進行的。
在步驟3220中,發(fā)出請求的計算機系統(tǒng)將接收到的與設備驅(qū)動程序關聯(lián)的信息保存到設備驅(qū)動程序配置文件中,以供以后檢索。在步驟3230中,發(fā)出請求的計算機系統(tǒng)使用由遠程設備驅(qū)動程序注冊表服務器向發(fā)出請求的計算機系統(tǒng)提供的接口及其他信息來對設備進行訪問。處理隨后在3299中結(jié)束。
圖33是說明包含用于防止對設備進行未授權訪問的安全設備的可移動操作系統(tǒng)模塊的方框圖??梢苿幽K3310可以包含模塊CPU 3315、操作系統(tǒng)的運行的映像3330、和/或模塊應用程序3335。
此外,可移動模塊3310還包含用于鎖定和保護可移動模塊以防止對可移動模塊的未授權使用的裝置??梢苿幽K3310包括安全數(shù)據(jù)3340,所述的安全數(shù)據(jù)與視網(wǎng)膜掃描儀3345、指紋掃描儀3350和/或小鍵盤3355相結(jié)合提供驗證。視網(wǎng)膜掃描儀3345對用戶的視網(wǎng)膜進行掃描,并將掃描所得的圖像與安全數(shù)據(jù)3340中存儲的圖像進行比較,以確定用戶是否被授權使用可移動模塊3310。指紋掃描儀3350對用戶的指紋進行掃描,并將掃描所得的圖像與安全數(shù)據(jù)3340中存儲的圖像進行比較,以確定用戶是否被授權使用可移動模塊3310。小鍵盤3355提供了讓用戶輸入密碼的裝置,然后,將所述的密碼與安全數(shù)據(jù)3340中存儲的密碼進行比較,以確定用戶是否被授權使用可移動模塊3310。
可移動模塊3310還包含鎖定/解鎖指示器3325。鎖定/解鎖指示器3325可以包括紅色LED,表示模塊被鎖定,綠色LED,表示模塊被解鎖。
在可移動模塊3310被解鎖的任何時間,都可以使用鎖定按鈕3320來將可移動模塊3310鎖定。在另一個實施例中,可移動模塊3310可以在從計算機系統(tǒng)中取出時或在不活動一段時間之后或按照時間表自動鎖定。
圖34是說明使用模塊上的安全設備防止對可移動操作系統(tǒng)模塊進行未授權訪問的過程的流程圖。過程從3400開始,在步驟3410中,用戶從計算機系統(tǒng)中取出可移動模塊。
在判斷3415處就模塊是否被設置為在從計算機系統(tǒng)中取出時自動鎖定進行判斷。如果模塊被設置為在從計算機系統(tǒng)中取出時自動鎖定,則判斷3415轉(zhuǎn)到“是”分支3435,在步驟3440中,模塊自動鎖定。然后過程在步驟3445處繼續(xù)。如果模塊沒有被設置為在從計算機系統(tǒng)中取出時自動鎖定,則判斷3415轉(zhuǎn)到“否”分支3420,在判斷3425處就是否按下模塊上的鎖定按鈕進行判斷。如果按下鎖定按鈕,則判斷3425轉(zhuǎn)到“是”分支3430,過程在步驟3445處繼續(xù)。如果按下了鎖定按鈕,則判斷3425轉(zhuǎn)到“否”分支3475,在步驟3480中,模塊仍保持解鎖狀態(tài),可操作,并準備好重新插入到計算機系統(tǒng)中。
在步驟3445中,模塊被鎖定,因此不能操作,沒有準備好插入到計算機系統(tǒng)中。為了能再次使用,模塊必須首先解鎖。模塊上的指示器表示模塊被鎖定。
然后,在判斷3450中就用戶是否嘗試將模塊解鎖進行判斷。如果用戶沒有嘗試將模塊解鎖,則判斷3450轉(zhuǎn)到“否”分支3452,過程返回到3445,以便讓模塊再次判斷用戶是否正在嘗試將模塊解鎖。如果用戶正在嘗試將模塊解鎖,則判斷3450轉(zhuǎn)到“是”分支3454,在步驟3455中,模塊執(zhí)行用戶身份證驗證過程,以判斷正在嘗試將模塊解鎖的用戶是否具有執(zhí)行此項操作的權限。圖35、36&37中的流程圖提供了有關的步驟3455中進行的處理的比較詳細的信息。
在判斷3460中就用戶是否已經(jīng)經(jīng)過身份驗證進行判斷。如果用戶沒有經(jīng)過身份驗證,則判斷3460轉(zhuǎn)到“否”分支3465,過程返回到步驟3455以等待用戶再次嘗試將模塊解鎖。如果用戶已經(jīng)經(jīng)過身份驗證,判斷3460轉(zhuǎn)到“是”分支3470,在步驟3480中,模塊被解鎖、可操作并準備好插入到計算機系統(tǒng)中。處理隨后在3499中結(jié)束。
圖35是說明使用模塊上的指紋掃描儀3510保護可移動操作系統(tǒng)模塊的安全的過程的流程圖。過程從3500開始,在步驟3510中,模塊等待在指紋掃描儀上出現(xiàn)手指。位于模塊上的指紋掃描儀是可操作的安全設備,用于掃描人的指紋,以便完成識別和授權用途。
然后,在判斷3515處就在掃描儀上是否存在手指進行判斷。如果掃描儀上不存在手指,則判斷3515轉(zhuǎn)到“否”分支3520,過程返回到步驟3510,模塊繼續(xù)等待指紋掃描儀上出現(xiàn)手指。
如果掃描儀上出現(xiàn)手指,則判斷3515轉(zhuǎn)到“是”分支3525,在步驟3530中,激活指紋掃描儀,并捕獲手指上的指紋的圖像。在步驟3535中,訪問模塊上的經(jīng)過身份驗證的指紋圖像的數(shù)據(jù)庫。存儲在模塊上的數(shù)據(jù)庫包含經(jīng)過身份驗證可以使用模塊的用戶的指紋的圖像。
然后就是否存在更多沒有與掃描的圖像進行比較的指紋圖像進行判斷。如果不存在更多沒有比較的指紋圖像,判斷3540轉(zhuǎn)到“否”分支3550,在步驟3560中,判斷用戶還沒有經(jīng)過身份驗證。然后過程在3599處結(jié)束。
如果存在更多沒有比較的指紋圖像,則判斷3450轉(zhuǎn)到“是”分支3455,在步驟3555中,從數(shù)據(jù)庫中加載下一個指紋圖像并與掃描的圖像進行比較。
然后在判斷3565中就數(shù)據(jù)庫中的指紋圖像是否匹配掃描的圖像進行判斷。如果圖像不匹配,則判斷3565轉(zhuǎn)到“否”分支3570,過程返回到步驟3535,以判斷數(shù)據(jù)庫中是否有更多需要進行比較的圖像。如果圖像匹配,則判斷3565轉(zhuǎn)到“是”分支3575,在步驟3580中,指出用戶已經(jīng)經(jīng)過身份驗證,現(xiàn)在可以插入模塊并可以在兼容的計算機系統(tǒng)中使用。過程在3599處結(jié)束。
圖36是說明使用模塊上的眼睛視網(wǎng)膜掃描儀保護可移動操作系統(tǒng)模塊的安全的過程的流程圖。過程從3600開始,在步驟3610中,模塊等待在視網(wǎng)膜掃描儀的前面出現(xiàn)眼睛。位于模塊上的視網(wǎng)膜掃描儀是可操作的安全設備,用于掃描人的視網(wǎng)膜,以便完成識別和授權用途。
然后,在判斷3615處就掃描儀的前面是否出現(xiàn)視網(wǎng)膜進行判斷。如果掃描儀上不存在視網(wǎng)膜,則判斷3615轉(zhuǎn)到“否”分支3620,過程返回到步驟3610,模塊繼續(xù)等待在視網(wǎng)膜掃描儀的前面出現(xiàn)視網(wǎng)膜。
如果掃描儀上出現(xiàn)視網(wǎng)膜,則判斷3615轉(zhuǎn)到“是”分支3625,在步驟3530中,激活視網(wǎng)膜掃描儀,并捕獲視網(wǎng)膜的圖像。在步驟3635中,訪問模塊上的經(jīng)過身份驗證的視網(wǎng)膜圖像的數(shù)據(jù)庫。存儲在模塊上的數(shù)據(jù)庫包含經(jīng)過身份驗證可以使用模塊的用戶的視網(wǎng)膜圖像。
然后就是否存在更多沒有與掃描的圖像進行比較的視網(wǎng)膜圖像進行判斷。如果不存在更多沒有比較的視網(wǎng)膜圖像,判斷3640轉(zhuǎn)到“否”分支3650,在步驟3660中,判斷用戶還沒有經(jīng)過身份驗證。然后過程在3699處結(jié)束。
如果存在更多沒有比較的視網(wǎng)膜圖像,則判斷3650轉(zhuǎn)到“是”分支3655,在步驟3655中,從數(shù)據(jù)庫中加載下一個視網(wǎng)膜圖像并與掃描的圖像進行比較。
然后在判斷3665中就數(shù)據(jù)庫中的視網(wǎng)膜圖像是否匹配掃描的圖像進行判斷。如果圖像不匹配,則判斷3665轉(zhuǎn)到“否”分支3670,過程返回到步驟3535,以判斷數(shù)據(jù)庫中是否有更多需要進行比較的圖像。如果圖像匹配,則判斷3665轉(zhuǎn)到“是”分支3675,在步驟3680中,指出用戶已經(jīng)經(jīng)過身份驗證,現(xiàn)在可以插入模塊并可以在兼容的計算機系統(tǒng)中使用。過程在3699處結(jié)束。
圖37是說明使用模塊上的鍵盤輸入密碼來保護可移動操作系統(tǒng)模塊的安全的過程的流程圖。過程從3700開始,在步驟3710中,模塊等待在鍵盤上輸入密碼。
然后,在判斷3715處就是否已經(jīng)輸入密碼進行判斷。如果沒有輸入密碼,則判斷3715轉(zhuǎn)到“否”分支3720,過程返回到步驟3710,模塊繼續(xù)等待密碼。
如果已經(jīng)輸入密碼,則判斷3715轉(zhuǎn)到“是”分支3725,在步驟3730中,接收輸入的密碼。在步驟3735中,訪問模塊上的經(jīng)過身份驗證的密碼的數(shù)據(jù)庫。存儲在模塊上的數(shù)據(jù)庫包含經(jīng)過身份驗證可以使用模塊的用戶的密碼。
然后就是否存在更多沒有與輸入的密碼進行比較的密碼進行判斷。如果不存在更多沒有比較的密碼,判斷3740轉(zhuǎn)到“否”分支3750,在步驟3760中,判斷用戶還沒有經(jīng)過身份驗證。然后過程在3799處結(jié)束。
如果存在更多沒有比較的密碼,則判斷3450轉(zhuǎn)到“是”分支3455,在步驟3755中,從數(shù)據(jù)庫中加載下一個密碼并與輸入的密碼進行比較。
然后在判斷3765中就數(shù)據(jù)庫中的密碼是否匹配輸入的密碼進行判斷。如果密碼不匹配,則判斷3765轉(zhuǎn)到“否”分支3770,過程返回到步驟3735,以判斷數(shù)據(jù)庫中是否有更多需要進行比較的密碼。如果密碼匹配,則判斷3765轉(zhuǎn)到“是”分支3775,在步驟3780中,指出用戶已經(jīng)經(jīng)過身份驗證,現(xiàn)在可以插入模塊并可以在兼容的計算機系統(tǒng)中使用。過程在3799處結(jié)束。
圖36是說明使用由用戶通過計算機系統(tǒng)提供的安全數(shù)據(jù)防止對可移動操作系統(tǒng)模塊進行未授權訪問的過程的流程圖。過程從3800開始,在步驟3610中,用戶將可移動模塊插入到計算機系統(tǒng)中。在步驟3810中,BIOS檢測可移動模塊,并判斷模塊和計算機系統(tǒng)是否兼容。
然后在判斷3814處就模塊是否被安全鎖定進行判斷。如果模塊沒有被安全鎖定,則判斷3814轉(zhuǎn)到“否”分支3818,過程在步驟3848處繼續(xù)。如果模塊被安全鎖定,則判斷3814轉(zhuǎn)到“是”分支3816,提示用戶提供安全數(shù)據(jù),以便將模塊解鎖。安全數(shù)據(jù)可以是密碼、指紋掃描、視網(wǎng)膜掃描等等。
然后,在判斷3828處就是否已經(jīng)提供安全數(shù)據(jù)進行判斷。如果沒有提供安全數(shù)據(jù),則判斷3824轉(zhuǎn)到“否”分支3828,過程返回到步驟3822,在此,系統(tǒng)等待用戶提供安全數(shù)據(jù)。
如果提供了安全數(shù)據(jù),則判斷3824轉(zhuǎn)到“是”分支3836,在步驟3830中,由系統(tǒng)接收用戶輸入的安全數(shù)據(jù)。在步驟3832中,訪問模塊上的經(jīng)過身份驗證的安全數(shù)據(jù)的數(shù)據(jù)庫。存儲在模塊上的經(jīng)過身份驗證的安全數(shù)據(jù)可以是密碼、指紋掃描、視網(wǎng)膜掃描等等。
圖39是說明可移動模塊的制造/編程的方框圖。制造型計算機系統(tǒng)3910包括CPU 3920、RAM 3925和非易失性存儲器3915。非易失性存儲器3915包括將要安裝在可移動模塊上的操作系統(tǒng)的主副本。
制造型計算機系統(tǒng)3910還包括用于將來自可移動模塊層疊3947中的可移動模塊3930、3935、3940,...和3945連接到計算機系統(tǒng)3910的接口。在將操作系統(tǒng)安裝在計算機系統(tǒng)3910之后,操作系統(tǒng)的運行的映像從RAM 3925傳輸?shù)娇梢苿幽K3930、3935、3940,...,和3945中的每一個可移動模塊。
在操作系統(tǒng)安裝在可移動模塊3930、3935、3940,...,和3945之后,可移動模塊從計算機取出,并準備好進行分發(fā)。
圖40是說明操作系統(tǒng)模塊的制造和編程的過程的流程圖。過程從4000開始,在步驟4010中,操作系統(tǒng)安裝在制造型計算機系統(tǒng)中。安裝在計算機系統(tǒng)上的操作系統(tǒng)是將要安裝在可移動操作系統(tǒng)模塊上的操作系統(tǒng)。在步驟4015中,執(zhí)行操作系統(tǒng)以獲取存儲器中的操作系統(tǒng)的運行的映像。安裝的操作系統(tǒng)將傳輸?shù)娇梢苿硬僮飨到y(tǒng)模塊,執(zhí)行的操作系統(tǒng)將用于獲取狀態(tài)信息、恢復點和重新啟動點等等。
在步驟4020中,可移動操作系統(tǒng)模塊的制造過程開始。獲取一個主板,上面具有用于將不同的組件互相連接的總線、用于安裝連接到總線的BIOS的接口、用于安裝連接到總線的處理器的接口、用于安裝連接到總線的非易失性存儲器的接口,以及連接到總線的通信接口,用于連接到計算機系統(tǒng)上的模塊接口。
在步驟4030中,將BIOS安裝在主板上的BIOS接口。BIOS負責在模塊和計算機系統(tǒng)上的模塊接口之間建立初始通信。在步驟4035中,將處理器安裝到主板上的處理器接口。處理器控制可移動操作系統(tǒng)模塊的運行,如從可移動操作系統(tǒng)模塊到計算機系統(tǒng)的通信以及可移動操作系統(tǒng)模塊內(nèi)的各個組件之間的通信。在步驟4040中,將非易失性存儲器安裝到主板上的非易失性存儲器接口。一般來說,非易失性存儲器用于存儲數(shù)據(jù),以及存儲可移動操作系統(tǒng)模塊上存儲的操作系統(tǒng)的運行的映像。
然后,在判斷4045中就用戶是否將要制造更多模塊進行判斷。如果將要制造更多模塊,則判斷4045轉(zhuǎn)到“是”分支4050,過程返回到步驟4020,在此,另一個可移動操作系統(tǒng)模塊的制造過程開始。如果不再需要制造可移動操作系統(tǒng)模塊,則判斷4045轉(zhuǎn)到“否”分支4055,在步驟4060中,將制造的可移動操作系統(tǒng)模塊集插入到制造型計算機系統(tǒng)中。制造型計算機系統(tǒng)可以具有許多接口,用于連接到可移動操作系統(tǒng)模塊,以促進將操作系統(tǒng)同時加載到多個可移動操作系統(tǒng)模塊上。
在步驟4070中,在制造型計算機系統(tǒng)上運行的操作系統(tǒng)的運行的映像加載到連接到制造型計算機系統(tǒng)上的可移動操作系統(tǒng)模塊上。操作系統(tǒng)被傳輸?shù)娇梢苿硬僮飨到y(tǒng)模塊的非易失性存儲器中。
然后,在判斷4080處就是否存在更多需要加載操作系統(tǒng)的模塊進行判斷。如果存在更多需要加載操作系統(tǒng)的可移動操作系統(tǒng)模塊,則判斷4080轉(zhuǎn)到“是”分支4085,過程返回到步驟4060,在此,將另一個可移動操作系統(tǒng)模塊集插入到制造型計算機系統(tǒng)中。如果沒有更多需要加載操作系統(tǒng)的可移動操作系統(tǒng)模塊,則判斷4080轉(zhuǎn)到“否”分支4090,過程在4099處結(jié)束。
圖41是說明用戶使用運行的操作系統(tǒng)安裝文件對操作系統(tǒng)模塊進行編程的過程的流程圖。過程從4100開始,在步驟4110中,用戶啟動計算機系統(tǒng)。在步驟4115中,用戶使用計算機系統(tǒng)連接到操作系統(tǒng)的制造商的網(wǎng)站。在該網(wǎng)站,用戶請求購買并下載文件,以便將操作系統(tǒng)安裝在可移動操作系統(tǒng)模塊上。
在步驟4120中,用戶導航到購買網(wǎng)頁,在此,用戶使用信用卡購買操作系統(tǒng)。在步驟4125中,用戶以可安裝的映像的形式下載并接收所購買的操作系統(tǒng)。
然后,在判斷4130處就計算機系統(tǒng)是否包括用于將可移動操作系統(tǒng)模塊連接到計算機系統(tǒng)的可移動操作系統(tǒng)模塊接口進行判斷。如果計算機系統(tǒng)不包括可移動操作系統(tǒng)模塊接口,則判斷4130轉(zhuǎn)到“否”分支4134,在步驟4140中,將可移動操作系統(tǒng)模塊接口連接到計算機系統(tǒng)中。然后過程在步驟4150處繼續(xù)。
如果計算機系統(tǒng)包括可移動操作系統(tǒng)模塊接口,則判斷4130轉(zhuǎn)到“是”分支4150,在步驟4150中,將可移動操作系統(tǒng)模塊插入到可移動操作系統(tǒng)模塊接口中。在步驟4160中,由計算機系統(tǒng)檢測并安裝插入的可移動操作系統(tǒng)模塊。
在步驟4170中,用戶執(zhí)行下載的操作系統(tǒng)可執(zhí)行程序,以開始安裝購買的操作系統(tǒng)。當出現(xiàn)提示時,用戶選擇可移動操作系統(tǒng)模塊作為安裝購買的操作系統(tǒng)的位置。在安裝完成之后,在步驟4180中,用戶重新啟動計算機系統(tǒng),選擇使用新安裝的操作系統(tǒng)映像重新啟動計算機系統(tǒng)。安裝的操作系統(tǒng)映像可以是運行的映像。
在步驟4185中,用戶執(zhí)行可移動操作系統(tǒng)模塊取出應用程序,以便將操作系統(tǒng)和執(zhí)行應用程序的狀態(tài)保存在可移動操作系統(tǒng)模塊的非易失性存儲器中,然后從可移動操作系統(tǒng)模塊接口取出可移動操作系統(tǒng)模塊。過程在4199處結(jié)束。
圖42是說明用戶使用運行的操作系統(tǒng)更新安裝文件對操作系統(tǒng)模塊進行更新的過程的流程圖。過程從4200開始,在步驟4210中,用戶將可移動操作系統(tǒng)模塊插入到計算機系統(tǒng)中,所述的計算機系統(tǒng)具有可移動操作系統(tǒng)模塊接口,用于接收可移動操作系統(tǒng)模塊。在步驟4215中,由計算機系統(tǒng)的BIOS檢測可移動操作系統(tǒng)模塊,并從可移動操作系統(tǒng)模塊的非易失性存儲器加載操作系統(tǒng)。
在步驟4220中,用戶連接到操作系統(tǒng)的制造商的網(wǎng)站,并請求對操作系統(tǒng)的更新。然后,在判斷4225中就更新是否為免費提供進行判斷。如果更新不是免費提供,則判斷4225轉(zhuǎn)到“否”分支4230,在步驟4255中,用戶使用信用卡購買更新。過程在步驟4240處繼續(xù)。
如果更新將免費提供,則判斷4225轉(zhuǎn)到“是”分支4240,在步驟4240中,用戶從操作系統(tǒng)的制造商的網(wǎng)站下載并接收購買的操作系統(tǒng)更新可執(zhí)行程序。在步驟4245中,用戶執(zhí)行下載的操作系統(tǒng)更新,并在步驟4250中,可移動操作系統(tǒng)模塊上的操作系統(tǒng)被更新。
在步驟4260中,計算機重新啟動,在步驟4265中,從可移動操作系統(tǒng)模塊中加載更新的操作系統(tǒng),以其更新的形式,準備好供用戶使用。過程在4299處結(jié)束。
圖43是說明具有模塊接口的個人計算機的方框圖。
計算機系統(tǒng)4310最初包括BIOS 4325、非易失性存儲器4320、存儲器4315,以及其他設備4330,所述的其他設備4330包含該設備的設備驅(qū)動程序4335。
模塊接口4350還連接到計算機系統(tǒng),以便能夠?qū)⒖梢苿幽K連接到計算機系統(tǒng)4350。
圖44是說明制造具有模塊接口的個人計算機和連接到模塊接口具有不同配置選項的模塊的過程。過程從4400開始,在步驟4410中,計算機系統(tǒng)的制造過程開始。
在步驟4415中,獲取一個主板,上面具有用于將各種組件互相連接的總線、用于安裝連接到總線的BIOS的接口、用于安裝連接到總線的CPU的接口、用于安裝連接到總線的RAM單元的接口,用于連接已經(jīng)連接到總線的非易失性存儲器的接口,以及用于連接也連接到總線的其他設備的接口。
在步驟4420中,將BIOS安裝在主板上的BIOS接口。BIOS可使計算機系統(tǒng)在加載操作系統(tǒng)之前執(zhí)行基本輸入/輸出,然后加載操作系統(tǒng)。在步驟4425中,將RAM單元連接到主板上的RAM單元接口。RAM單元當計算機系統(tǒng)正在運行時充當臨時快速存儲器。在步驟4430中,將非易失性存儲器連接到主板上的非易失性存儲器接口。非易失性存儲器充當永久存儲器,用于安裝操作系統(tǒng)、應用程序等等。
在步驟4435中,將模塊接口連接到計算機系統(tǒng)的總線中。模塊接口用于接收可移動模塊,并將可移動模塊通過總線連接到計算機系統(tǒng)。
在步驟4440中,獲取一個模塊,所述的模塊具有非易失性存儲器,并用于接收模塊化CPU、和/或存儲在非易失性存儲器中的模塊化應用程序,和/或也存儲在非易失性存儲器中的一個或多個模塊化操作系統(tǒng)。模塊用于通過將模塊連接到計算機系統(tǒng)的模塊接口來連接到計算機系統(tǒng)。
在步驟4445中,將一個或多個操作系統(tǒng)安裝在計算機系統(tǒng)和/或可移動模塊上。圖45中的流程圖比較詳細地描述了在步驟4445中進行的處理。
在步驟4460中,將一個或多個應用程序安裝在計算機系統(tǒng)和/或可移動模塊上。圖46中的流程圖比較詳細地描述了在步驟4460中進行的處理。
在步驟4465中,將一個或多個CPU安裝在計算機系統(tǒng)和/或可移動模塊上。圖47中的流程圖比較詳細地描述了在步驟4465中進行的處理。過程在4499處結(jié)束。
圖45是說明在計算機系統(tǒng)和/或模塊上安裝操作系統(tǒng)的過程的流程圖。過程從4510開始,然后在判斷4510處就是否將在計算機系統(tǒng)上或在可移動模塊上安裝更多操作系統(tǒng)進行判斷。如果沒有更多需要安裝的操作系統(tǒng),則判斷4510轉(zhuǎn)到“否”分支4520,過程在4599結(jié)束。
如果有更多操作系統(tǒng)要安裝,則判斷4510轉(zhuǎn)到“是”分支4515,在判斷4525處就是否要在可移動模塊的非易失性存儲器上和計算機系統(tǒng)的非易失性存儲器上都安裝下一個操作系統(tǒng)進行判斷。如果將要在可移動模塊的非易失性存儲器和計算機系統(tǒng)的非易失性存儲器上都安裝操作系統(tǒng),則判斷4525轉(zhuǎn)到“是”分支4530,在步驟4570中,將操作系統(tǒng)安裝在計算機系統(tǒng)的主板上的非易失性存儲器上。在步驟4575中,將操作系統(tǒng)的運行的映像安裝在模塊上的非易失性存儲器上。然后,過程返回到判斷4510,以判斷是否有更多操作系統(tǒng)需要安裝。
如果可移動模塊的非易失性存儲器和計算機系統(tǒng)的非易失性存儲器上不都安裝操作系統(tǒng),則判斷4525轉(zhuǎn)到“否”分支4535,在判斷4540中,就是否要將操作系統(tǒng)安裝在計算機系統(tǒng)的主板上的非易失性存儲器上進行判斷。如果操作系統(tǒng)將要安裝在計算機系統(tǒng)的主板上的非易失性存儲器上,則判斷4545轉(zhuǎn)到“是”分支4545,在步驟4580中,將操作系統(tǒng)安裝在計算機系統(tǒng)的非易失性存儲器上。
如果可移動模塊的非易失性存儲器和計算機系統(tǒng)的非易失性存儲器上不都安裝操作系統(tǒng),則判斷4545轉(zhuǎn)到“否”分支4535,在判斷4540中,就是否要將操作系統(tǒng)安裝在可移動模塊的非易失性存儲器上進行判斷。如果操作系統(tǒng)將要安裝在模塊的非易失性存儲器上,則判斷4545轉(zhuǎn)到“是”分支4560,在步驟4585中,將操作系統(tǒng)的運行的映像安裝在可移動模塊的非易失性存儲器上。
如果操作系統(tǒng)將不安裝在模塊的非易失性存儲器上,則判斷4545轉(zhuǎn)到“否”分支4565,過程返回到判斷4510,以就是否有更多操作系統(tǒng)將要安裝在計算機系統(tǒng)和/或可移動模塊上進行判斷。
圖46是說明在計算機系統(tǒng)和/或模塊上安裝應用程序的過程的流程圖。過程4610開始,然后在判斷4610處就是否將在計算機系統(tǒng)上或在可移動模塊上安裝更多應用程序進行判斷。如果沒有更多需要安裝的應用程序,則判斷4610轉(zhuǎn)到“否”分支4620,過程在4699結(jié)束。
如果有更多應用程序要安裝,則判斷4610轉(zhuǎn)到“是”分支4615,在判斷4625處就是否要在可移動模塊的非易失性存儲器上和計算機系統(tǒng)的非易失性存儲器上都安裝下一個應用程序進行判斷。如果可移動模塊的非易失性存儲器和計算機系統(tǒng)的非易失性存儲器上都將安裝應用程序,則判斷4625轉(zhuǎn)到“是”分支4630,在步驟4670中,將應用程序安裝在計算機系統(tǒng)的主板上的非易失性存儲器上。在步驟4675中,將應用程序的運行的映像安裝在模塊上的非易失性存儲器上。然后,過程返回到判斷4610,以判斷是否有更多應用程序需要安裝。
如果可移動模塊的非易失性存儲器和計算機系統(tǒng)的非易失性存儲器上不都安裝應用程序,則判斷4625轉(zhuǎn)到“否”分支4635,在判斷4640中,就是否要將應用程序安裝在計算機系統(tǒng)的主板上的非易失性存儲器上進行判斷。如果應用程序?qū)⒁惭b在計算機系統(tǒng)的主板上的非易失性存儲器上,則判斷4645轉(zhuǎn)到“是”分支4645,在步驟4680中,將應用程序安裝在計算機系統(tǒng)的非易失性存儲器上。
如果應用程序?qū)⒉话惭b在計算機系統(tǒng)的主板上的非易失性存儲器上,則判斷4645轉(zhuǎn)到“否”分支4650,在判斷4640中,就是否要將應用程序安裝在可移動模塊的非易失性存儲器上進行判斷。如果應用程序?qū)⒁惭b在模塊的非易失性存儲器上,則判斷4645轉(zhuǎn)到“是”分支4660,在步驟4685中,將應用程序的運行的映像安裝在可移動模塊的非易失性存儲器上。
如果應用程序?qū)⒉话惭b在模塊的非易失性存儲器上,則判斷4645轉(zhuǎn)到“否”分支4665,過程返回到判斷4610,以就是否有更多應用程序?qū)⒁惭b在計算機系統(tǒng)和/或可移動模塊上進行判斷。
圖47是說明在計算機系統(tǒng)和/或模塊上安裝CPU的過程的流程圖。過程從4710開始,然后在判斷4710處就是否將在計算機系統(tǒng)上或在可移動模塊上安裝更多CPU進行判斷。如果沒有更多需要安裝的CPU,則判斷4710轉(zhuǎn)到“否”分支4720,過程在4799結(jié)束。
如果有更多CPU要安裝,則判斷4710轉(zhuǎn)到“是”分支4715,在判斷4725處就是否要在可移動模塊和計算機系統(tǒng)上都安裝下一個CPU進行判斷。如果可移動模塊和計算機系統(tǒng)上都將安裝CPU,則判斷4725轉(zhuǎn)到“是”分支4730,在步驟4770中,將CPU安裝在計算機系統(tǒng)的主板上。在步驟4775中,將CPU安裝在模塊上。然后,過程返回到判斷4710,以判斷是否有更多CPU需要安裝。
如果可移動模塊和計算機系統(tǒng)上不都安裝CPU,則判斷4725轉(zhuǎn)到“否”分支4735,在判斷4740中,就是否要將CPU安裝在計算機系統(tǒng)的主板上進行判斷。如果CPU將要安裝在計算機系統(tǒng)的主板上,則判斷4745轉(zhuǎn)到“是”分支4745,在步驟4780中,將CPU安裝在計算機系統(tǒng)上。
如果CPU將不安裝在計算機系統(tǒng)的主板上,則判斷4745轉(zhuǎn)到“否”分支4750,在判斷4740中,就是否要將CPU安裝在可移動模塊上進行判斷。如果CPU將要安裝在模塊上,則判斷4745轉(zhuǎn)到“是”分支4760,在步驟4780中,將CPU安裝在可移動模塊上。
如果CPU將不安裝在模塊上,則判斷4745轉(zhuǎn)到“否”分支4765,過程返回到判斷4710,以就是否有更多CPU將要安裝在計算機系統(tǒng)和/或可移動模塊上進行判斷。
圖48是說明了信息處理系統(tǒng)的方框圖,所述的信息處理系統(tǒng)是能夠執(zhí)行這里所描述的操作的計算機系統(tǒng)的簡化示例。
圖48說明了信息處理系統(tǒng)4801,這是一個能夠執(zhí)行這里所描述的計算操作的計算機系統(tǒng)的簡化示例。計算機系統(tǒng)4801包括連接到主機總線4802的處理器4800。二級(L2)高速緩存4804也連接到主機總線4802。主機到PCI橋4806連接到主存儲器4608,包括高速緩存和主存儲器控制功能,并提供總線控制以處理PCI總線4810、處理器300、L2緩存4804、主存儲器4608,以及主機總線4802之間的傳輸。主存儲器4808連接到主機到PCI橋4806以及主機總線4802。只由主處理器4800使用的諸如局域網(wǎng)網(wǎng)卡4830之類的設備連接到PCI總線4810。服務處理器接口和ISA訪問通路4812在PCI總線4810和PCI總線4814之間提供了接口。如此,PCI總線4814與PCI總線4810絕緣。諸如快閃存儲器4818之類的設備連接到PCI總線4814。在一個實施例中,快閃存儲器4818包括BIOS代碼,所述的代碼包括用于執(zhí)行各種低級別的系統(tǒng)功能和系統(tǒng)引導功能所需要的處理器可執(zhí)行代碼。
PCI總線4814為由主處理器4800和服務處理器4816共享的各種設備,包括快閃存儲器4818,提供了接口。PCI到ISA橋4835提供了總線控制,以處理PCI總線4814和ISA總線4840、通用串行總線(USB)功能4845、電源管理功能4855之間的傳輸,并可以包括其他未顯示的功能元件,如實時時鐘(RTC)、DMA控制、中斷支持,以及系統(tǒng)管理總線支持。非易失性RAM 4820連接到ISA總線4840。服務處理器4816包括JTAG和I2C總線4822,用于在初始化步驟過程中與處理器4800進行通信。JTAG/I2C總線4822還連接到L2緩存4804,主機到PCI橋4806,以及主存儲器4808,在處理器、服務處理器、L2緩存、主機到PCI橋,以及主存儲器之間提供通信路徑。服務處理器4816還能訪問系統(tǒng)電源資源,以便切斷信息處理設備4801的電源。
外圍設備和輸入/輸出(I/O)設備可以連接到各種接口,例如,連接到ISA總線4840的并行接口4862、串行接口4864、鍵盤接口4868,以及鼠標接口4870?;蛘?,許多I/O設備可以由連接到ISA總線4840的超級I/O控制器(未顯示)進行調(diào)節(jié)。
為了將計算機系統(tǒng)4801連接到另一個計算機系統(tǒng)以通過網(wǎng)絡復制文件,可以將局域網(wǎng)網(wǎng)卡4830連接到PCI總線4810。同樣,為了將計算機系統(tǒng)4801連接到ISP以使用電話線路連接到因特網(wǎng),可以將調(diào)制解調(diào)器4875連接到串行端口4864和PCI到ISA橋4835。
盡管圖48中所描述的計算機系統(tǒng)能夠執(zhí)行這里所描述的進程,但是,此計算機系統(tǒng)只不過是計算機系統(tǒng)的一個示例。那些精通本技術的人將理解,許多其他計算機系統(tǒng)設計也能夠執(zhí)行這里所描述的進程。
本發(fā)明的其中一個優(yōu)選實施例是應用程序,即,代碼模塊中的一組指令(程序代碼),例如,可以是駐留在計算機的隨機存取存儲器中的一組指令。直到計算機需要,指令集可以存儲在另一臺計算機的存儲器中,例如,存儲在硬盤驅(qū)動器中,或在諸如光盤之類的可移動存儲器中(用于CD ROM中)或軟盤(用于軟盤驅(qū)動器中),或通過因特網(wǎng)或其他計算機網(wǎng)絡下載。如此,本發(fā)明可以作為在計算機中使用的計算機程序產(chǎn)品來實現(xiàn)。此外,雖然這里所描述的各種方法可以方便地以通用計算機(有選擇地由軟件激活或重新配置)來實現(xiàn),但是,那些精通本技術的普通人員也將認識到,這樣的方法可以以硬件、固件或為執(zhí)行所要求的方法步驟所制造的比較專門的設備來執(zhí)行。
盡管這里顯示和描述了本發(fā)明的特定實施例,但是,對那些精通本技術的人很明顯,基于這里所提供的原理,在不偏離本發(fā)明的精神和范圍的情況下,可以進行各種修改。因此,所附加的權利要求包含在它們的范圍內(nèi),所有這樣的更改和修改都在本發(fā)明的真正的精神和范圍內(nèi)。此外,應該理解,本發(fā)明只由所附加的權利要求進行定義。那些精通本技術的人應該理解,如果給所引入的權利要求元素使用了特定的編號,其意圖將在權利要求書中清楚地闡述,沒有這些編號也不會構成限定。為了便于理解,舉一個非限制性的例子,下面所附的權利要求書中包含“至少一個”和“一個或多個”這樣的語句來引入權利要求的元素。
然而,使用這樣的句子不應該被理解為暗指,包含這樣的引入的權利要求元素的任何特定權利要求由不定冠詞“a”或“an”引入的權利要求元素將限制為只包含一個這樣的元素的發(fā)明,即使在同一權利要求中包括引入性語句“一個或多個”或“至少一個”以及諸如“a”或“an”的不定冠詞時;上述說明同樣適用于在權利要求中使用定冠詞的情況。
權利要求
1.一種用于在可移動模塊上存儲操作系統(tǒng)的方法,該方法包括將可移動模塊插入到第一計算機系統(tǒng),其中可移動操作系統(tǒng)模塊包括用于連接可移動模塊與帶電的計算機系統(tǒng)的接口,以及非易失性存儲單元;將操作系統(tǒng)的運行的映像存儲到可移動操作系統(tǒng)模塊的非易失性存儲單元上,其中在存儲之后,操作系統(tǒng)在將可移動模塊插入到第二計算機系統(tǒng)時可以由第二計算機系統(tǒng)執(zhí)行。
2.根據(jù)權利要求1所述的方法,進一步包括在第一計算機系統(tǒng)上安裝操作系統(tǒng);執(zhí)行操作系統(tǒng);保存正在執(zhí)行的操作系統(tǒng)的運行的映像;以及將所保存的操作系統(tǒng)的運行的映像傳輸?shù)娇梢苿幽K中包括的非易失性存儲單元上。
3.根據(jù)權利要求1所述的方法,進一步包括從第一計算機系統(tǒng)上取出可移動模塊并將可移動操作系統(tǒng)模塊提供給第二計算機系統(tǒng)的用戶。
4.根據(jù)權利要求3所述的方法,進一步包括將可移動模塊插入到位于第二計算機系統(tǒng)上的物理接口;檢測可移動模塊已插入到物理接口中;將操作系統(tǒng)的運行的映像從可移動模塊加載到從第二計算機系統(tǒng)中包括的一個或多個處理器可訪問的第二存儲單元中;以及由處理器執(zhí)行操作系統(tǒng)。
5.根據(jù)權利要求4所述的方法,進一步包括將第二計算機系統(tǒng)連接到計算機網(wǎng)絡;從第二計算機系統(tǒng)發(fā)送對操作系統(tǒng)進行更新的請求;響應所述請求在第二計算機系統(tǒng)中接收操作系統(tǒng)的第二運行的映像;以及使用第二運行的映像更新非易失性存儲單元上存儲的操作系統(tǒng)的運行的映像。
6.根據(jù)權利要求5所述的方法,進一步包括在第二計算機系統(tǒng)中接收對應于操作系統(tǒng)更新的支付金額;以及通過計算機網(wǎng)絡從第二計算機系統(tǒng)發(fā)送電子支付,電子支付對應于支付金額。
7.根據(jù)權利要求6所述的方法,進一步包括通過計算機網(wǎng)絡將第二計算機系統(tǒng)連接到制造商的網(wǎng)站,其中從網(wǎng)站接收支付信息,并且將電子支付發(fā)送到制造商的網(wǎng)站。
8.根據(jù)權利要求3所述的方法,進一步包括從第二計算機系統(tǒng)中取出可移動模塊;將可移動模塊發(fā)送到操作系統(tǒng)服務提供商,其中服務提供商更新可移動模塊上的操作系統(tǒng)的運行的映像;以及從服務提供商接收具有更新的操作系統(tǒng)的可移動模塊。
9.一種用于在可移動操作系統(tǒng)模塊上存儲操作系統(tǒng)的信息處理系統(tǒng),該信息處理系統(tǒng)包括一個或多個處理器;連接到處理器的第一存儲單元,其中第一存儲單元用于存儲操作系統(tǒng)的運行的映像;以及可移動操作系統(tǒng)模塊接口,連接到一個或多個處理器并用于接收可移動操作系統(tǒng)模塊,其中可移動操作系統(tǒng)模塊包括第二存儲單元,其中一個或多個處理器用于將操作系統(tǒng)的運行的映像從第一存儲單元傳輸?shù)降诙鎯卧?,以及其中在傳輸之后,操作系統(tǒng)在將可移動模塊插入到第二信息處理系統(tǒng)時可以由第二信息處理系統(tǒng)執(zhí)行。
10.根據(jù)權利要求9所述的信息處理系統(tǒng),其中一個或多個處理器用于將操作系統(tǒng)最初加載到第一存儲單元中,執(zhí)行操作系統(tǒng)以創(chuàng)建操作系統(tǒng)的運行的映像,將操作系統(tǒng)的映像傳輸?shù)娇梢苿硬僮飨到y(tǒng)模塊上的第二存儲單元。
11.根據(jù)權利要求9所述的信息處理系統(tǒng),其中可移動操作系統(tǒng)模塊可以從可移動操作系統(tǒng)模塊接口中取出,以及提供給第二信息處理系統(tǒng)的用戶。
12.根據(jù)權利要求11所述的信息處理系統(tǒng),其中可移動操作系統(tǒng)模塊進一步可以插入到第二信息處理系統(tǒng)的第二可移動操作系統(tǒng)模塊,由第二可移動操作系統(tǒng)模塊接口檢測,將存儲在可移動操作系統(tǒng)模塊的第二存儲單元上的操作系統(tǒng)的運行的映像傳輸?shù)降诙畔⑻幚硐到y(tǒng)的第三存儲單元,其中第三存儲單元可由第二信息處理系統(tǒng)的一個或多個處理器的第二組進行訪問,以及其中第二組一個或多個處理器可操作,以執(zhí)行操作系統(tǒng)的傳輸?shù)倪\行的映像。
13.根據(jù)權利要求12所述的信息處理系統(tǒng),其中第二組一個或多個處理器可以促進與計算機網(wǎng)絡的連接;促進對操作系統(tǒng)更新的請求的傳輸;響應所述請求促進操作系統(tǒng)的第二運行的映像的接收;以及使用第二運行的映像促進存儲在第二存儲單元上的操作系統(tǒng)的運行的映像的更新。
14.根據(jù)權利要求13所述的信息處理系統(tǒng),其中第二組一個或多個處理器進一步可以促進對應于操作系統(tǒng)更新的成本的支付金額的接收;以及促進通過計算機網(wǎng)絡進行的電子支付的傳輸,電子支付對應于支付金額。
15.根據(jù)權利要求14所述的信息處理系統(tǒng),其中第二組一個或多個處理器進一步可以促進通過計算機網(wǎng)絡連接到制造商的網(wǎng)站,其中從制造商的網(wǎng)站接收支付信息,并且將電子支付發(fā)送到制造商的網(wǎng)站。
16.根據(jù)權利要求11所述的信息處理系統(tǒng),其中可移動操作系統(tǒng)模塊可以從第二可移動操作系統(tǒng)模塊接口中取出;發(fā)送到操作系統(tǒng)服務提供商,其中服務提供商更新可移動操作系統(tǒng)模塊上的操作系統(tǒng)的運行的映像;以及重新連接到第二可移動操作系統(tǒng)模塊接口。
17.一種計算機可操作的介質(zhì)上的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括用于與可移動操作系統(tǒng)模塊接口進行通信的裝置,其中可移動操作系統(tǒng)模塊接口用于接收可移動操作系統(tǒng)模塊,并且可移動操作系統(tǒng)模塊包括非易失性存儲單元;用于將操作系統(tǒng)的運行的映像存儲到可移動操作系統(tǒng)模塊的非易失性存儲單元上的裝置,其中在存儲之后,操作系統(tǒng)在將可移動模塊插入到計算機系統(tǒng)時可以由所述計算機系統(tǒng)執(zhí)行。
18.根據(jù)權利要求17所述的計算機程序產(chǎn)品,進一步包括用于將操作系統(tǒng)的運行的映像加載到第一存儲單元中的裝置;用于執(zhí)行操作系統(tǒng)的裝置;以及用于將操作系統(tǒng)的運行的映像從第一存儲單元傳輸?shù)娇梢苿幽K的非易失性存儲單元的裝置。
19.根據(jù)權利要求17所述的計算機程序產(chǎn)品,其中可移動操作系統(tǒng)模塊可以從可移動操作系統(tǒng)模塊接口中取出,以及提供給計算機系統(tǒng)的用戶。
20.根據(jù)權利要求19所述的計算機程序產(chǎn)品,其中可移動操作系統(tǒng)模塊進一步可以插入到第二計算機系統(tǒng)的第二可移動操作系統(tǒng)模塊,由第二可移動操作系統(tǒng)模塊接口檢測;將操作系統(tǒng)的運行的映像從可移動操作系統(tǒng)模塊傳輸?shù)娇捎傻诙嬎銠C系統(tǒng)中包括的一個或多個處理器進行訪問的第二存儲器中,其中所述第二計算機系統(tǒng)用于執(zhí)行操作系統(tǒng)的傳輸?shù)倪\行的映像。
21.根據(jù)權利要求20所述的計算機程序產(chǎn)品,其中第二計算機系統(tǒng)可以連接到計算機網(wǎng)絡;發(fā)送對操作系統(tǒng)進行更新的請求;響應所述請求接收操作系統(tǒng)的第二運行的映像;以及使用第二運行的映像更新可移動操作系統(tǒng)模塊上存儲的操作系統(tǒng)的運行的映像。
22.根據(jù)權利要求21所述的計算機程序產(chǎn)品,其中第二計算機系統(tǒng)可以接收對應于操作系統(tǒng)更新的支付金額;以及通過計算機網(wǎng)絡發(fā)送電子支付,電子支付對應于支付金額。
23.根據(jù)權利要求22所述的計算機程序產(chǎn)品,其中第二計算機系統(tǒng)可以通過計算機網(wǎng)絡連接到制造商的網(wǎng)站,其中從網(wǎng)站接收支付信息,并且將電子支付發(fā)送到制造商的網(wǎng)站。
24.根據(jù)權利要求19所述的計算機程序產(chǎn)品,其中可移動操作系統(tǒng)模塊可以從第二計算機系統(tǒng)中取出;發(fā)送到操作系統(tǒng)服務提供商,其中服務提供商更新可移動操作系統(tǒng)模塊上的操作系統(tǒng)的運行的映像;以及由服務提供商與更新的操作系統(tǒng)一起發(fā)回。
全文摘要
一種用于在可移動操作系統(tǒng)模塊上存儲操作系統(tǒng)的運行的映像的方法和系統(tǒng)。所述模塊首先插入到第一計算機系統(tǒng)。操作系統(tǒng)首先安裝在第一計算機上,開始執(zhí)行操作系統(tǒng),然后將操作系統(tǒng)的運行的映像保存到可移動模塊的非易失性存儲單元上。將可移動模塊從第一計算機系統(tǒng)中取出,并插入到第二計算機系統(tǒng),操作系統(tǒng)的運行的映像被加載到可由第二計算機系統(tǒng)中包括的一個或多個處理器進行訪問的第二存儲器中。然后,可以由處理器執(zhí)行加載的操作系統(tǒng)。用戶可以通過連接到制造商的網(wǎng)站并下載更新或通過將可移動操作系統(tǒng)模塊發(fā)送到制造商那里進行更新來更新操作系統(tǒng)。
文檔編號G06F9/445GK1595356SQ20041005631
公開日2005年3月16日 申請日期2004年8月6日 優(yōu)先權日2003年8月14日
發(fā)明者本杰明·安德魯·希默爾, 馬里亞·阿蘇亞·希默爾, 赫爾曼·羅德里格斯 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1