專(zhuān)利名稱(chēng):在基本輸入和輸出系統(tǒng)啟動(dòng)期間產(chǎn)生媒體輸出的制作方法
本案是申請(qǐng)?zhí)枮?0126295.5、申請(qǐng)日為2000年6月18日、發(fā)明名稱(chēng)為“在基本輸入和輸出系統(tǒng)啟動(dòng)期間產(chǎn)生媒體輸出”的分案申請(qǐng)。
本申請(qǐng)是1999年6月18日申請(qǐng)的未決美國(guó)申請(qǐng)09/336,509的部分繼續(xù)申請(qǐng)。
本發(fā)明涉及多媒體。特別地,本發(fā)明涉及用固件進(jìn)行圖形顯示和發(fā)聲。本發(fā)明還涉及系統(tǒng)和/或系統(tǒng)設(shè)備信息的圖形顯示。
產(chǎn)生一種媒體輸出、例如一個(gè)圖形對(duì)象的圖象可以用多種方法執(zhí)行。如果該圖形對(duì)象是由位映象圖形數(shù)據(jù)表示的,那么圖形引擎可以直接讀取位映象象素,并根據(jù)象素值繪制出適當(dāng)?shù)念伾?。如果圖形對(duì)象是由一系列矢量操作形成的,則圖形控制器可以按順序地執(zhí)行矢量產(chǎn)生操作。
雖然上述方法可以應(yīng)用于傳統(tǒng)的圖形環(huán)境,在需要高度組織的數(shù)據(jù)結(jié)構(gòu)的應(yīng)用中它們可能就不再適合了。這種應(yīng)用的一個(gè)例子是在基本輸入和輸出系統(tǒng)(BIOS)引導(dǎo)時(shí)顯示圖形。在這種應(yīng)用中,圖形對(duì)象的圖象最好能盡可能快地產(chǎn)生。而且,圖象內(nèi)容隨著系統(tǒng)數(shù)據(jù)庫(kù)的更新可以頻繁地變化。
傳統(tǒng)的方法通常是從圖形對(duì)象中直接產(chǎn)生圖象。這種方法有許多缺陷。首先,更新圖形對(duì)象是困難的,尤其是在只有圖象集的一部分需要更新時(shí)。其次,需要更多的存儲(chǔ)器來(lái)組織圖形對(duì)象。第三,它們無(wú)法提供一種靈活的繪制圖象的方法,例如合并不同的圖象特征(例如顏色,層次)。
因此需要一種技術(shù)來(lái)提供一種產(chǎn)生媒體輸出的簡(jiǎn)單有效的方法。
目前,如果要在系統(tǒng)BIOS中加入附加功能度,必須做大量的改變。具體的說(shuō),系統(tǒng)BIOS的代碼需要大量的改變。因此,需要在不對(duì)系統(tǒng)BIOS代碼進(jìn)行大量改變的情況下向系統(tǒng)BIOS提供附加的功能度。另外,在工業(yè)界也需要有一種簡(jiǎn)單有效地提供和顯示系統(tǒng)設(shè)備信息的方法。
另外,關(guān)于諸如處理器性能信息和存儲(chǔ)器容量信息的系統(tǒng)設(shè)備信息通常是以文本格式顯示的。這種系統(tǒng)設(shè)備信息通常是在制造時(shí)就決定了的。在引導(dǎo)過(guò)程中,制造時(shí)所確定的系統(tǒng)設(shè)備信息被系統(tǒng)BIOS檢測(cè)到并/或提取出來(lái),以文本格式顯示。這樣的信息不易閱讀,因?yàn)橛脩舯仨氉x每行文字來(lái)找到所要的信息。因此,在工業(yè)界還需要有一種方法來(lái)簡(jiǎn)單有效地提供和顯示系統(tǒng)設(shè)備信息。
本發(fā)明是顯示信息的方法和裝置。該方法包括,檢索代表第一個(gè)設(shè)備參數(shù)的第一值,并檢測(cè)代表第二個(gè)設(shè)備參數(shù)的第二值。從存儲(chǔ)器中檢索出與圖形對(duì)象對(duì)應(yīng)的模板。從模板產(chǎn)生描述圖形對(duì)象的特征的圖形屬性。顯示第一和第二值,根據(jù)圖形屬性從圖形對(duì)象中產(chǎn)生出一個(gè)圖象。
從下面對(duì)本發(fā)明的詳細(xì)介紹中可以更加清楚地看出本發(fā)明的特征和優(yōu)點(diǎn),其中
圖1是一個(gè)應(yīng)用了本發(fā)明的裝置和方法的信息分配系統(tǒng)的一個(gè)實(shí)施例的系統(tǒng)方框圖。
圖2顯示了一個(gè)實(shí)施本發(fā)明實(shí)施例的例示性處理器系統(tǒng)或用戶計(jì)算機(jī)系統(tǒng)。
圖3顯示了本發(fā)明的一個(gè)實(shí)施例的邏輯圖。
圖4A和圖4B顯示了依據(jù)本發(fā)明原理提供的過(guò)程流程圖的一個(gè)實(shí)施例。
圖5是顯示依據(jù)本發(fā)明的一個(gè)實(shí)施例產(chǎn)生用于顯示的圖象的結(jié)構(gòu)的示意圖。
圖6A是依據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形對(duì)象模板的示意圖。
圖6B是依據(jù)本發(fā)明的一個(gè)實(shí)施例的顯示屏幕的示意圖。
圖7是依據(jù)本發(fā)明的一個(gè)實(shí)施例的顯示圖象的過(guò)程的流程圖。
圖8是依據(jù)本發(fā)明原理的信息顯示屏幕的一個(gè)實(shí)施例。
圖9是依據(jù)本發(fā)明原理的顯示信息的過(guò)程的一個(gè)實(shí)施例的流程圖。
圖10A是依據(jù)本發(fā)明的另一個(gè)方面的信息顯示屏幕的一個(gè)實(shí)施例。
圖10B是依據(jù)本發(fā)明的另一個(gè)方面的信息顯示屏幕的第二個(gè)實(shí)施例。
圖11A是依據(jù)本發(fā)明原理實(shí)施的軟件模塊的系統(tǒng)結(jié)構(gòu)的一個(gè)實(shí)施例的示意圖。
圖11B是顯示處理器映射表的一個(gè)實(shí)施例的圖表。
圖12是依據(jù)本發(fā)明原理的顯示信息的過(guò)程的一個(gè)實(shí)施例的流程圖。
圖13是依據(jù)本發(fā)明原理提供的功能度調(diào)度程序過(guò)程的一個(gè)實(shí)施例的流程14是依據(jù)本發(fā)明原理提供的信息處理程序過(guò)程的一個(gè)實(shí)施例的流程圖。
圖15是顯示依據(jù)本發(fā)明原理提供的處理器信息和圖象處理程序過(guò)程的一個(gè)實(shí)施例的流程圖。
本發(fā)明是在BIOS引導(dǎo)期間產(chǎn)生媒體輸出的一種方法和裝置。在一個(gè)實(shí)施例中,模板包含表示圖形對(duì)象特征的圖形屬性。模板和圖形對(duì)象存儲(chǔ)于存儲(chǔ)器中。模板被檢索、掃描、分析從而產(chǎn)生圖形屬性。根據(jù)圖形屬性檢索圖性對(duì)象。用圖形屬性產(chǎn)生圖形對(duì)象的圖象??梢援a(chǎn)生動(dòng)畫(huà)和聲音。這項(xiàng)技術(shù)提供了一種在引導(dǎo)或加電復(fù)位期間顯示諸如廣告標(biāo)語(yǔ)、文本項(xiàng)之類(lèi)的圖形對(duì)象的圖象的有效方式。在另一個(gè)實(shí)施例中,在BIOS引導(dǎo)的較早階段初始化媒體設(shè)備。然后在執(zhí)行正常BIOS任務(wù)的同時(shí)執(zhí)行媒體操作。
本發(fā)明的另一個(gè)方面也提供了一種產(chǎn)生媒體輸出的有效的方法。媒體輸出包括在運(yùn)行中(on-the-fly)產(chǎn)生的系統(tǒng)設(shè)備信息,這種信息被簡(jiǎn)單有效地顯示。該技術(shù)從一個(gè)模板中產(chǎn)生表示圖形對(duì)象特征的圖形屬性。然后采用圖形屬性從圖形對(duì)象產(chǎn)生圖象。在另一個(gè)實(shí)施例中,在BIOS引導(dǎo)的較早階段初始化圖形控制器或聲卡等媒體設(shè)備。然后在執(zhí)行正常BIOS任務(wù)的同時(shí)執(zhí)行媒體操作。
本發(fā)明的又一個(gè)方面是一種以簡(jiǎn)單、優(yōu)雅、靈活的方式向系統(tǒng)BIOS提供功能度的方法和裝置。它提供了一個(gè)接口模塊,使得各方、例如PC系統(tǒng)制造商和主板制造商能夠在給系統(tǒng)BIOS代碼最小影響的同時(shí)提供附加系統(tǒng)BIOS功能度。該方法包括將接口模塊連接到系統(tǒng)BIOS,并從系統(tǒng)BIOS接收請(qǐng)求來(lái)執(zhí)行任務(wù)。與任務(wù)相聯(lián)系的系統(tǒng)設(shè)備信息是從系統(tǒng)BIOS接收的。接口模塊翻譯系統(tǒng)設(shè)備信息以提供翻譯信息。然后將翻譯信息傳送給相應(yīng)的模型。
在下面的描述中,為了清楚地解釋?zhuān)信e了眾多的細(xì)節(jié)以使大家對(duì)該發(fā)明有更加詳細(xì)的了解。但是,對(duì)該領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),顯然這些具體的細(xì)節(jié)對(duì)于實(shí)現(xiàn)本發(fā)明是不必要的。另外,一些公知的電結(jié)構(gòu)和電路圖也用框圖形式表示出來(lái),以便更清楚的展示本發(fā)明。
此處討論的“計(jì)算機(jī)系統(tǒng)”是一個(gè)包括能夠處理數(shù)據(jù)的電路的產(chǎn)品。計(jì)算機(jī)系統(tǒng)包括但并不局限于,通用計(jì)算機(jī)系統(tǒng)(例如,服務(wù)器,膝上電腦,桌面電腦,掌上電腦,個(gè)人電子設(shè)備等)、個(gè)人電腦(PC)、硬拷貝設(shè)備(例如,打印機(jī),繪圖儀,傳真機(jī)等)、銀行設(shè)備(例如,自動(dòng)出納機(jī))以及類(lèi)似的設(shè)備。信息媒體是一個(gè)提供商品和服務(wù)生產(chǎn)者方面信息的網(wǎng)站,還向商家提供關(guān)于供應(yīng)商和其他商家提供的產(chǎn)品和/或服務(wù)等商業(yè)的相關(guān)信息。內(nèi)容指的是應(yīng)用程序、驅(qū)動(dòng)程序、實(shí)用程序、有效載荷等及其組合,還包括圖形、信息材料(文章、股票報(bào)價(jià)等)和類(lèi)似的內(nèi)容,或者單獨(dú)或者任意組合?!坝行лd荷”是指用圖形或信息資料(例如文章、股票報(bào)價(jià)等)表示的消息,包括文件或應(yīng)用程序。在一個(gè)實(shí)施例中,將其在預(yù)定時(shí)間傳送到系統(tǒng)的海量存儲(chǔ)介質(zhì)。另外,“通信鏈路”是指通信的媒體或信道。通信鏈路包括電話線、調(diào)制解調(diào)器連接、因特網(wǎng)連接、綜合服務(wù)數(shù)字網(wǎng)(“ISDN”)連接、異步轉(zhuǎn)換模式(ATM)連接、幀中繼連接、以太網(wǎng)連接、同軸連接、光纖連接、衛(wèi)星連接(例如數(shù)字衛(wèi)星服務(wù)等)、無(wú)線連接、射頻(RF)鏈接,電磁鏈接、雙向?qū)ず暨B接等及其組合。
另外,操作系統(tǒng)(“OS”)的裝載指的是操作系統(tǒng)引導(dǎo)裝入程序的初始布置。在一個(gè)實(shí)施例中,在OS裝載過(guò)程中,一般將一段信息從硬盤(pán)裝載進(jìn)系統(tǒng)存儲(chǔ)器。或者,將引導(dǎo)裝入程序從網(wǎng)絡(luò)裝載系統(tǒng)存儲(chǔ)器。OS“引導(dǎo)”是指引導(dǎo)裝入程序的執(zhí)行。這樣將OS置于系統(tǒng)的控制下。在OS引導(dǎo)期間執(zhí)行的一些動(dòng)作包括系統(tǒng)配置、設(shè)備檢測(cè)、驅(qū)動(dòng)器裝載和用戶登陸。OS運(yùn)行時(shí)間指的是引導(dǎo)階段的完成和由OS執(zhí)行應(yīng)用程序的開(kāi)始。在一個(gè)實(shí)施例中,在OS運(yùn)行時(shí)間期間,OS和用戶相互作用來(lái)執(zhí)行和/或運(yùn)行應(yīng)用程序。開(kāi)電自檢(POST)指的是在裝載OS前執(zhí)行的用以配置和檢測(cè)系統(tǒng)硬件的指令。
下面來(lái)介紹本發(fā)明實(shí)施例的一個(gè)例示系統(tǒng)。
圖1是使用本發(fā)明的設(shè)備和方法的信息分布系統(tǒng)10的一個(gè)實(shí)施例的系統(tǒng)方框圖。系統(tǒng)10涉及到信息媒體的提供。它包含對(duì)因特網(wǎng)用戶和系統(tǒng)簡(jiǎn)要文件的安全和私人儲(chǔ)存庫(kù)的構(gòu)造和維護(hù),這些主要是從授權(quán)服務(wù)注冊(cè)、因特網(wǎng)服務(wù)注冊(cè)、系統(tǒng)簡(jiǎn)要文件、用戶偏好中收集的。最初,這些信息用于以所購(gòu)買(mǎi)的硬件和軟件產(chǎn)品的制造商以及在線或其他服務(wù)的供應(yīng)商來(lái)注冊(cè)用戶。隨著時(shí)間的過(guò)去,用戶數(shù)據(jù)用于生成一個(gè)用戶簡(jiǎn)要文件,并通知用戶相關(guān)軟件的更新和升級(jí),以鼓勵(lì)在線購(gòu)買(mǎi)相關(guān)產(chǎn)品,并允許一對(duì)一的定貨市場(chǎng)和其他服務(wù)。
在一個(gè)實(shí)施例中,兩個(gè)軟件模塊用來(lái)實(shí)現(xiàn)本發(fā)明的各個(gè)實(shí)施例。一個(gè)軟件駐留于用戶系統(tǒng)中,用來(lái)訪問(wèn)一個(gè)預(yù)定網(wǎng)址。例如,在一個(gè)實(shí)施例中,操作系統(tǒng)和基本輸入輸出系統(tǒng)(BIOS)預(yù)先安裝在一個(gè)計(jì)算機(jī)系統(tǒng)中,當(dāng)計(jì)算機(jī)系統(tǒng)隨后首次啟動(dòng)時(shí),一個(gè)出于討論的目的被稱(chēng)為第一軟件模塊(在一個(gè)實(shí)施例中,第一軟件模塊是將在下文中描述的初始啟動(dòng)應(yīng)用程序(ISUA))的應(yīng)用程序?qū)⒃试S一個(gè)或多個(gè)可執(zhí)行程序在引導(dǎo)前的環(huán)境中啟動(dòng)。在一個(gè)實(shí)施例中,第一軟件模塊使一個(gè)或多個(gè)可執(zhí)行程序在OS的裝載、引導(dǎo)、執(zhí)行或運(yùn)行之前的啟動(dòng)變得容易。在一個(gè)實(shí)施例中,用戶被鼓勵(lì)選擇使用像這樣的程序(即,第一軟件模塊的使用),在另一個(gè)實(shí)施例中,程序是自動(dòng)啟動(dòng)的。包含在第一軟件模塊中的程序能夠使工具和實(shí)用程序在適當(dāng)?shù)臅r(shí)間以正確的用戶授權(quán)運(yùn)行,還允許用戶通過(guò)PC機(jī)上的因特網(wǎng)連接下載一個(gè)包括驅(qū)動(dòng)程序、應(yīng)用程序和附加有效載荷的第二軟件模塊。如果OS不能正常地啟動(dòng),程序還可以提供系統(tǒng)的遠(yuǎn)程管理。
一旦第二個(gè)軟件模塊被傳遞過(guò)來(lái),它將成為駐留存儲(chǔ)器的程序,并且禁止對(duì)第一軟件模塊轉(zhuǎn)錄拷貝。仍然駐留在系統(tǒng)的非易失性存儲(chǔ)器中的第一軟件模塊的原始拷貝保持空閑,直到第二軟件模塊不能工作、遭破壞或被刪除為止,此時(shí),第一軟件模塊的原始拷貝如上所述又被轉(zhuǎn)錄。第二軟件模塊包括將用戶和因特網(wǎng)上的特定服務(wù)連接起來(lái)并指導(dǎo)用戶在預(yù)定網(wǎng)址上尋求權(quán)限來(lái)下載更多的預(yù)約資料的一個(gè)應(yīng)用程序。第二軟件模塊還包括和第一軟件模塊的內(nèi)容相同或相近的內(nèi)容。
在一個(gè)實(shí)施例中,系統(tǒng)還可以包括一個(gè)存儲(chǔ)在只讀存儲(chǔ)器BIOS(ROMBIOS)中的初始有效載荷。在一個(gè)實(shí)施例中,初始有效載荷是第一軟件模塊(例如,ISUA)的一部分。在另一個(gè)實(shí)施例中,初始有效載荷作為一個(gè)模塊存儲(chǔ)在ROM BIOS中,同第一軟件模塊分開(kāi)。在一個(gè)實(shí)施例中,初始有效載荷是從ROM BIOS中啟動(dòng),并在開(kāi)電自檢(POST)之后、OS引導(dǎo)、裝載和/或執(zhí)行之前顯示在屏幕上。這將在預(yù)定時(shí)間內(nèi)發(fā)生,例如在系統(tǒng)被制造、裝配和檢測(cè)時(shí),或者在終端用戶首次激活系統(tǒng)時(shí)。在另一個(gè)實(shí)施例中,這個(gè)初始有效載荷在預(yù)定時(shí)間被復(fù)制到預(yù)定位置(比如系統(tǒng)的硬盤(pán)中),例如在系統(tǒng)被制造、裝配和檢測(cè)時(shí),或者當(dāng)終端用戶首次激活系統(tǒng)時(shí)。一旦被復(fù)制,有效載荷在POST之后、OS操作之前執(zhí)行,以圖形或信息材料、動(dòng)畫(huà)、聯(lián)合圖象專(zhuān)家組(JPEG)/運(yùn)動(dòng)圖象專(zhuān)家組(MPEG)格式的資料等方式在屏幕上顯示圖形、消息。當(dāng)附加程序和/或有效載荷(通過(guò)因特網(wǎng)或其他外部連接)被傳送時(shí),在OS引導(dǎo)前和引導(dǎo)過(guò)程中,顯示屏將被用于以消息或圖形的方式提供定制屏幕。另外,除了隨后的從網(wǎng)站上下載的程序(例如第二軟件模塊)之外,在第一軟件模塊中傳送的可執(zhí)行程序可以用來(lái)檢測(cè)PC以決定所安裝的設(shè)備、驅(qū)動(dòng)程序和應(yīng)用程序的各種類(lèi)型。在一個(gè)實(shí)施例中,如同在題目為“在計(jì)算機(jī)上自動(dòng)安裝和配置軟件的方法和設(shè)備”的其內(nèi)容在此作為參考的共同未決的美國(guó)專(zhuān)利申請(qǐng)的序列號(hào)中所描述的,第一軟件模塊用于為用戶識(shí)別和自動(dòng)生成快捷方式和/或書(shū)簽。從網(wǎng)站上下載的程序包括基于用戶偏好收集和保留用戶簡(jiǎn)要文件的軟件。這些信息提供給信息媒體,信息媒體隨后根據(jù)信息將信息和/或所編輯數(shù)據(jù)的一部分提供給供應(yīng)商和其他商業(yè)者,以便獲得供應(yīng)商和其他商家提供的信息的更新或修訂。
參考圖1,信息分布系統(tǒng)10包括通過(guò)一條或者多條通信鏈路301-30N與一臺(tái)或多臺(tái)用戶計(jì)算機(jī)系統(tǒng)401-40N(“40”)連接起來(lái)的服務(wù)中心20。服務(wù)中心20包括一個(gè)或多個(gè)服務(wù)器22、一個(gè)或多個(gè)數(shù)據(jù)庫(kù)24以及一個(gè)或多個(gè)計(jì)算機(jī)261-26M。一個(gè)或多個(gè)計(jì)算機(jī)261-26M可以由多個(gè)用戶計(jì)算機(jī)系統(tǒng)401-40N同時(shí)訪問(wèn)。如果使用了多個(gè)計(jì)算機(jī),則計(jì)算機(jī)261-26M可以通過(guò)局域網(wǎng)(LAN)或其他相似的連接技術(shù)進(jìn)行連接。然而,對(duì)于服務(wù)中心20來(lái)說(shuō),也可以有其他配置。例如,較少數(shù)目的大型計(jì)算機(jī)(比如少數(shù)的主機(jī)、袖珍型計(jì)算機(jī)等),帶有在大型計(jì)算機(jī)上運(yùn)行的、能夠與用戶計(jì)算機(jī)建立通信鏈路的一些內(nèi)部程序和過(guò)程。
服務(wù)中心20也可以連接到遠(yuǎn)程網(wǎng)絡(luò)50(例如因特網(wǎng))或者遠(yuǎn)程位置(例如在附圖1中沒(méi)有顯示的衛(wèi)星)。遠(yuǎn)程網(wǎng)絡(luò)50或者遠(yuǎn)程位置允許服務(wù)中心20提供可以存儲(chǔ)在服務(wù)中心20中的更廣泛的計(jì)算機(jī)軟件、內(nèi)容等。與服務(wù)中心計(jì)算機(jī)、例如261相連接的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)24用于存儲(chǔ)包括在計(jì)算機(jī)26上可用的計(jì)算機(jī)軟件的數(shù)據(jù)庫(kù)入口。在一個(gè)實(shí)施例中,每個(gè)用戶計(jì)算機(jī)401-40N都有自己的不能被其他計(jì)算機(jī)訪問(wèn)的安全數(shù)據(jù)庫(kù)(未顯示)。通信鏈路301-30N允許一個(gè)或多個(gè)用戶計(jì)算機(jī)系統(tǒng)401-40N同時(shí)和計(jì)算機(jī)261-26M連接。連接由服務(wù)器22管理。
在一個(gè)用戶計(jì)算機(jī)系統(tǒng)40與信息服務(wù)計(jì)算機(jī)26建立雙向通信之后,將內(nèi)容以下述方式傳送到用戶計(jì)算機(jī)系統(tǒng)40。下載的內(nèi)容包括一個(gè)用來(lái)檢測(cè)用戶和/或用戶計(jì)算機(jī)系統(tǒng)的硬件和/或軟件以便開(kāi)發(fā)一個(gè)用戶簡(jiǎn)要文件以及用戶系統(tǒng)的簡(jiǎn)要文件的應(yīng)用程序。從用戶和/或用戶計(jì)算機(jī)系統(tǒng)搜集的信息隨后被提供給服務(wù)中心20,服務(wù)中心20根據(jù)用戶和系統(tǒng)簡(jiǎn)要文件向用戶計(jì)算機(jī)40提供附加內(nèi)容。與服務(wù)計(jì)算機(jī)26相連的數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)入口包括關(guān)于計(jì)算機(jī)軟件、硬件和用戶可以使用的第三方服務(wù)和產(chǎn)品的信息。在用戶和/或系統(tǒng)簡(jiǎn)要文件基礎(chǔ)上,內(nèi)容進(jìn)一步被傳送給用戶計(jì)算機(jī)來(lái)顯示。該內(nèi)容還包括信息摘要,例如現(xiàn)有計(jì)算機(jī)軟件的補(bǔ)丁和糾錯(cuò)的可用性、現(xiàn)有計(jì)算機(jī)軟件的新版本、新計(jì)算機(jī)軟件的品牌、新的幫助文件等。該內(nèi)容還包括關(guān)于硬件和用戶感興趣的第三方產(chǎn)品和服務(wù)的可用性。用戶能夠從可用產(chǎn)品和服務(wù)摘要中做出一個(gè)或多個(gè)選擇,要求將產(chǎn)品從服務(wù)計(jì)算機(jī)26傳送到用戶計(jì)算機(jī)?;蛘?,用戶也可以從可用產(chǎn)品和服務(wù)摘要中購(gòu)買(mǎi)所需的產(chǎn)品或服務(wù)。
圖2顯示了實(shí)現(xiàn)本發(fā)明的實(shí)施例的一個(gè)例示計(jì)算機(jī)系統(tǒng)100。計(jì)算機(jī)系統(tǒng)100顯示了用戶計(jì)算機(jī)系統(tǒng)401-40N和/或計(jì)算機(jī)261-26M(圖1)的一個(gè)實(shí)施例,但也可以容易地使用其他的實(shí)施例。
參考圖2,計(jì)算機(jī)系統(tǒng)100包括處理器或中央處理單元(CPU)104。所示的CPU 104包括一個(gè)進(jìn)行計(jì)算的算術(shù)邏輯單元(ALU)、一個(gè)用于臨時(shí)存儲(chǔ)數(shù)據(jù)和指令的寄存器集合和一個(gè)控制系統(tǒng)100的操作的控制單元。在一個(gè)實(shí)施例中,CPU 104包括IntelTM公司出售的X86、PentiumTM、PentiumIITM、PentiumProTM微處理器、AMDTM出售的K-6微處理器、或者CytixTM公司出售的6x86MX微處理器中的任意一種。更多的例子還包括Digital Equipment CorporationTM(數(shù)字設(shè)備公司)出售的AlphaTM處理器、MotorolaTM出售的680X0處理器、或者IBMTM出售的Power PCTM處理器。另外,包括Sun Microsystems、MIPS、IBM、Motorola、NEC、Cyrix、AMD、Nexgen和其他公司出售的其他處理器種類(lèi)中的任何一種都能用于實(shí)現(xiàn)CPU 104。CPU 104不僅僅局限于微處理器,還可以有其他形式,如微控制器、數(shù)字信號(hào)處理器、精簡(jiǎn)指令集計(jì)算機(jī)(RISC)、應(yīng)用專(zhuān)用集成電路等。盡管只顯示了一個(gè)CPU 104,計(jì)算機(jī)系統(tǒng)100也可以包括多個(gè)處理單元。
CPU 104通過(guò)CPU總線108與總線控制器112相連。總線控制器112包括集成在其內(nèi)的存儲(chǔ)器控制器116,但存儲(chǔ)器控制器116也可以在總線控制器112外部。存儲(chǔ)器控制器116提供了一個(gè)CPU 104或其他設(shè)備經(jīng)存儲(chǔ)器總線120訪問(wèn)系統(tǒng)存儲(chǔ)器124的接口。在一個(gè)實(shí)施例中,系統(tǒng)存儲(chǔ)器124包括同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)。系統(tǒng)存儲(chǔ)器124可以可選地包括附加的或者可替代的高速存儲(chǔ)設(shè)備或存儲(chǔ)電路。總線控制器112與系統(tǒng)總線128相連,系統(tǒng)總線128可以是外設(shè)部件互連(PCI)總線、工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線等。同系統(tǒng)總線128相連的是圖形控制器、圖形引擎或視頻控制器132、海量存儲(chǔ)設(shè)備152、通信接口設(shè)備156、一個(gè)或多個(gè)輸入/輸出(I/O)設(shè)備1681-168N、以及擴(kuò)展總線控制器172。視頻控制器132與能夠在如數(shù)字144所指示的一單個(gè)卡或設(shè)備上集成的視頻存儲(chǔ)器136(例如8兆字節(jié))和視頻BIOS 140相連。視頻存儲(chǔ)器136用于容納在顯示屏148上顯示信息所需的顯示數(shù)據(jù),視頻BIOS 140包括用于控制視頻控制器132的代碼和視頻服務(wù)。在另一個(gè)實(shí)施例中,視頻控制器132通過(guò)高級(jí)圖形端口(AGP)總線和CPU 104相連接。
海量存儲(chǔ)設(shè)備152包括(但不僅僅局限于)硬盤(pán)、軟盤(pán)、CD-ROM、DVD-ROM、錄音磁帶、高密度軟盤(pán)、高容量活動(dòng)媒體、低容量活動(dòng)媒體、固態(tài)存儲(chǔ)設(shè)備等及其組合。海量存儲(chǔ)設(shè)備152還可以包括任何其他海量存儲(chǔ)媒體。通信接口設(shè)備156包括網(wǎng)卡、調(diào)制解調(diào)器接口等,用于通過(guò)通信鏈路160訪問(wèn)網(wǎng)絡(luò)164。I/O設(shè)備1681-168N包括鍵盤(pán)、鼠標(biāo)、聲卡、打印機(jī)和類(lèi)似設(shè)備。I/O設(shè)備1681-168N可以是磁盤(pán)驅(qū)動(dòng)器、例如高密度磁盤(pán)驅(qū)動(dòng)器、數(shù)字磁盤(pán)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、壓縮驅(qū)動(dòng)器、強(qiáng)化驅(qū)動(dòng)器、數(shù)字視盤(pán)(DVD)驅(qū)動(dòng)器、固態(tài)存儲(chǔ)設(shè)備、磁光盤(pán)驅(qū)動(dòng)器、高密度軟盤(pán)驅(qū)動(dòng)器、高容量活動(dòng)媒體驅(qū)動(dòng)器、低容量活動(dòng)媒體驅(qū)動(dòng)器和/或其組合。擴(kuò)展總線控制器172與包括系統(tǒng)固件176的非易失性存儲(chǔ)器175相連。系統(tǒng)固件176包括用來(lái)控制計(jì)算機(jī)系統(tǒng)100中的硬件設(shè)備的系統(tǒng)BIOS(附圖3中的數(shù)字82所示)。系統(tǒng)固件176還包括ROM 180和閃存(或EEPROM)184。擴(kuò)展總線控制器172還與具有RAM、ROM和/或閃存(未顯示)的擴(kuò)展存儲(chǔ)器188相連接。系統(tǒng)100另外還包括與總線控制器112相連接的存儲(chǔ)器模塊190。在一個(gè)實(shí)施例中,存儲(chǔ)器模塊190包括ROM 192和閃存(或EEPROM)194。
對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)很常見(jiàn)的是,計(jì)算機(jī)系統(tǒng)100還包括一個(gè)操作系統(tǒng)(OS)和至少一個(gè)應(yīng)用程序,在一個(gè)實(shí)施例中,將應(yīng)用程序從海量存儲(chǔ)器152載入系統(tǒng)存儲(chǔ)器124并在POST之后啟動(dòng)。OS包括但并不局限或限制在包括DOS、WindowsTM(例如Windows95TM,Windows98TM,WindowsNTTM等)、Unix、Linux、OS/2、OS/9、Xenix等中的任何一種OS類(lèi)型。操作系統(tǒng)是控制計(jì)算機(jī)系統(tǒng)的運(yùn)作和資源配置的一個(gè)或多個(gè)程序的集合。應(yīng)用程序是執(zhí)行用戶所要求的任務(wù)的一個(gè)或多個(gè)軟件程序的集合。
根據(jù)本領(lǐng)域普通技術(shù)人員的實(shí)踐,除非另外指明,在下文中參考由計(jì)算機(jī)系統(tǒng)100執(zhí)行的操作的符號(hào)表示來(lái)描述本發(fā)明。這樣的操作有時(shí)指的是由計(jì)算機(jī)執(zhí)行的。這樣將認(rèn)識(shí)到,以符號(hào)表示的操作包括由CPU104對(duì)表示數(shù)據(jù)比特的電信號(hào)的處理和數(shù)據(jù)比特在系統(tǒng)存儲(chǔ)器124中的存儲(chǔ)單元的保存,以及其他的信號(hào)處理。保存數(shù)據(jù)比特的存儲(chǔ)單元是有特定的電、磁、光或與數(shù)據(jù)比特相符合的有機(jī)特性的物理區(qū)域。
當(dāng)以軟件實(shí)施時(shí),本發(fā)明的要素實(shí)質(zhì)上是執(zhí)行必要任務(wù)的代碼段。程序或代碼段可以被存儲(chǔ)在處理器可讀媒體中或以包含在載波中的計(jì)算機(jī)數(shù)據(jù)信號(hào)在傳播媒體或通信鏈路上發(fā)送。“處理器可讀媒體”包括能夠存儲(chǔ)或傳送信息的任何媒體。處理器可讀媒體的例子包括電子線路、半導(dǎo)體存儲(chǔ)設(shè)備、ROM、閃存、可擦除ROM(EROM)、軟磁盤(pán)、CD-ROM、光盤(pán)、硬盤(pán)、光纖媒體、射頻(RF)鏈路等。計(jì)算機(jī)數(shù)據(jù)信號(hào)包括能夠在諸如電子網(wǎng)絡(luò)信道、光纖、空氣、電磁、射頻鏈路等的傳輸媒體上傳播的任何信號(hào)。代碼段可通過(guò)因特網(wǎng)、內(nèi)聯(lián)網(wǎng)等計(jì)算機(jī)網(wǎng)絡(luò)下載。
圖3顯示了計(jì)算機(jī)系統(tǒng)100的邏輯圖。參考圖2和3,系統(tǒng)固件176包括在POST期間載入系統(tǒng)存儲(chǔ)器124并在隨后由處理器104執(zhí)行的軟件模塊和數(shù)據(jù)。在一個(gè)實(shí)施例中,系統(tǒng)固件176包括一個(gè)具有系統(tǒng)BIOS處理程序、硬件例程等的系統(tǒng)BIOS模塊82、一個(gè)ROM應(yīng)用程序接口(RAPI)模塊84、一個(gè)初始啟動(dòng)應(yīng)用程序(ISUA)模塊86、一個(gè)初始有效載荷88a、密鑰90、密碼引擎92和顯示引擎94。系統(tǒng)固件176的上述模塊和部分包含于ROM180和/或閃存184中?;蛘?,系統(tǒng)固件176的上述模塊和部分也可以包含于ROM190和/或閃存194中。RAPI 84提供了ROM應(yīng)用程序和系統(tǒng)BIOS 82之間的安全接口。RAPI 84、ISUA 86和初始有效載荷88a每一個(gè)都在最初使用計(jì)算機(jī)系統(tǒng)100之前單獨(dú)地開(kāi)發(fā)并存儲(chǔ)在系統(tǒng)固件中。在一個(gè)實(shí)施例中,RAPI 84、ISUA 86和初始有效載荷88a每一個(gè)都包括由Phoenix Technologies,Ltd開(kāi)發(fā)的專(zhuān)有軟件。在轉(zhuǎn)讓給Phoenix Technologies,Ltd的1999年6月18日申請(qǐng)的、題目為“安全使用基本輸入輸出(BIOS)服務(wù)的系統(tǒng)和方法”的共同未決的美國(guó)專(zhuān)利申請(qǐng)的序列號(hào)中描述了RAPI 84的一個(gè)實(shí)施例,其內(nèi)容在此作為參考。在轉(zhuǎn)讓給Phoenix Technologies,Ltd的1999年6月18日申請(qǐng)的題目為“在計(jì)算機(jī)上自動(dòng)安裝和構(gòu)建軟件的方法和設(shè)備”的共同未決的美國(guó)專(zhuān)利申請(qǐng)的序列號(hào)__中描述了ISUA 86的一個(gè)實(shí)施例,其內(nèi)容在此作為參考。
如圖3和4A和4B所示的一個(gè)實(shí)施例中,在最初對(duì)一個(gè)新的計(jì)算機(jī)系統(tǒng)100加電之后,系統(tǒng)以POST過(guò)程開(kāi)始。在初始POST期間,ISUA 86被傳送到海量存儲(chǔ)設(shè)備152,如A1所示。在一個(gè)實(shí)施例中,這樣的傳送是在制造和/或裝配過(guò)程中當(dāng)系統(tǒng)100在操作系統(tǒng)安裝之后(但是在載入和運(yùn)行操作系統(tǒng)之前)首次加電時(shí)進(jìn)行的。在另一個(gè)實(shí)施例中,這樣的傳送是在制造和/或裝配過(guò)程之后在用戶收到和加電系統(tǒng)100之后進(jìn)行的。在另一個(gè)可代替實(shí)施例中,在ISUA86傳送期間,附加程序、應(yīng)用程序、驅(qū)動(dòng)程序、數(shù)據(jù)、圖形和其他信息也可以被傳送(例如,從ROM)到海量存儲(chǔ)器152。例如,傳送包括初始有效載荷88a到海量存儲(chǔ)器152的傳送,隨后從海量存儲(chǔ)器152傳遞出初始有效載荷。在1999年6月18日申請(qǐng)的、轉(zhuǎn)讓給Phoenix Technologies,Ltd的題目為“一種從系統(tǒng)固件向存儲(chǔ)設(shè)備傳送應(yīng)用程序的系統(tǒng)和方法”的共同未決的美國(guó)專(zhuān)利申請(qǐng)的序列號(hào)__中描述了用于這種傳送的系統(tǒng)和程序的一個(gè)實(shí)施例,其內(nèi)容在此作為參考。在1999年3月19日申請(qǐng)的、題目為“一種提供基于存儲(chǔ)器的設(shè)備仿真的方法和設(shè)備”的共同未決的美國(guó)專(zhuān)利申請(qǐng)的序列號(hào)09/272,859、在1999年6月18日申請(qǐng)的、題目為“一種提供基于存儲(chǔ)器的設(shè)備仿真的方法和設(shè)備”的共同未決的美國(guó)專(zhuān)利部分繼續(xù)申請(qǐng)的序列號(hào)、以及1999年6月18日申請(qǐng)的、題目為“一種在海量存儲(chǔ)器中插入一個(gè)或者多個(gè)文件的系統(tǒng)和方法”的共同未決的美國(guó)專(zhuān)利申請(qǐng)的序列號(hào)__中描述了用于這種傳送的系統(tǒng)和程序的另一個(gè)實(shí)施例,每一個(gè)申請(qǐng)都轉(zhuǎn)讓給本發(fā)明的受讓人Phoenix Technologies,Ltd,其內(nèi)容在此作為參考。
在一個(gè)實(shí)施例中,ISUA 86是一個(gè)確定是否有駐留在終端用戶系統(tǒng)中的預(yù)安裝程序的計(jì)算機(jī)軟件可執(zhí)行程序。如果是,它將識(shí)別那些預(yù)安裝的程序,并(在Windows操作系統(tǒng)的情況下,在桌面上)生成快捷方式或書(shū)簽,來(lái)允許用戶自動(dòng)運(yùn)行程序。在這個(gè)實(shí)施例中,如下所述可執(zhí)行程序也能夠啟動(dòng)和建定與服務(wù)器22和/或任何一個(gè)服務(wù)計(jì)算機(jī)26(圖1)上的一個(gè)或者多個(gè)應(yīng)用程序的雙向通信。此外,在一個(gè)實(shí)施例中,初始有效載荷88a中的圖形內(nèi)容在POST期間通過(guò)顯示引擎94顯示在用戶的顯示器上?;蛘?,初始有效載荷88a中的圖形內(nèi)容可以在隨后的引導(dǎo)程序之后顯示。例如,作為下述的用戶簡(jiǎn)要文件的一部分,用戶會(huì)被詢(xún)問(wèn)他或她是否想獲得關(guān)于一種或多種產(chǎn)品和/或服務(wù)的附加信息。如果用戶這樣要求,所需產(chǎn)品和或服務(wù)的相關(guān)內(nèi)容在隨后的引導(dǎo)程序期間被顯示。
一旦POST完成,OS被裝載、執(zhí)行和初始化。然后標(biāo)準(zhǔn)的OS驅(qū)動(dòng)程序和服務(wù)程序被裝載。然后提示用戶輸入包括諸如年齡、性別、愛(ài)好等人口統(tǒng)計(jì)信息的注冊(cè)信息。另外,執(zhí)行ISUA 86,在后臺(tái)運(yùn)行,保持空閑狀態(tài),直到它檢測(cè)到通過(guò)圖2的網(wǎng)絡(luò)164(例如,因特網(wǎng))在計(jì)算機(jī)系統(tǒng)100與遠(yuǎn)程服務(wù)器(例如圖1中的服務(wù)器22)之間建立的通信鏈路。在一個(gè)實(shí)施例中,ISUA 86可以通過(guò)操作系統(tǒng)查找,以確定是否有已經(jīng)裝載和已經(jīng)安裝在系統(tǒng)上的應(yīng)用程序。如果有,一旦通信鏈路建立,ISUA 86能自動(dòng)為應(yīng)用程序提供快捷方式和/或書(shū)簽來(lái)運(yùn)行進(jìn)一個(gè)預(yù)定的服務(wù)器。這個(gè)通信鏈路可以通過(guò)報(bào)路以一個(gè)網(wǎng)絡(luò)協(xié)議堆棧(比如TCP/IP)或任何其他的本領(lǐng)域已知雙向通信技術(shù)來(lái)建立。一旦建立了通信鏈路30,ISUA 86向服務(wù)器22(如A2所示)發(fā)出一個(gè)請(qǐng)求信號(hào),以便從一個(gè)內(nèi)容模塊60下載一個(gè)初始內(nèi)容程序包62。響應(yīng)這個(gè)請(qǐng)求,服務(wù)器下載這個(gè)初始內(nèi)容程序包62(如A3所示),在一個(gè)實(shí)施例中,該初始內(nèi)容程序包62被存儲(chǔ)在海量存儲(chǔ)器152中。在一個(gè)實(shí)施例中,初始內(nèi)容62和后續(xù)內(nèi)容64可以單獨(dú)開(kāi)發(fā),在服務(wù)器22保存初始內(nèi)容62和后續(xù)內(nèi)容64之前,將每個(gè)內(nèi)容都用密鑰進(jìn)行加密和/或數(shù)字符號(hào)化。當(dāng)初始內(nèi)容62和或/后續(xù)內(nèi)容64隨后被下載進(jìn)系統(tǒng)100中時(shí),密碼引擎92將使用密鑰90對(duì)初始內(nèi)容62和/或后續(xù)內(nèi)容64進(jìn)行解密。
如上所述,初始內(nèi)容程序包62包括應(yīng)用程序62a、驅(qū)動(dòng)程序62b和有效載荷62c。在一個(gè)實(shí)施例中,應(yīng)用程序62a包括一個(gè)數(shù)據(jù)載入應(yīng)用程序和一個(gè)簡(jiǎn)要文件管理器應(yīng)用程序。數(shù)據(jù)載入應(yīng)用程序以與ISUA 86相同或相似的方式工作,一旦下載,則禁止并替代ISUA 86。更具體地,數(shù)據(jù)載入應(yīng)用程序是一個(gè)還能夠啟動(dòng)、建立和結(jié)束服務(wù)器22和計(jì)算機(jī)系統(tǒng)100之間的雙向通信的計(jì)算機(jī)軟件程序。數(shù)據(jù)載入應(yīng)用程序還提供服務(wù)器22和計(jì)算機(jī)系統(tǒng)100之間的通信控制管理、以及促進(jìn)終端用戶系統(tǒng)和指定服務(wù)器之間的通信和下載到終端用戶系統(tǒng)的內(nèi)容等其他功能度。
簡(jiǎn)要文件管理器根據(jù)用戶偏好、系統(tǒng)硬件和在計(jì)算機(jī)系統(tǒng)100上安裝的軟件獲得計(jì)算機(jī)系統(tǒng)100的用戶和系統(tǒng)的簡(jiǎn)要文件。在獲得計(jì)算機(jī)系統(tǒng)100的用戶和系統(tǒng)簡(jiǎn)要文件基礎(chǔ)上,簡(jiǎn)要文件管理器應(yīng)用程序?qū)⒔Y(jié)果傳送給數(shù)據(jù)載入應(yīng)用程序,數(shù)據(jù)載入應(yīng)用程序隨后將這些信息提供給服務(wù)器22,服務(wù)器22將用戶指定的偏好與數(shù)據(jù)庫(kù)24(圖1)進(jìn)行匹配。結(jié)果可以在預(yù)定的時(shí)間間隔或根據(jù)用戶需要被傳送。然后,服務(wù)器22處理用戶簡(jiǎn)要文件或人口統(tǒng)計(jì)學(xué)數(shù)據(jù),并將內(nèi)容對(duì)準(zhǔn)有相似簡(jiǎn)要文件的用戶。另外,多個(gè)用戶的用戶簡(jiǎn)要文件數(shù)據(jù)在服務(wù)器22中被編譯和集合來(lái)生成一個(gè)總體用戶簡(jiǎn)要文件模型。然后將內(nèi)容傳送到以用戶簡(jiǎn)要文件數(shù)據(jù)和/或總體用戶簡(jiǎn)要文件模塊為基礎(chǔ)的用戶的計(jì)算機(jī)系統(tǒng)上(如A4所示)。后續(xù)內(nèi)容64被下載并存儲(chǔ)在系統(tǒng)固件176中,由數(shù)字88b所示。在一個(gè)實(shí)施例中,后續(xù)內(nèi)容64被保存在非易失性存儲(chǔ)器、例如閃存或EEPROM中,如同本領(lǐng)域普通技術(shù)人員所熟知的,后續(xù)內(nèi)容的載入是通過(guò)重新反照ROM完成的。后續(xù)內(nèi)容64也可以作為一個(gè)或多個(gè)文件存儲(chǔ)在海量存儲(chǔ)器152中或被用于修正WindowsTM系統(tǒng)文件(在WindowsTM環(huán)境下)。簡(jiǎn)要文件收集過(guò)程在計(jì)算機(jī)系統(tǒng)100活動(dòng)期間一直繼續(xù)。在一個(gè)實(shí)施例中,內(nèi)容可以在服務(wù)器22接收并分析了用戶的簡(jiǎn)要文件之后才下載。
當(dāng)計(jì)算機(jī)系統(tǒng)100隨后被加電時(shí)(見(jiàn)圖4B),系統(tǒng)再次執(zhí)行POST。然后,在載入和/或執(zhí)行操作系統(tǒng)之前,顯示先前下載和保存在系統(tǒng)固件176中且有關(guān)版權(quán)問(wèn)題的主題已經(jīng)解決的內(nèi)容。在WindowsTM環(huán)境中,在初始載入操作系統(tǒng)期間顯示的WindowsTM徽標(biāo)隨后被一個(gè)或多個(gè)顯示保存在系統(tǒng)固件176中的以前下載的內(nèi)容的屏幕所代替。
在與再閃爍ROM相對(duì)的將內(nèi)容作為一個(gè)或者多個(gè)文件存儲(chǔ)在海量存儲(chǔ)器152中的情況下,在引導(dǎo)或關(guān)閉時(shí)顯示的WindowsTM徽標(biāo)可以被改變或替換。利用這種方法的一個(gè)實(shí)施例包括用一個(gè)或多個(gè)顯示內(nèi)容的文件(例如,圖形文件)替換相應(yīng)的WindowsTM系統(tǒng)文件,如同在1999年6月18日申請(qǐng)的、題目為“在引導(dǎo)或關(guān)閉過(guò)程中顯示圖象”、轉(zhuǎn)讓給Phoenix Technologies,Ltd的共同未決的美國(guó)專(zhuān)利申請(qǐng)的序列號(hào)中所描述的,其內(nèi)容在此作為參考。將引導(dǎo)Windows顯示文件取名為L(zhǎng)OGO.SYS,通常位于Windows目錄中。首先將WindowsTMLOGO.SYS文件從Windows目錄傳送到其他目錄。然后,將內(nèi)容圖形文件重命名為L(zhǎng)OGO.SYS并傳送到Windows目錄下。當(dāng)操作系統(tǒng)初次被運(yùn)行時(shí),操作系統(tǒng)將恢復(fù)這個(gè)文件,因此,內(nèi)容在顯示器上顯示。WindowsTM期望LOGO.SYS文件是圖形分辨率為320×400和256色的一個(gè)位圖文件,盡管WindowsTM后來(lái)為了顯示的目的將圖象分辨率擴(kuò)展到640×400。因此,內(nèi)容圖形文件將成為同樣的圖形格式(在重命名為L(zhǎng)OGO.SYS之前通常以“.BMP”為擴(kuò)展名進(jìn)行命名)。
操作系統(tǒng)然后被裝載、執(zhí)行和初始化。標(biāo)準(zhǔn)操作系統(tǒng)驅(qū)動(dòng)程序和應(yīng)用程序也被裝載。簡(jiǎn)要文件管理器被執(zhí)行。當(dāng)已經(jīng)建立與預(yù)定網(wǎng)站的鏈接時(shí),附加的內(nèi)容會(huì)被下載和隨后被顯示。這樣的附加內(nèi)容既可以任意地被提供,也可以根據(jù)從用戶或用戶系統(tǒng)的調(diào)查中獲得的信息被提供。在一個(gè)實(shí)施例中,一旦引導(dǎo)過(guò)程完成,顯示屏的一部分將被用來(lái)顯示用于訪問(wèn)關(guān)于以前以圖形或信息材料顯示過(guò)的消息的詳細(xì)信息的圖標(biāo)和快捷方式。在更進(jìn)一步的實(shí)施例中,以圖形或信息材料表示的消息在關(guān)閉過(guò)程期間可以再次被顯示,例如,用其他的選擇內(nèi)容來(lái)替換屏幕顯示的“Windows正在關(guān)機(jī)”或“現(xiàn)在可以安全關(guān)閉你的計(jì)算機(jī)”等消息。
圖5是依據(jù)本發(fā)明的一個(gè)實(shí)施例的產(chǎn)生用于顯示的圖象的結(jié)構(gòu)的示意圖。這個(gè)結(jié)構(gòu)包括存儲(chǔ)器124/176/190、屬性發(fā)生器530和圖象發(fā)生器540。
存儲(chǔ)器124/176/190包括一個(gè)模板510和圖形對(duì)象520。存儲(chǔ)器124/176/190可以是任何類(lèi)型的存儲(chǔ)介質(zhì),例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除只讀存儲(chǔ)器(EROM)、閃存。在一個(gè)優(yōu)選實(shí)施例中,該存儲(chǔ)器是閃存。圖形對(duì)象520可以與模板510存儲(chǔ)在同一存儲(chǔ)介質(zhì)上或存儲(chǔ)在另一個(gè)存儲(chǔ)介質(zhì)上。例如模板510和圖形對(duì)象520都存儲(chǔ)在一個(gè)諸如閃存的固件上,或者,模板510存儲(chǔ)在固件中,而圖形對(duì)象520存儲(chǔ)在海量存儲(chǔ)設(shè)備上(如硬盤(pán))。模板510和圖形對(duì)象520可以更新。
模板510包括數(shù)個(gè)標(biāo)識(shí)符,它們構(gòu)成了描述圖形對(duì)象特性的圖形屬性。圖形對(duì)象520包含關(guān)于要在顯示屏上顯示的對(duì)象的信息。圖形對(duì)象520可以包括存儲(chǔ)諸如能夠用來(lái)產(chǎn)生圖象的直線和曲線段的圖象圖元件的數(shù)據(jù)結(jié)構(gòu)。圖形對(duì)象520還可以包含或引用位圖級(jí)別的原始圖象數(shù)據(jù)。
屬性發(fā)生器530包括掃描器532和語(yǔ)法分析器534。掃描器532對(duì)模板進(jìn)行詞典分析并生成標(biāo)記。語(yǔ)法分析器534從標(biāo)記序列中生成圖形屬性。圖形屬性包括數(shù)個(gè)標(biāo)識(shí)符和/或用來(lái)在圖形對(duì)象上操作而產(chǎn)生要在顯示器上顯示的圖象的圖形圖元。
圖6A是依據(jù)本發(fā)明的一個(gè)實(shí)施例的圖形對(duì)象的模板510的示意圖。模板510包括一個(gè)開(kāi)始代碼610、N個(gè)命令CMD1、CMD2......CMDN6201、......、620N和一個(gè)結(jié)束代碼630。
開(kāi)始代碼610和結(jié)束代碼630分別是預(yù)先定義的代表模板開(kāi)始和結(jié)束的代碼。將開(kāi)始代碼610和結(jié)束代碼630選擇為使其是模板510中的獨(dú)特代碼。在一個(gè)實(shí)施例中,開(kāi)始代碼610和結(jié)束代碼630都是單字節(jié)的標(biāo)識(shí)符。
每一個(gè)命令CMDN 6201、......、620N都包括兩個(gè)部分一個(gè)命令代碼622和一個(gè)命令信息624。命令代碼622表明所執(zhí)行的命令的類(lèi)型,命令信息624提供命令代碼所需的信息。有些命令可能不需要命令信息。在一個(gè)實(shí)施例中,命令代碼622是一個(gè)單字節(jié)的標(biāo)識(shí)符,命令信息624是一個(gè)多字節(jié)數(shù)據(jù)。
命令代碼622是一個(gè)規(guī)定由圖象控制器所執(zhí)行的圖形操作的標(biāo)識(shí)符。一個(gè)圖形操作可以包括顯示允許/禁止、簡(jiǎn)單形狀繪圖(例如直線、圓、方框、三角形、點(diǎn)、多邊形)、文件引用(例如位圖、調(diào)色板、字體、動(dòng)畫(huà)、聲音)及其它操作。
顯示開(kāi)631表明顯示被允許。它并不需要相應(yīng)的命令信息。顯示關(guān)632表明顯示被禁止。它也不需要相應(yīng)的命令信息。線633用直線信息634畫(huà)出一條直線,直線信息634包括線段的兩個(gè)端點(diǎn)坐標(biāo)(x1,y1)和(x2,y2)及線段的顏色代碼。圓635用圓信息636畫(huà)出一個(gè)圓,圓信息636包括圓心坐標(biāo)(x,y)、半徑、顏色和填充代碼。方框637使用方框信息638畫(huà)出一個(gè)長(zhǎng)方形,方框信息638包括四個(gè)頂點(diǎn)坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、顏色和填充代碼。三角形639利用三角形信息640畫(huà)出一個(gè)三角形,三角形信息64包括三角形的三個(gè)頂點(diǎn)坐標(biāo)(x1,y1)、(x2,y2)、(x3,y3)、顏色和填充代碼。點(diǎn)641利用點(diǎn)信息642畫(huà)出一個(gè)點(diǎn),點(diǎn)信息642包括點(diǎn)的坐標(biāo)(x,y)和顏色。多邊形643利用多邊形信息644畫(huà)出一個(gè)多邊形,多邊形信息644包括N個(gè)頂點(diǎn)坐標(biāo)(x1,y1)、......、(xN,yN)、顏色和填充代碼。
位圖對(duì)象651采用指定位圖文件名和擴(kuò)展名的位圖信息652從位圖文件提供一個(gè)位圖對(duì)象。調(diào)色板對(duì)象653采用指定調(diào)色板文件名和擴(kuò)展名的調(diào)色板信息654從調(diào)色板文件提供一個(gè)調(diào)色板對(duì)象。字體對(duì)象655采用指定字體的文件名和擴(kuò)展名的字體信息656為正文串提供一個(gè)字體類(lèi)型。區(qū)域?qū)ο?57采用包括區(qū)域標(biāo)識(shí)符的區(qū)域信息658指定一個(gè)區(qū)域號(hào)碼。正文串對(duì)象659采用包括要產(chǎn)生的字符串的文本信息660創(chuàng)建一個(gè)具有特定字體類(lèi)型的正文串。調(diào)色板索引671采用包括索引的調(diào)色板索引信息672指向調(diào)色板對(duì)象。填充調(diào)色板索引673采用包括索引的填充調(diào)色板索引信息674指向用于填充對(duì)象的調(diào)色板。動(dòng)畫(huà)675采用包括動(dòng)畫(huà)文件名和擴(kuò)展名的動(dòng)畫(huà)信息676從動(dòng)畫(huà)文件提供一個(gè)動(dòng)畫(huà)序列。聲音677采用包括聲音文件名和擴(kuò)展名的聲音信息678從聲音文件產(chǎn)生一個(gè)聲音序列。
圖6B是依據(jù)本發(fā)明的一個(gè)實(shí)施例的顯示屏680的示意圖。顯示屏680例示性地顯示了九個(gè)區(qū)域,包括區(qū)域1682、區(qū)域2683、區(qū)域3684、區(qū)域4685、區(qū)域5686、區(qū)域6687、區(qū)域7690、區(qū)域8691和區(qū)域9692。
用于產(chǎn)生這些區(qū)域的模板包括一系列的命令,這些命令利用方框命令來(lái)確定各個(gè)區(qū)域的四個(gè)頂點(diǎn)的坐標(biāo)。另外,相應(yīng)的位圖和文本文件也被引用以用于各個(gè)區(qū)域。
區(qū)域1682、區(qū)域2683、區(qū)域3684、區(qū)域4685、區(qū)域5686、區(qū)域6687、區(qū)域7690、區(qū)域8691和區(qū)域9692是分別用包含在引用文件textl.bmp、text2.bmp、logo1.bmp、logo2.bmp、logo3.bmp、bitmap1.bmp、bitmap2.bmp、bitmap3.bmp和bitmap4.bmp中的位圖或文本文件產(chǎn)生的。
圖7是依據(jù)本發(fā)明的一個(gè)實(shí)施例的顯示圖象的過(guò)程700的流程圖。
開(kāi)始時(shí),過(guò)程700初始化顯示引擎以建立一個(gè)顯示環(huán)境,如顯示分辨率和顏色濃度(方框710)。該顯示環(huán)境可以是顯示引擎的默認(rèn)環(huán)境也可以是任何指定的環(huán)境。然后過(guò)程700從存儲(chǔ)器中檢索出模板(方框720)。這個(gè)檢索可以通過(guò)在存儲(chǔ)器預(yù)定地址讀存儲(chǔ)單元來(lái)完成。過(guò)程700對(duì)模板進(jìn)行掃描以產(chǎn)生一系列標(biāo)志(方框730)。然后,過(guò)程700分析這些標(biāo)志,產(chǎn)生描述圖形對(duì)象特點(diǎn)的圖形屬性(方框740)。
過(guò)程700利用從模板中分析出來(lái)的位置標(biāo)識(shí)符從存儲(chǔ)器中得到圖形對(duì)象(方框750)。然后,過(guò)程700利用圖形屬性從圖形對(duì)象中產(chǎn)生要顯示的圖象(方框760)。如果在圖形屬性里指定了動(dòng)畫(huà)和/或聲音,則因此會(huì)產(chǎn)生動(dòng)畫(huà)和/或聲音。最后,過(guò)程700將圖象寫(xiě)入與顯示引擎相聯(lián)系的顯示器緩存器(方框760)。則過(guò)程700結(jié)束。
BIOS的引導(dǎo)和BIOS加載操作系統(tǒng)可能會(huì)花去幾秒鐘時(shí)間。在這個(gè)時(shí)間里,監(jiān)視屏僅僅顯示BIOS信息,如測(cè)試統(tǒng)計(jì)和結(jié)果。在大多數(shù)情況下,這些結(jié)果是相同的,并且不會(huì)向用戶提供什么有用的信息。因此,顯示其它圖形、例如從互聯(lián)網(wǎng)上下載的廣告、標(biāo)語(yǔ)或在這個(gè)時(shí)候產(chǎn)生聲音都是更可取的。這些活動(dòng)可以在BIOS引導(dǎo)序列的較早階段在引導(dǎo)前期間進(jìn)行。媒體設(shè)備是指能夠產(chǎn)生圖形或聲音或其它媒體信息的設(shè)備。例如,圖形引擎或圖形控制器通常有一組圖元,使其能夠根據(jù)少量數(shù)據(jù)顯示出大的復(fù)雜圖象。所得的顯示一直保留在屏幕上,直到BIOS引導(dǎo)完成或機(jī)器開(kāi)始做其它的工作時(shí)為止。
圖8是依據(jù)本發(fā)明的一個(gè)實(shí)施例的引導(dǎo)前媒體系統(tǒng)800的示意圖。引導(dǎo)前媒體系統(tǒng)800實(shí)質(zhì)上是圖2中所示的系統(tǒng)100的一個(gè)子系統(tǒng)。引導(dǎo)前媒體系統(tǒng)800包括處理器104、總線108/128、BIOS存儲(chǔ)器176、海量存儲(chǔ)器152、系統(tǒng)存儲(chǔ)器124、媒體存儲(chǔ)器124/152/184、聲卡168、圖形或視頻控制器132和顯示器148。
處理器104運(yùn)行BIOS存儲(chǔ)器176中的指令并且在操作系統(tǒng)載入系統(tǒng)存儲(chǔ)器124中時(shí)運(yùn)行操作系統(tǒng)。在引導(dǎo)前活動(dòng)中,處理器通過(guò)總線108/128與聲卡168和圖形控制器132進(jìn)行通信。當(dāng)加電重啟時(shí),處理器104開(kāi)始自一預(yù)定地址開(kāi)始取指令,以便從BIOS存儲(chǔ)器176中開(kāi)始引導(dǎo)BIOS。
BIOS存儲(chǔ)器176包含了包括最簡(jiǎn)媒體初始化代碼810、常規(guī)BIOS代碼815和操作系統(tǒng)(OS)載入程序820的BIOS。通常,處理器104首先運(yùn)行最簡(jiǎn)媒體初始化代碼810,然后運(yùn)行常規(guī)BIOS代碼815,最后是操作系統(tǒng)載入程序820。
最簡(jiǎn)媒體初始化代碼810包括用來(lái)初始化圖形控制器132和/或聲卡168的最簡(jiǎn)代碼,從而可以執(zhí)行引導(dǎo)前媒體產(chǎn)生。初始化代碼810可以包括配置圖形控制器132的顯示模式(例如,顏色濃度和顯示分辨率)、聲卡168的聲音模式、圖形和/或聲音指令及圖形數(shù)據(jù)和/或聲音數(shù)據(jù)的地址的指令。對(duì)于更加先進(jìn)的圖形控制器,初始化代碼810中可以包括一個(gè)完全的代碼序列,它使得圖形控制器能夠不用或只用很少的附加圖形信息就可以產(chǎn)生圖象。對(duì)于這些圖形控制器,初始化代碼810可以包括產(chǎn)生圖形圖元、例如象素、直線、簡(jiǎn)單形狀、陰影、顏色以及在顯示器上的具體位置以顯示所得圖象的命令。最簡(jiǎn)媒體初始化代碼810通常是在BIOS引導(dǎo)的較早階段運(yùn)行的,這樣引導(dǎo)前媒體生成就能夠盡早地進(jìn)行。在處理器104運(yùn)行了最簡(jiǎn)媒體初始化代碼810之后,圖形控制器132和/或聲卡168開(kāi)始脫離處理器104獨(dú)立地工作。
常規(guī)BIOS代碼815包括在常規(guī)BIOS引導(dǎo)過(guò)程中執(zhí)行常規(guī)BIOS任務(wù)的指令。這些任務(wù)包括POST、初始化和配置外圍設(shè)備(如果必要,包括圖形控制器132和聲卡168)和其它系統(tǒng)檢測(cè)。在這個(gè)過(guò)程中,圖形控制器132不斷地產(chǎn)生在顯示器132上顯示的圖象,聲卡168也不斷地產(chǎn)生出聲音。
OS載入程序820包括從海量存儲(chǔ)器152向系統(tǒng)存儲(chǔ)器124中載入OS 830的指令。當(dāng)OS載入系統(tǒng)存儲(chǔ)器124之后,控制權(quán)就交給了OS,處理器104運(yùn)行來(lái)自O(shè)S的適當(dāng)?shù)某绦?。在OS載入的過(guò)程中,圖形控制器132和聲卡168不斷地產(chǎn)生圖形和聲音。因?yàn)镺S載入可能需要幾秒鐘時(shí)間來(lái)完成,所以這段時(shí)間被有效地利用起來(lái)在顯示器上顯示有用的信息及產(chǎn)生有用的聲音。當(dāng)OS接管之后,圖形和聲音作業(yè)都是按OS中相應(yīng)的驅(qū)動(dòng)程序的要求來(lái)進(jìn)行的。這時(shí)引導(dǎo)前媒體活動(dòng)結(jié)束,常規(guī)的系統(tǒng)操作開(kāi)始。
海量存儲(chǔ)器152中存儲(chǔ)著OS 830和其它的數(shù)據(jù)及信息。如上所述,OS 830在BIOS引導(dǎo)結(jié)束時(shí)被載入系統(tǒng)存儲(chǔ)器124中。通常情況下,僅有一部分OS 830駐留在系統(tǒng)存儲(chǔ)器830中。驅(qū)動(dòng)程序、其它程序和數(shù)據(jù)可以根據(jù)需要在系統(tǒng)存儲(chǔ)器124和海量存儲(chǔ)器152之間進(jìn)行交換。OS 830中可以包括用來(lái)適當(dāng)?shù)刂匦聠?dòng)圖形控制器132和聲卡168的驅(qū)動(dòng)程序。一般,當(dāng)OS 830開(kāi)始運(yùn)行,引導(dǎo)前媒體活動(dòng)就結(jié)束了。
系統(tǒng)存儲(chǔ)器124包括隨機(jī)存取存儲(chǔ)器(RAM),其中包含了載入的部分操作系統(tǒng)830。系統(tǒng)存儲(chǔ)器124中也可以包括其它類(lèi)型的存儲(chǔ)器如閃存。
媒體存儲(chǔ)器124/152/184中存儲(chǔ)著媒體信息,以備必要時(shí)供媒體設(shè)備使用。媒體存儲(chǔ)器124/152/184可以是系統(tǒng)存儲(chǔ)器124、海量存儲(chǔ)器152或閃存184的一部分。媒體信息包括媒體數(shù)據(jù)840、媒體模式845和媒體命令850。媒體數(shù)據(jù)840是供媒體設(shè)備直接用來(lái)產(chǎn)生媒體輸出的數(shù)據(jù)。這些數(shù)據(jù)可以直接在媒體存儲(chǔ)器124/152/184中訪問(wèn),也可以通過(guò)指針或文件名來(lái)引用。媒體數(shù)據(jù)的例子包括圖形位映象數(shù)據(jù)和數(shù)字化聲音樣本序列。媒體模式845提供了媒體設(shè)備的運(yùn)行模式。例如,圖形動(dòng)畫(huà)模式指的是圖形幀的一系列重復(fù)序列。媒體命令850是媒體設(shè)備用來(lái)實(shí)現(xiàn)其功能度的具體的命令。媒體命令850的例子包括將圖形數(shù)據(jù)的圖象顯示在顯示器的某個(gè)具體位置上的命令或以某種方式產(chǎn)生圖象的命令。
聲卡168利用媒體數(shù)據(jù)840中的聲音數(shù)據(jù)為揚(yáng)聲器產(chǎn)生聲音。圖形控制器132產(chǎn)生在顯示器148上顯示的圖象。圖形控制器132中包括配置寄存器860和命令寄存器865。配置寄存器860用來(lái)對(duì)圖形控制器132進(jìn)行配置使之在指定模式下運(yùn)行。命令寄存器865包含指定特定操作、例如圖形填充、畫(huà)直線等等的各種命令。處理器104通過(guò)在相應(yīng)的媒體設(shè)備中寫(xiě)入配置數(shù)據(jù)和命令來(lái)對(duì)聲卡168和圖形控制器132進(jìn)行初始化。一旦媒體設(shè)備被初始化它就可以自己運(yùn)行了。聲卡168可以從媒體存儲(chǔ)器124/152/184中取得聲音數(shù)據(jù)來(lái)為揚(yáng)聲器產(chǎn)生聲音。圖形控制器132可以從媒體存儲(chǔ)器124/152/184中取得圖形數(shù)據(jù)并在顯示器上產(chǎn)生圖象??梢詮拿襟w命令850中獲得另外的命令來(lái)產(chǎn)生更多的媒體結(jié)果。
圖9是依據(jù)本發(fā)明的一個(gè)實(shí)施例的媒體引導(dǎo)前過(guò)程900的流程圖。
開(kāi)始時(shí),系統(tǒng)開(kāi)始加電重啟序列(方框910)。然后處理器通過(guò)訪問(wèn)BIOS存儲(chǔ)器來(lái)引導(dǎo)BIOS(方框920)。處理器以作為BIOS的一部分的最小配置來(lái)初始化媒體設(shè)備(如圖形控制器、聲卡)(方框930)。最小配置為圖形控制器和/或聲卡開(kāi)始脫離處理器而獨(dú)立運(yùn)行提供了足夠的信息。
然后過(guò)程900分成了兩個(gè)并行的分支BIOS分支與BIOS的運(yùn)行相對(duì)應(yīng),媒體分支與媒體設(shè)備相對(duì)應(yīng)。媒體分支包括方框940、950和960。BIOS分支包括方框945、955和965。
在BIOS分支里,處理器繼續(xù)完成BIOS的引導(dǎo)序列(方框945)。剩余的BIOS任務(wù)可能會(huì)花費(fèi)幾秒鐘時(shí)間來(lái)完成。在這段時(shí)間里圖形控制器和/或聲卡進(jìn)行它們初始化和配置的任務(wù)。在BIOS任務(wù)完成之后,處理器從海量存儲(chǔ)器中向系統(tǒng)存儲(chǔ)器中載入操作系統(tǒng)(方框955)。通常一次僅有一部分操作系統(tǒng)被載入。在操作系統(tǒng)被載入存儲(chǔ)器之后,控制權(quán)從BIOS傳給了OS,OS開(kāi)始實(shí)施控制并且產(chǎn)生出其他的圖形和聲音(方框965)。然后過(guò)程900結(jié)束。
在初始化和配置之后,媒體設(shè)備取得媒體信息,例如圖形數(shù)據(jù)、聲音數(shù)據(jù)、文件引用、命令、圖元等等(方框940)。然后媒體設(shè)備開(kāi)始執(zhí)行它們的功能度(方框950)。圖形控制器取得圖形數(shù)據(jù)并且用圖形圖元在顯示器上顯示圖象。圖形數(shù)據(jù)可以對(duì)應(yīng)于存儲(chǔ)在適當(dāng)存儲(chǔ)器中的廣告或標(biāo)題。動(dòng)畫(huà)也可以使用一系列的幀來(lái)實(shí)現(xiàn)。聲卡通過(guò)播放從聲音存儲(chǔ)器中取得的聲音數(shù)據(jù)來(lái)產(chǎn)生聲音。
然后過(guò)程900確定是否操作系統(tǒng)已經(jīng)取得了系統(tǒng)的控制權(quán)(方框960)。如果否,則過(guò)程900回到方框950繼續(xù)媒體操作。否則,過(guò)程900結(jié)束。
本發(fā)明的另一個(gè)方面包括測(cè)量在運(yùn)行中(on-the-fly)的系統(tǒng)設(shè)備性能并且以圖形形式顯示結(jié)果的系統(tǒng)和方法。在一個(gè)實(shí)施例中,測(cè)得信息與相應(yīng)的圖形對(duì)象相聯(lián)系并且顯示出來(lái)。
本發(fā)明的另一個(gè)方面是一種用簡(jiǎn)單、有效和靈活的方法為系統(tǒng)BIOS提供功能度的方法和裝置。它提供了一個(gè)接口模塊,該模塊可使不同的人、例如PC系統(tǒng)制造商和主板制造商僅以最少的對(duì)BIOS代碼的影響就可以為系統(tǒng)BIOS提供附加的功能度。該方法包括對(duì)系統(tǒng)BIOS接入一個(gè)接口模塊及從系統(tǒng)BIOS接收請(qǐng)求以完成一個(gè)任務(wù)。與任務(wù)相對(duì)應(yīng)的系統(tǒng)設(shè)備信息是從BIOS中得到的。接口模塊對(duì)系統(tǒng)設(shè)備信息進(jìn)行翻譯并提供翻譯后的信息。然后該翻譯后的信息被傳送到相應(yīng)的模塊中去。應(yīng)該注意的是,接口模塊的實(shí)施與產(chǎn)生媒體輸出的技術(shù)、檢測(cè)系統(tǒng)設(shè)備性能的技術(shù)和結(jié)果的圖形化顯示可以是相互獨(dú)立地提供的。
圖10A表示了依據(jù)本發(fā)明的原理提供的信息顯示屏1000的一個(gè)實(shí)施例。顯示屏1000顯示了一個(gè)六區(qū)域顯示的例子區(qū)域11010、區(qū)域21020、區(qū)域31030、區(qū)域41040、區(qū)域51050和區(qū)域61060。每個(gè)區(qū)域1010、1020、1030、1040、1050和1060都進(jìn)一步包括子區(qū)域。例如區(qū)域11010包括子區(qū)域1012、1014、1016,區(qū)域21020包括子區(qū)域1022和1024,區(qū)域3包括子區(qū)域1032、1034和1036,區(qū)域4包括子區(qū)域1042和1044,區(qū)域6包括子區(qū)域1062和1064。每個(gè)子區(qū)域可能還包括一個(gè)或多個(gè)字段。例如子區(qū)域1016包括字段1016a和字段1016b,子區(qū)域1064包括字段1064a、字段1064b和字段1064c。
在圖6B中所示的一個(gè)實(shí)施例中,用來(lái)產(chǎn)生這些區(qū)域的模板包括一系列使用方框命令來(lái)指定每個(gè)區(qū)域四個(gè)頂點(diǎn)坐標(biāo)的命令。另外,各個(gè)區(qū)域使用的相應(yīng)的位圖和文本文件也都指定了。例如可以使用包含在相應(yīng)的文本文件、徽標(biāo)文件或位圖文件中的位圖或文本文件來(lái)繪制區(qū)域1010、1020、1030、1040、1050和1060。
在圖10B所示的實(shí)施例中,區(qū)域1010、1020和1060可以用于顯示關(guān)于系統(tǒng)設(shè)備的容量和/或性能的信息。例如,區(qū)域11010可以用于在子區(qū)域1012里顯示標(biāo)識(shí)系統(tǒng)設(shè)備的文本,在這個(gè)例子中是“處理器”。同樣,區(qū)域21020和61060可以用于分別在子區(qū)域1022和1060里顯示標(biāo)識(shí)相應(yīng)的系統(tǒng)設(shè)備“RAM”和“硬盤(pán)驅(qū)動(dòng)器”的文本。在區(qū)域11010中,可以在子區(qū)域1014顯示一個(gè)相應(yīng)的徽標(biāo)。另外,反映系統(tǒng)設(shè)備的兩個(gè)參數(shù)的文本可以顯示在子區(qū)域1016的字段1016a和字段1016b中。例如,字段1016a顯示用第一套標(biāo)準(zhǔn)確定的處理器運(yùn)行速度,字段1016b顯示用第二套標(biāo)準(zhǔn)確定的處理器運(yùn)行速度。第一套標(biāo)準(zhǔn)可以是由一個(gè)經(jīng)銷(xiāo)商(例如生產(chǎn)系統(tǒng)BIOS產(chǎn)品的公司)確定的,第二套標(biāo)準(zhǔn)是由一個(gè)生產(chǎn)商(例如處理器制造商)確定的。
在區(qū)域21020中,包含在子區(qū)域1022中標(biāo)識(shí)的系統(tǒng)設(shè)備容量的文本文件可以顯示在子區(qū)域1024中。同樣,硬盤(pán)驅(qū)動(dòng)器及其相應(yīng)的容量或類(lèi)型的列表可以標(biāo)識(shí)在字段1064a、字段1064b和字段1064c中。其它的功能度、徽標(biāo)和圖象可以類(lèi)似地顯示在區(qū)域31030、區(qū)域41040、區(qū)域51050中。
圖11A是依據(jù)本發(fā)明的原理實(shí)施的軟件模塊的系統(tǒng)結(jié)構(gòu)1100的一個(gè)實(shí)施例。結(jié)構(gòu)1100包括一個(gè)包含著接口模塊1110的存儲(chǔ)器A和包含著一個(gè)或多個(gè)模板1122、一個(gè)或多個(gè)圖形對(duì)象1124、一個(gè)或多個(gè)聲音對(duì)象1126、一個(gè)或多個(gè)文本對(duì)象1128的存儲(chǔ)器B 1120。在一個(gè)實(shí)施例中,存儲(chǔ)器A和存儲(chǔ)器B被實(shí)施為如圖2中所示的系統(tǒng)存儲(chǔ)器124、系統(tǒng)固件176和/或存儲(chǔ)模塊190。在另一個(gè)實(shí)施例中,存儲(chǔ)器A和存儲(chǔ)器B可以是一個(gè)整體的單元。另外存儲(chǔ)器A和存儲(chǔ)器B也可以是分離的存儲(chǔ)單元。
存儲(chǔ)器124/176/190(圖2)可以是各種類(lèi)型的存儲(chǔ)介質(zhì),如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除只讀存儲(chǔ)器(EROM)、閃存。在一個(gè)優(yōu)選實(shí)施例中,該存儲(chǔ)器是一個(gè)閃存。模板1122、圖形對(duì)象1124、聲音對(duì)象1126和文本對(duì)象1128可以存儲(chǔ)在同一個(gè)物理存儲(chǔ)介質(zhì)上或任何組合的分離的存儲(chǔ)介質(zhì)上。模板1122、圖形對(duì)象1124、聲音對(duì)象1126和文本對(duì)象1128可以更新。
接口模塊1110包括一個(gè)執(zhí)行多種功能度的掛鉤調(diào)度程序1112。在一個(gè)實(shí)施例中,掛鉤調(diào)度程序1112(1)從BIOS取得媒體和/或系統(tǒng)設(shè)備信息(或者,掛鉤調(diào)度程序1112從接口模塊1110本身獲得媒體和/或系統(tǒng)設(shè)備信息);(2)初始化屬性發(fā)生器1130;(3)提供對(duì)象管理;和(4)提供包括存儲(chǔ)器管理的其它服務(wù),提供加密/解密和解壓縮,但不僅僅限于此。
從處理器得到的信息的例子可以包括由第一套標(biāo)準(zhǔn)測(cè)得的處理器運(yùn)行速度和由第二套標(biāo)準(zhǔn)測(cè)得的處理器運(yùn)行速度。第一套標(biāo)準(zhǔn)包括系統(tǒng)BIOS在運(yùn)行中測(cè)得的處理器運(yùn)行速度。第一套標(biāo)準(zhǔn)是用由預(yù)定方、例如生產(chǎn)產(chǎn)品系統(tǒng)BIOS的公司提供、指定或確定的代碼測(cè)得的。例如,第一套標(biāo)準(zhǔn)可以實(shí)施為安裝在系統(tǒng)BIOS中的代碼。這種代碼的一個(gè)例子包括AwardBIOS4.51、AwardBIOS6.0和/或PhoenixBIOS4.0Release6,它們都是加州Milpitas的Phoenix Technologies有限公司的產(chǎn)品。第二套標(biāo)準(zhǔn)包括由第二個(gè)預(yù)定方、例如一個(gè)處理器的制造商提供、指定或確定的測(cè)試/代碼。
處理器的運(yùn)行速度的測(cè)定可以由一個(gè)或多個(gè)含有預(yù)定指令序列的基準(zhǔn)程序來(lái)實(shí)現(xiàn)。實(shí)時(shí)計(jì)時(shí)值可以在基準(zhǔn)程序運(yùn)行之前或之后得到?;鶞?zhǔn)程序的運(yùn)行時(shí)間可以與已知處理器速度的結(jié)果進(jìn)行比較。從這個(gè)比較中就可以得到一個(gè)用處理器時(shí)鐘頻率表示的相對(duì)的和/或絕對(duì)的處理器運(yùn)行速度。
獲得的關(guān)于存儲(chǔ)器的信息可以包括現(xiàn)有的或已經(jīng)安裝的存儲(chǔ)器的類(lèi)型和容量。另外,關(guān)于IDE的信息可以包括硬盤(pán)驅(qū)動(dòng)器、CD-ROM驅(qū)動(dòng)器、LS 120驅(qū)動(dòng)器、ZIP驅(qū)動(dòng)器、DVD驅(qū)動(dòng)器等等。
當(dāng)要求或請(qǐng)求系統(tǒng)BIOS功能度的一個(gè)任務(wù)或性能(如顯示一個(gè)處理器圖形圖象)時(shí),從系統(tǒng)BIOS發(fā)出一個(gè)請(qǐng)求。這個(gè)請(qǐng)求包括媒體和/或系統(tǒng)設(shè)備信息,通常它是以原始數(shù)的方式由系統(tǒng)BIOS提供的。原始數(shù)由多個(gè)信息翻譯器1114中的一個(gè)轉(zhuǎn)換成屬性發(fā)生器1130可讀的格式。具體的說(shuō),信息翻譯器1114接收到了原始數(shù)并將它轉(zhuǎn)換成一個(gè)包含著相應(yīng)的翻譯信息的字符串。例如,如果要求得到處理器的運(yùn)行速度,則該處理器的標(biāo)識(shí)、例如處理器類(lèi)型(如AMD Athlon,Intel Pentium,Intel Celeron等等)可以通過(guò)查詢(xún)處理器映射表(圖11B)得到。這個(gè)標(biāo)識(shí)包括關(guān)鍵字,關(guān)鍵字由信息翻譯器翻譯成一個(gè)對(duì)象名。然后將對(duì)象名提供給屬性發(fā)生器1130。一旦收到對(duì)象名,屬性發(fā)生器1130通過(guò)發(fā)出一個(gè)對(duì)象管理請(qǐng)求對(duì)一個(gè)或多個(gè)模板1122進(jìn)行詞典分析。對(duì)象管理請(qǐng)求通過(guò)接口模塊1110送給一個(gè)或多個(gè)模板1122。屬性發(fā)生器1130還產(chǎn)生出相應(yīng)的圖形屬性,它們都包括數(shù)個(gè)標(biāo)識(shí)符和/或圖形圖元,以便用來(lái)在圖形對(duì)象上進(jìn)行操作而產(chǎn)生出在顯示器上顯示的圖象。然后將所得的圖象顯示在子區(qū)域1014中,同時(shí)將文本顯示在子區(qū)域1016的字段1016a和1016b中。
圖12是依據(jù)本發(fā)明的原理的信息顯示過(guò)程1200的一個(gè)實(shí)施例的流程圖。在開(kāi)始之后,過(guò)程1200首先進(jìn)行加電自檢(POST),如方框1202所示。POST可能包括多個(gè)任務(wù),如從任務(wù)1到任務(wù)(M-1)。然后過(guò)程1200初始化接口模塊1110(見(jiàn)圖11A)并將接口模塊1110載入系統(tǒng)存儲(chǔ)器中。隨后,該過(guò)程檢測(cè)并初始化系統(tǒng)中的音頻設(shè)備,如方框1206所示。然后對(duì)視頻引擎進(jìn)行檢測(cè)和初始化(方框1208)。
然后,過(guò)程1200向接口模塊1110(圖11A)發(fā)出一個(gè)命令來(lái)顯示背景圖形、圖象和/或文本,如方框1210所示。過(guò)程1200隨后開(kāi)始檢測(cè)處理器的標(biāo)識(shí)和運(yùn)行速度。在一個(gè)實(shí)施例中,提供了兩種類(lèi)型的運(yùn)行速度。第一個(gè)是在運(yùn)行狀態(tài)下測(cè)得的運(yùn)行速度。這個(gè)運(yùn)行速度是用一組預(yù)設(shè)標(biāo)準(zhǔn)由軟件來(lái)確定的,該軟件可以由諸如生產(chǎn)產(chǎn)品系統(tǒng)BIOS的公司的一方來(lái)提供、指定或確定。這種軟件的例子包括AwardBIOS4.51、AwardBIOS6.0和/或PhoenixBIOS4.0Release6,這些都是加州Milpitas的Phoenix Technologies公司的產(chǎn)品。第二個(gè)是一個(gè)由處理器生產(chǎn)商確定的運(yùn)行速度。在一個(gè)實(shí)施例中,這個(gè)由生產(chǎn)商確定的運(yùn)行速度可以是一個(gè)由生產(chǎn)商提供的固定的數(shù)值(從一個(gè)特定的處理器寄存器中讀出的),或者是一個(gè)由生產(chǎn)商提供的軟件確定的數(shù)值。后者的數(shù)值可以由運(yùn)行生產(chǎn)商提供的軟件算法得到,該算法的源代碼可能存儲(chǔ)在系統(tǒng)BIOS中。或者,源代碼也可以存儲(chǔ)在其它的地方(例如,作為固件提供或存儲(chǔ)在另一個(gè)存儲(chǔ)介質(zhì)中)。
一旦處理器的標(biāo)識(shí)和速度確定下來(lái),它們就被傳送給接口模塊,如方框1214所示。然后過(guò)程1200進(jìn)行到方框1216,在這里它檢測(cè)系統(tǒng)存儲(chǔ)器并確定它的大小,隨后過(guò)程1200將系統(tǒng)存儲(chǔ)器的信息傳送給接口模塊1200,如方框1218所示。
然后,該過(guò)程檢測(cè)系統(tǒng)海量存儲(chǔ)設(shè)備,如方框1220所示。該信息被傳送給接口模塊(方框1224)。過(guò)程1200然后進(jìn)行其它的POST任務(wù),如任務(wù)M(方框1226)。POST完成后,過(guò)程1200引導(dǎo)操作系統(tǒng)(方框1228)。
應(yīng)該注意,過(guò)程方框1204、1206、1208、1210、1212、1214、1216、1218、1226和1224中所描述的任務(wù)不必按順序進(jìn)行。例如,其中的一個(gè)任務(wù)可能是在POST任務(wù)7之后進(jìn)行的,另一個(gè)任務(wù)可能在POST任務(wù)20之后進(jìn)行。在一個(gè)實(shí)施例中,過(guò)程方框1204、1206、1208、1210、1212、1214、1216、1218、1226和1224中所描述的任務(wù)可以是按照任何預(yù)定的順序或其它的順序進(jìn)行的。在另一個(gè)實(shí)施例中這些任務(wù)可能是按照軟件開(kāi)發(fā)者規(guī)定的方式來(lái)進(jìn)行的。
圖13是依據(jù)本發(fā)明的原理提供的一個(gè)功能度調(diào)度程序過(guò)程1300的一個(gè)實(shí)施例的流程圖。過(guò)程1300是由接口模塊1110(圖11A)的掛鉤調(diào)度程序1112按照對(duì)執(zhí)行相應(yīng)功能度的請(qǐng)求來(lái)進(jìn)行的。功能度調(diào)度程序過(guò)程可以實(shí)施為(但不僅限于)121O、1214、1218和/或1224(圖12)中的任何一個(gè)過(guò)程。一旦接收到一個(gè)執(zhí)行一功能度的請(qǐng)求,過(guò)程1300首先驗(yàn)證功能度號(hào),如過(guò)程方框1302中所示。如果功能度號(hào)是無(wú)效的(在判斷框1304中確定),過(guò)程1300進(jìn)行到過(guò)程方框1312,在這里設(shè)置一個(gè)出錯(cuò)標(biāo)志。然后過(guò)程1300結(jié)束。如果確定功能度號(hào)是有效的,如判斷框1304中所示,則過(guò)程1300將功能度號(hào)轉(zhuǎn)換成相應(yīng)的處理程序的地址(過(guò)程方框1306)。然后調(diào)用擁有媒體/系統(tǒng)設(shè)備信息的處理程序(過(guò)程方框1308)。隨后,過(guò)程判斷是否有錯(cuò)誤發(fā)生(判斷框1310)。如果沒(méi)有,則清除出錯(cuò)標(biāo)志(過(guò)程方框1314)并結(jié)束過(guò)程1300。
圖14是依據(jù)本發(fā)明的原理提供的信息處理程序過(guò)程1400的一個(gè)實(shí)施例的流程圖。在開(kāi)始狀態(tài)后,過(guò)程1400獲取媒體/系統(tǒng)設(shè)備的標(biāo)識(shí)(過(guò)程方框1402)。然后過(guò)程1400得到相應(yīng)的設(shè)備信息,如在處理器情況下的運(yùn)行速度、在存儲(chǔ)設(shè)備情況下的存儲(chǔ)器大小。隨后過(guò)程1400確定是否需要取得相應(yīng)的圖形對(duì)象。如果不需要,則進(jìn)行到過(guò)程方框1418,在這里顯示設(shè)備信息并退出。否則,取得相應(yīng)的圖形對(duì)象名(過(guò)程方框1408),接著過(guò)程1400進(jìn)行到過(guò)程方框1410,在這里它為屬性發(fā)生器建立相應(yīng)的數(shù)據(jù)包。這個(gè)數(shù)據(jù)包被用來(lái)調(diào)用屬性發(fā)生器(過(guò)程方框1412)。一旦被調(diào)用,屬性發(fā)生器就會(huì)向圖象發(fā)生器發(fā)出一個(gè)命令以顯示相應(yīng)的圖象(過(guò)程方框1414)。前面得到的設(shè)備信息被顯示出來(lái),圖象發(fā)生器顯示出相應(yīng)的圖象(過(guò)程方框1416),然后過(guò)程1400結(jié)束。
圖15是依據(jù)本發(fā)明的原理提供的處理器信息和圖象處理程序過(guò)程1500的一個(gè)實(shí)施例的流程圖。在開(kāi)始狀態(tài)之后,過(guò)程1500從固件中獲取處理器銷(xiāo)售商的標(biāo)識(shí)碼(過(guò)程方框1502)。然后得到處理器的運(yùn)行速度(過(guò)程方框1504)。在一個(gè)實(shí)施例中,其中包含著生產(chǎn)商確定的運(yùn)行速度和在運(yùn)行狀態(tài)下測(cè)得的運(yùn)行速度。然后從處理器映射表中得到相應(yīng)的處理器的圖形對(duì)象名(過(guò)程方框1506)。隨后,過(guò)程1500為屬性發(fā)生器創(chuàng)建一個(gè)應(yīng)的數(shù)據(jù)包(過(guò)程方框1508)。用這個(gè)數(shù)據(jù)包調(diào)用屬性發(fā)生器(過(guò)程方框1510),然后屬性發(fā)生器調(diào)用圖象發(fā)生器(過(guò)程方框1512)。處理器信息(生產(chǎn)商確定的和運(yùn)行中測(cè)得的)與相應(yīng)的圖象一起顯示出來(lái)。然后過(guò)程1500結(jié)束。
因此,本發(fā)明是一種有效的產(chǎn)生媒體輸出的技術(shù)。該技術(shù)從模板中產(chǎn)生出描述圖形對(duì)象特征的圖形屬性。然后使用該圖形屬性從圖形對(duì)象中產(chǎn)生圖象。在另一個(gè)實(shí)施例中,一個(gè)媒體設(shè)備、例如圖形控制器或聲卡在BIOS引導(dǎo)的較早階段被初始化。然后在常規(guī)的BIOS任務(wù)執(zhí)行的過(guò)程中,執(zhí)行媒體操作。本發(fā)明還提供了在運(yùn)行時(shí)產(chǎn)生的系統(tǒng)設(shè)備信息,而且還簡(jiǎn)單有效地顯示這些信息。
本發(fā)明還提供了一種有效的產(chǎn)生媒體輸出的技術(shù)。媒體輸出包括運(yùn)行中產(chǎn)生的系統(tǒng)設(shè)備信息,并簡(jiǎn)單有效地顯示這些信息。該技術(shù)從一個(gè)模板中產(chǎn)生出描述圖形對(duì)象特征的圖形屬性。然后利用該圖形屬性從圖形對(duì)象中生成圖象。在另一個(gè)實(shí)施例中,一個(gè)媒體設(shè)備、例如圖形控制器或聲卡在BIOS引導(dǎo)的較早階段被初始化。然后在常規(guī)的BIOS任務(wù)執(zhí)行時(shí)執(zhí)行媒體操作。
本發(fā)明還提供了一種用于提供以簡(jiǎn)單、有效和靈活的方法為系統(tǒng)BIOS提供功能度的方法和設(shè)備。它提供了一個(gè)接口模塊,該模塊使得各方、例如PC系統(tǒng)生產(chǎn)商和主板生產(chǎn)商等等可以在盡可能少地影響系統(tǒng)BIOS的代碼的情況下為系統(tǒng)BIOS提供附加功能度。該方法包括將一個(gè)接口模塊接到系統(tǒng)BIOS并從系統(tǒng)BIOS接收?qǐng)?zhí)行一個(gè)任務(wù)的請(qǐng)求。與任務(wù)相關(guān)的系統(tǒng)設(shè)備信息是從系統(tǒng)BIOS中得到的。接口模塊將系統(tǒng)設(shè)備信息翻譯并提供翻譯后的信息。該翻譯后的信息隨后被送到相應(yīng)的模塊中去。
本發(fā)明已經(jīng)用一些例示性的實(shí)施例加以說(shuō)明了,這些描述并不對(duì)本發(fā)明進(jìn)行限定。對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)顯而易見(jiàn)的對(duì)這些例示性實(shí)施例以及本發(fā)明的其它實(shí)施例的各種改變,都被認(rèn)為落入本發(fā)明的精神和范圍內(nèi)。
權(quán)利要求
1.一種在基本輸入和輸出系統(tǒng)(BIOS)引導(dǎo)時(shí)產(chǎn)生媒體輸出的方法,該方法包括初始化一個(gè)媒體設(shè)備;以及在執(zhí)行正常BIOS任務(wù)的同時(shí)執(zhí)行媒體操作,媒體操作提供媒體輸出。
2.根據(jù)權(quán)利要求1的方法還包括用對(duì)應(yīng)媒體操作的媒體信息配置媒體設(shè)備。
3.一個(gè)系統(tǒng)包括處理器;與處理器相連的媒體設(shè)備,在基本輸入和輸出系統(tǒng)(BIOS)引導(dǎo)時(shí)產(chǎn)生媒體輸出;以及與處理器相連的存儲(chǔ)器,存儲(chǔ)器包含程序代碼,程序代碼由處理器運(yùn)行時(shí)使處理器初始化媒體設(shè)備,以及在媒體設(shè)備正執(zhí)行媒體操作時(shí)執(zhí)行正常BIOS任務(wù),媒體操作提供媒體輸出。
4 .根據(jù)權(quán)利要求3的系統(tǒng),其特征在于程序碼在由處理器運(yùn)行時(shí)還使處理器用對(duì)應(yīng)媒體操作的媒體信息配置媒體設(shè)備。
全文摘要
本發(fā)明旨在提供一種用來(lái)顯示信息的方法和設(shè)備。這個(gè)方法包括檢索代表第一設(shè)備參數(shù)的第一值和檢測(cè)代表第二設(shè)備參數(shù)的第二值。從存儲(chǔ)器中檢索與圖形對(duì)象相應(yīng)的模板。從該模板中產(chǎn)生描述該圖形對(duì)象的特征的圖形屬性。顯示第一和第二值,并根據(jù)圖形屬性從圖形對(duì)象中產(chǎn)生圖象。
文檔編號(hào)G06F9/445GK1749964SQ20051008221
公開(kāi)日2006年3月22日 申請(qǐng)日期2000年6月18日 優(yōu)先權(quán)日1999年6月18日
發(fā)明者P·克洛尼, W·敦斯頓, G·E·于斯塔德, M·金 申請(qǐng)人:鳳凰技術(shù)有限公司