專利名稱:與硬件有關(guān)的軟件安裝的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在個人計算機中安裝軟件,具體地說,本發(fā)明涉及安裝為特定個人計算機的硬件裝置定制的軟件。
在訂購個人計算機時,必需將操作系統(tǒng)安裝到個人計算機上,以便使計算機發(fā)揮作用并向用戶提供用戶友好的環(huán)境。操作系統(tǒng)是各種個人計算機所專用的,因為,操作系統(tǒng)必須通過安裝驅(qū)動程序軟件而專門適合硬件配置。在建造具有同樣操作系統(tǒng)的多個相同機器時,可用“預(yù)裝件”來更快速地實現(xiàn)操作系統(tǒng)和專門驅(qū)動程序的安裝。預(yù)裝件包括操作系統(tǒng),該操作系統(tǒng)本身包括核心代碼和圖形用戶界面再加上用于安裝在該機器上的硬件的附加驅(qū)動程序。預(yù)裝件是通過在要加以建造的這種類型的機器上安裝操作系統(tǒng)而形成的。然后,從機器中取出所安裝的操作系統(tǒng)的圖像拷貝,并將該圖像拷貝用于“克隆”所安裝的操作系統(tǒng)的拷貝。預(yù)裝件可有選擇地包括諸如要包括在個人計算機中的應(yīng)用軟件之類的其它軟件。預(yù)裝件僅能用于涵蓋少量的預(yù)定硬件配置。
另一種周知的方案是根據(jù)客戶定單或材料的制造清單來生成要安裝到特定系統(tǒng)中的圖像。這是有缺陷的,即所安裝的驅(qū)動程序可能會與安裝在個人計算機中的硬件不相匹配。如果在填寫訂單以后更改了客戶訂單,或者,如果專用的硬件或軟件驅(qū)動程序有了更新后的版本,那么,它們都不會在預(yù)裝的圖像中反映出來。
當(dāng)前制造個人計算機的趨勢在于更具體的硬件配置,如個人計算機中可用的調(diào)制解調(diào)器卡、網(wǎng)卡、音頻和視頻卡等等,這些硬件配置由制造商來安裝??赡艿膶S糜布渲玫脑黾訒箍赡艿膶S貌僮飨到y(tǒng)有類似的增加,這些操作系統(tǒng)帶有相關(guān)的驅(qū)動程序,以使得任何硬件附加件都能運行。這種客戶驅(qū)動的環(huán)境還需要從接收到客戶訂單到從生產(chǎn)廠將個人計算機交貨有快速的生產(chǎn)周期。構(gòu)建客戶圖像(手工安裝操作系統(tǒng)、增加用于任何相關(guān)的硬件附加件的驅(qū)動程序)的通常方法不可能支承快速的周期??蛻魣D像可能有一種類型個人計算機的一定訂購量,但它們具有可能的多種不同硬件附加件的選擇。
PCT專利申請WO94/08288公開了這樣一種系統(tǒng),在這種系統(tǒng)中,在開始引導(dǎo)時由計算機根據(jù)硬件的存在情況生成用于特定個人計算機的引導(dǎo)圖像。所述引導(dǎo)圖像存儲在個人計算機內(nèi)。當(dāng)隨后引導(dǎo)計算機時,檢查硬件的存在情況以查看硬件是否有了變化,如果沒有變化,就加載先前存儲的引導(dǎo)圖像。這種系統(tǒng)沒有討論生成具有與硬件有關(guān)的軟件的引導(dǎo)圖像,這種軟件例如是從多種不同軟件(如用于該特定個人計算機的驅(qū)動程序)中選出的驅(qū)動程序。
PCT專利申請WO95/17714公開了這樣一種系統(tǒng),在這種系統(tǒng)中,根據(jù)計算機的標(biāo)識號來使用專門的軟件對象。
US專利5794032公開了這樣一種系統(tǒng),它用于自動地識別和配置個人計算機中在進(jìn)行安裝時所使用的計算機外圍設(shè)備。該系統(tǒng)使用了每次開啟個人計算機時都運行的程序。該程序使查詢指令獲得與特定接口相連的設(shè)備的類型有關(guān)的信息。所述查詢指令是“注意應(yīng)用程序設(shè)計接口”(ATAPI)的一部分并且僅能應(yīng)用于諸如支持這種接口的海量存儲器之類的設(shè)備,但不能一般地應(yīng)用于其它計算機設(shè)備。
US專利5717930公開了一種在網(wǎng)絡(luò)中將操作系統(tǒng)安裝到計算機上的方法。用條碼閱讀器來閱讀條碼。所述條碼包含有與特定個人計算機有關(guān)的安裝信息。根據(jù)條碼的內(nèi)容讀出存儲在網(wǎng)絡(luò)上的安裝服務(wù)器內(nèi)的軟件信息,并將其安裝到個人計算機上。這種方法需要使用于與個人計算機相連的條碼閱讀器。此外,所生成的條碼可能會與要將軟件安裝到其上的計算機的特定硬件配置不一致。如果從生成條碼以后客戶訂單已經(jīng)更改,或者,如果專用的硬件或軟件驅(qū)動程序有了更新的版本,那么,它們都不會在條碼中反映出來。
標(biāo)準(zhǔn)的預(yù)裝件僅能涵蓋預(yù)定配置。所以,希望提供一種安裝操作系統(tǒng)和驅(qū)動程序軟件的方法,這種方法總是能反映出個人計算機的實際配置并總是能反映出驅(qū)動程序軟件的適當(dāng)級別。
因此,本發(fā)明提供了一種安裝與安裝在計算機中的硬件有關(guān)的軟件的方法,該方法包括下列步驟在硬件中設(shè)置一個或多個唯一標(biāo)識;查詢該唯一標(biāo)識;響應(yīng)上述查詢而識別出與所安裝的硬件有關(guān)的軟件;以及,安裝相關(guān)的軟件。
本發(fā)明允許進(jìn)行定制以涵蓋客戶可能請求的意外硬件配置。在可以有多種新選擇以及軟件驅(qū)動程序的級別經(jīng)常變化的環(huán)境中,那些根據(jù)客戶訂單進(jìn)行軟件安裝的方法很難以維持并且維持起來很昂貴。本發(fā)明允許在系統(tǒng)生產(chǎn)過程中在最近的可能時間計算出軟件配置,所以能自動地考慮到配置中的任何新近變化或新近的驅(qū)動程序更新。
優(yōu)選的是,所述唯一標(biāo)識是配置寄存器。
優(yōu)選的是,配置寄存器包括與售貨商、設(shè)備類型和修訂版本級別有關(guān)的信息。
優(yōu)選的是,用售貨商、設(shè)備類型和修訂版本級別信息來識別相關(guān)的軟件。
本發(fā)明還提供了這樣一種計算機軟件安裝系統(tǒng),它用于安裝與一種或多種安裝在計算機中的硬件有關(guān)的軟件,每種硬件均有唯一的標(biāo)識,所述系統(tǒng)包括用于查詢上述唯一標(biāo)識的裝置;用于識別哪種軟件與特定硬件相關(guān)的裝置;以及,用于將與特定硬件相對應(yīng)的軟件安裝到計算機上的裝置。
本發(fā)明還提供了一種計算機程序產(chǎn)品,它用于帶有非易失性存儲介質(zhì)的數(shù)據(jù)處理系統(tǒng),所述計算機程序產(chǎn)品包括計算機可用的介質(zhì),該介質(zhì)中嵌有計算機可讀程序代碼裝置,以便安裝與安裝在計算機中的硬件有關(guān)的軟件,每個硬件中均具有一個或多個唯一標(biāo)識;所述計算機程序產(chǎn)品具有用于查詢上述唯一標(biāo)識的計算機機可讀程序代碼裝置;響應(yīng)上述用于查詢的計算機可讀程序代碼而識別與所安裝的硬件有關(guān)的軟件的計算機可讀程序代碼裝置;以及,用于安裝上述相關(guān)軟件的計算機可讀程序代碼裝置。
以下參照附圖以舉例的方式說明本發(fā)明的實施例,附圖中
圖1是先有技術(shù)的個人計算機的框圖;圖2是要使用本發(fā)明的安裝方法安裝到圖1的先有技術(shù)個人計算機上的軟件部分的框圖;圖3是圖2的各個PCI設(shè)備中的配置寄存器所提供的配置空間的圖;以及圖4是本發(fā)明安裝方法的流程圖。
參照圖1,通常用標(biāo)號10示出了多總線信息處理系統(tǒng),該系統(tǒng)包括(ⅰ)處理器、高速緩存器和存儲器的復(fù)合體12,它通過S一總線16與S總線(系統(tǒng)總線)設(shè)備14相連;(ⅱ)主PCI設(shè)備18,它通過主PCI總線22與S總線設(shè)備、主PCI主機橋20之一相連。以下將對處理器、高速緩存器和存儲器的復(fù)合體12、主PCI設(shè)備18以及圖1中所示的其它部件作詳細(xì)說明。
處理器、高速緩存器和存儲器的復(fù)合體12包括中央處理器(CPU)24、自檢電路26、存儲器控制器28、CPU高速緩存器30以及基本系統(tǒng)存儲器32。盡管系統(tǒng)10可以用其它類型的CPU特別是其它x86型微處理器來加以實現(xiàn),但所述最佳實施例中的CPU24是可以從Intel公司買到的奔騰Ⅲ微處理器。(奔騰和Intel是Intel公司的商標(biāo))。自檢電路26可在加電時為CPU24提供內(nèi)置式自檢(BIST)特性。自檢電路還對任何可包括在各S總線設(shè)備14內(nèi)的自檢特性進(jìn)行控制。
CPU24通過CPU局部總線34與自檢電路26及存儲器控制器28相連。存儲器控制器28通過基本系統(tǒng)存儲器總線36與基本系統(tǒng)存儲器32相連。存儲器控制器28控制著基本系統(tǒng)存儲器總線36上的對基本系統(tǒng)存儲器32的讀寫操作,這些操作是由CPU24在CPU局部總線34上或者由S-總線設(shè)備14在S-總線16上所啟動的。由于存儲器控制器能管理兩種總線上的操作,故可同時管理基本系統(tǒng)存儲器總線36和CPU局部總線34上的操作。CPU局部總線34、基本系統(tǒng)存儲器總線36以及S-總線均為32位總線,每種總線均包括數(shù)據(jù)、地址和控制信息路徑(圖1中的“D”、“A”和“C”),它們代表著這種總線的特征。
基本系統(tǒng)存儲器32提供了系統(tǒng)范圍的存儲能力并可包括非隔行掃描或隔行掃描的存儲器卡。CPU高速緩存器30能短暫地存儲包含在基本系統(tǒng)存儲器32內(nèi)或包含在位于系統(tǒng)10內(nèi)其它地方的擴展存儲器內(nèi)的信息。所述擴展存儲器例如位于系統(tǒng)中在外部相連的I/O設(shè)備內(nèi)。CPU高速緩存器30包括隨機存取存儲器(RAM,未示出),它用于臨時存儲基本系統(tǒng)存儲器32的地址單元,這些地址單元通常由CPU24來加以訪問。CPU24直接訪問存儲在CPU高速緩存器30中的信息,而對存儲在基本系統(tǒng)存儲器32中的信息的訪問則必須由存儲器控制器28來加以處理。
對基本系統(tǒng)存儲器32的所有訪問均通過基本系統(tǒng)存儲器總線36在存儲器控制器28的控制下進(jìn)行。存儲器控制器啟動基本系統(tǒng)存儲器32的系統(tǒng)存儲器循環(huán),在循環(huán)過程中,CPU24或S-總線設(shè)備14之一通過存儲器控制器28訪問基本系統(tǒng)存儲器。在一個存儲器循環(huán)中,存儲器控制器不將信息傳到S-總線上。但是,如果存儲器控制器判斷出它所管理的操作是I/O循環(huán),則存儲器控制器將信息傳到S-總線上,以便由S-總線設(shè)備對其進(jìn)行訪問。如果是為S-總線設(shè)備指定的I/O循環(huán),則適當(dāng)?shù)腟-總線設(shè)備用解碼命令來響應(yīng)存儲器控制器。如果是為主PCI設(shè)備18指定的I/O操作,則PCI主機橋20用解碼命令來回應(yīng)存儲器控制器并將I/O循環(huán)傳給適當(dāng)?shù)闹鱌CI設(shè)備。
系統(tǒng)時鐘模塊38為S-總線設(shè)備14提供單個的時鐘信號并為CPU24提供一對時鐘信號。CPU24需要兩個時鐘信號,因為,CPU在內(nèi)部按較高的速率操作,但按較低的速率在CPU局部總線34上進(jìn)行通信。
處理器、高速緩存器和存儲器復(fù)合體12與S-總線設(shè)備之間的通信由存儲器控制器28在S-總線16上進(jìn)行管理。如圖1的最佳實施例所示,與S-總線相連的還有直接存儲器存取(DMA)控制器40、系統(tǒng)仲裁控制點(SACP)42、輸入/輸出(I/O)控制器44以及電源管理控制器48。在需要更復(fù)雜的電源管理控制的情況下,一個可選的電源管理控制器50可與電源管理控制器48相連。緩存器52設(shè)置在S-總線上,位于DMA控制器40與I/O控制器44中間。但是,如圖1所示,也可以想象出,可將除所示的這些以外的其它S-總線設(shè)備14連接于S-總線16。
與I/O控制器44相連的是時鐘60和RAM模塊62。I/O控制器44支持多種端口,包括鼠標(biāo)端口64、串行端口66、并行端口68以及鍵盤端口70。
除支持S-總線16上的S-總線設(shè)備14以外,系統(tǒng)10還支持第二高速高帶寬總線,這種總線在所述最佳實施例中是主PCI總線22。在PCI專門研究組出版的“PCI局部總線說明書,2.2版,1998年12月18日”中說明了PCI總線。系統(tǒng)10中的主PCI設(shè)備18在主PCI總線22上彼此相通信。主PCI設(shè)備通過PCI主機橋20與CPU、高速緩存器和存儲器復(fù)合體12相通信并與駐留在S-總線16上的其它S-總線設(shè)備14相通信,PCI主機橋20本身就是一種駐留在S-總線上的S-總線設(shè)備。PCI主機橋20可用作S-總線16與主PCI總線22之間的接口并提供這兩種總線與可連接于這種總線的外圍設(shè)備之間的有效通信手段。
PCI主機橋20是一種低延遲時間互連裝置,通過PCI主機橋,CPU24或其它S-總線設(shè)備14可直接訪問主PCI設(shè)備18或與之相連的設(shè)備。橋20還能提供一種高性能路徑,這種路徑能使得主PCI設(shè)備或與之相連的設(shè)備快速且直接地訪問基本系統(tǒng)存儲器32。此外,主機橋20能提供為提供S-總線16與主PCI總線22之間的接口所需的所有硬件,從而使得可在這些總線之間傳遞數(shù)據(jù)。
主PCI總線22能支持多種PCI兼容的設(shè)備。如圖1所示,這些設(shè)備包括圖形控制器72、串行SCSI(小型計算機系統(tǒng)接口)控制器74、標(biāo)準(zhǔn)I/O總線(例如,ISA橋78(這里也稱為擴展橋))以及PCI輔助橋80。但是,圖1所示的與主PCI總線相連的設(shè)備僅僅是實現(xiàn)PCI總線結(jié)構(gòu)的系統(tǒng)的一個實例,從而是公開的示例性配置,這些設(shè)備并不以任何方式限制本發(fā)明。
圖形控制器72一般配備有呈VRAM82形式的存儲器,它能使圖形控制器緩存視頻幀并能控制PCI總線結(jié)構(gòu)支持的任何周知的圖形包。SCSI控制器74可用作連接于SCSI總線86的SCSI設(shè)備84與主PCI總線22之間的接口并能控制PCI總線結(jié)構(gòu)支持的任何SCSI設(shè)備。
標(biāo)準(zhǔn)總線橋78用作連接于標(biāo)準(zhǔn)(例如ISA)總線92的I/O設(shè)備90與主PCI總線22之間的接口。輔助PCI設(shè)備94通過輔助PCI總線96連接到PCI輔助橋80。任何數(shù)量的未標(biāo)識的輔助PCI設(shè)備94均可連接到輔助PCI總線96。PCI輔助橋80用作連接于輔助PCI總線96的輔助PCI設(shè)備94與主PCI總線22之間的接口。
通過這些PCI總線(例如主PCI總線22和輔PCI總線96)就可以在設(shè)置于系統(tǒng)中這些PCI總線的PCI設(shè)備之間傳遞數(shù)據(jù)。數(shù)據(jù)事務(wù)處理包括由起總線上的主設(shè)備作用的PCI設(shè)備來啟動的、去向或來自起總線上從屬設(shè)備(目標(biāo))作用的PCI設(shè)備的讀或?qū)懖僮鳌?br>
在個人計算機、服務(wù)器計算機或類似計算機的制造過程中,通過多種訂購(Shop floor)控制系統(tǒng)將客戶訂單傳給生產(chǎn)地。訂單指定了要建造的機器類型、要安裝到機器上的操作系統(tǒng)以及要增加給個人計算機的任何附加硬件項目。一旦接收到了訂單,就將訂單分解成軟件和硬件項目。軟件項目一般包據(jù)操作系統(tǒng),硬件項目一般基于帶內(nèi)置式適配器的標(biāo)準(zhǔn)個人計算機系統(tǒng)板以及其它可安裝的附加設(shè)備,例如,聲頻、視頻、網(wǎng)絡(luò)和調(diào)制解調(diào)器卡等。將客戶的配置放進(jìn)一個控制文件,該文件包含有用于該特定客戶的所有項目的詳細(xì)情況。該文件被用作建造個人計算機的主控文件并被傳送到生產(chǎn)地。所述項目能有效地指定用于個人計算機的材料清單。從庫存中取出各種部件,并將它們增加到目標(biāo)計算機中。然后定制完整的個人計算機。
圖2示出了用本發(fā)明的安裝方法安裝到諸如圖1的先有技術(shù)個人計算機上的軟件部分。首先安裝操作系統(tǒng)202。一般地說,操作系統(tǒng)可以是諸如來自Microsoft的Windows95、Linux操作系統(tǒng)或來自IBM公司的OS/2之類的操作系統(tǒng)(Windows和Microsoft是Microsoft公司的商標(biāo),OS/2和IBM是IBM公司的商標(biāo))。然后安裝專門化文件204。這些專門化文件包括這樣的文件,它們限定要在屏幕上向用戶顯示的文本的語言。安裝應(yīng)用程序文件206,應(yīng)用程序文件包括諸如來自Lotus開發(fā)公司的Lotus Smartsuit或Microsoft Office之類的“辦公套件”應(yīng)用程序(Lotus和Smartsuit是Lotus開發(fā)公司的商標(biāo))。還安裝操作系統(tǒng)擴展208以及用于基本個人計算機的硬件附加件的設(shè)備驅(qū)動程序210,包括如音頻設(shè)備、視頻設(shè)備、通信設(shè)備和海量存儲設(shè)備之類的設(shè)備。
在生產(chǎn)過程的同時,在機器上用多種過程去測試和檢驗個人計算機的功能。在測試和檢驗過程中,可獲得屬于業(yè)已增加給個人計算機的設(shè)備的某些信息。在本發(fā)明中,對PC系統(tǒng)總線的系統(tǒng)級總線查詢會產(chǎn)生一定級別的數(shù)據(jù),這些數(shù)據(jù)是系統(tǒng)總線上各設(shè)備專用的。由于這些設(shè)備的標(biāo)識受控于可在公共域中獲得的預(yù)定標(biāo)準(zhǔn),故可對每一個設(shè)備進(jìn)行查詢,并且可實時地讀出它們唯一的配置標(biāo)識。將這種數(shù)據(jù)用作識別各設(shè)備的參照點就可使得定制過程對這種數(shù)據(jù)起作用。
在PCI總線結(jié)構(gòu)中,各PCI設(shè)備均配備有由256字節(jié)的寄存器空間構(gòu)成的配置空間。這種空間被劃分成預(yù)定的頭標(biāo)區(qū)和與設(shè)備有關(guān)的區(qū)。每個外圍設(shè)備的配置空間均包含有系統(tǒng)中整個配置軟件所使用的數(shù)據(jù),以便創(chuàng)建地址圖。因此,當(dāng)CPU122在開始運行配置軟件時,它就對各設(shè)備或橋的配置空間進(jìn)行訪問并進(jìn)行讀或?qū)懀员闩渲孟到y(tǒng)并創(chuàng)建地址圖?!癙CI局部總線規(guī)范”要求設(shè)備的配置空間必須在所有時候而不僅僅在系統(tǒng)引導(dǎo)時能加以訪問。所有的PCI設(shè)備(除主機總線橋以外)均需能對這種配置讀和配置寫命令進(jìn)行響應(yīng)。
圖3示出了圖2的各PCI設(shè)備中的配置寄存器所提供的配置空間的頭標(biāo)區(qū)的圖。所預(yù)定的頭標(biāo)區(qū)包括唯一地限定該設(shè)備的字段。對所有類型的設(shè)備而言,按同樣的方式限定頭標(biāo)區(qū)的頭16個字節(jié)。根據(jù)設(shè)備的類型限定頭標(biāo)區(qū)和配置空間的其它字節(jié)。
銷售商ID寄存器300包含16位代碼,它標(biāo)識設(shè)備的生產(chǎn)商。這些代碼是由PCI專門研究組(SIG)分配的,以便確保唯一性。OFFFFh是用于銷售商ID的無效值。所分配的值包括用于Intel的08086h、用于Texas的0104Ch以及用于ATI的01023h。設(shè)備ID寄存器302包含16位代碼,它標(biāo)識特定的設(shè)備。該代碼是由銷售商分配的。所分配的代碼的實例包括用于Intel的CPU橋、PCI橋、IDE系統(tǒng)、USB和PCI橋的主板功能的07100h、07110h、07111h、07112h和07113h以及用于Texas Cardbus(卡總線)資源的OAC16h和用于ATI視頻資源的09397h。修訂版本ID寄存器308包含16位代碼,它標(biāo)識特定設(shè)備的修訂版本或版本。該代碼是由銷售商分配的。頭標(biāo)類型寄存器314標(biāo)識預(yù)定頭標(biāo)的第二部分的結(jié)構(gòu)以及設(shè)備是否包含多種功能。該寄存器的第7位用于表示多功能設(shè)備。16位代碼00h對應(yīng)于PCI設(shè)備、01h對應(yīng)于PCI至PCI橋,02h對應(yīng)于CardBus橋。
PCI設(shè)備的預(yù)定頭標(biāo)的第二部分316包括六個4字節(jié)的基本地址寄存器,它們位于地址010h、014h、018h、01Ch、010h和024h。
為了訪問各配置寄存器中的一個寄存器,將“配置讀”或“配置寫”總線命令從總線主設(shè)備發(fā)送給包含有要加以訪問的配置寄存器的設(shè)備。通過將1010放置到總線命令及字節(jié)使能(C/BE[(3∷0]#)引線上來表示“配置讀”命令。通過將1011h放置到總線命令及字節(jié)使能(C/B E[(3∷0]#)引線上來表示“配置寫”命令??梢源_立正在被訪問的代理的IDSEL引線,將地址和數(shù)據(jù)引線1和0(AD[1∷0])設(shè)置成00h,以表示用于選擇主設(shè)備所在的總線上的設(shè)備的類型0的配置訪問。在配置寄存器訪問的尋址階段,地址和數(shù)據(jù)位2至7(AD[7∷2])表示要訪問該設(shè)備的配置空間中64個雙字寄存器中的哪一個。地址和數(shù)據(jù)位8至10(AD[10∷8])表示正在訪問多功能代理的哪一個設(shè)備。地址和數(shù)據(jù)位11至31(AD[31∷11])是邏輯的不管狀態(tài)。
在上述訪問的一種變化形式中,要將配置請求傳繪另一個總線部分,在這種變化形式中,將地址和數(shù)據(jù)引線1和0(AD[1∷0])設(shè)置成01h,以表示類型1的配置訪問。在配置寄存器訪問的尋址階段,地址和數(shù)據(jù)位11至15(AD[15∷11])表示正在訪問給定總線上32個可能設(shè)備中的哪一個。地址和數(shù)據(jù)位16至23(AD[23∷16])表示正在訪問系統(tǒng)中256個可能總線中的哪一個在上述測試和檢驗過程中,可識別出為正在定制的個人計算機所專用的特定硬件。識別內(nèi)置式硬件適配器的過程會形成屬于系統(tǒng)內(nèi)各個設(shè)備的關(guān)鍵數(shù)據(jù)。以下參照圖4說明這一過程。就各總線上的各設(shè)備的各個功能而言,一般的硬件掃描會提供下列格式的信息對于總線0、設(shè)備0、功能0的PCT配置寄存器00銷售商ID =808602設(shè)備ID=710004命令 =000606狀態(tài) =220008修訂版本ID=0109編程I/F =000A子類代碼 =000B類別代碼 =060C高速緩存器線路長度=000D延遲計時器=20
0E頭標(biāo)類型 =0010基本地址寄存器0=0000000014基本地址寄存器1=0000000018基本地址寄存器2=000000001C基本地址寄存器3=0000000020基本地址寄存器4=0000000024基本地址寄存器5=0000000028 Cardbus CIS指針 =000000002C子系統(tǒng)ID =0000000030擴展ROM=0000000034保留 =000000002C保留 =00000000從設(shè)備中讀出的數(shù)據(jù)是標(biāo)準(zhǔn)格式的。本發(fā)明中使用的被采集到的數(shù)據(jù)的字段如下子集00=硬件供應(yīng)商(例如Intel)子集02=設(shè)備類型(例如Intel的BX芯片組)子集08=修訂版本級別(所查詢的硬件修訂版本級別)確定安裝在個人計算機中的硬件以及安裝相關(guān)的軟件驅(qū)動程序的過程始于圖4的步驟402。在步驟404中,查詢第一總線、第一設(shè)備,以便識別硬件供應(yīng)商、設(shè)備類型和修訂版本級別。在步驟406和408中,對每個可能的PCI“槽”均重復(fù)上述采集過程。首先讀出銷售商ID。如果銷售商ID是0FFFFh,則表示無效的銷售商ID,所以,在該槽內(nèi)未安裝設(shè)備。<對槽進(jìn)行查詢的軟件如何知道有多少個槽?-查詢總線0、槽0,然后查詢槽1直至找到了一空槽,然后移至總線1等,直至找到了一個不存在的總線嗎?為此,必須將卡放在各總線均可用的最低槽內(nèi)>。通過多次查詢用于各個設(shè)備和功能的硬件,可采集到硬件配置寄存器的完整拷貝。一旦成功地采集到了上述數(shù)據(jù),就在步驟410中將數(shù)據(jù)分解成與特定子系統(tǒng)(例如主板芯片組、視頻芯片組及其它芯片組)相關(guān)的數(shù)據(jù),因為,這些子系統(tǒng)中的每一個均具有與它們有關(guān)的特定的唯一軟件驅(qū)動程序。所有這些唯一的與硬件有關(guān)的軟件集合已安裝在與生產(chǎn)過程有關(guān)的代碼服務(wù)器上。<所有總線,所有設(shè)備,-你如何知道何時完成?>
利用預(yù)置/準(zhǔn)備運行圖像來將客戶所需的操作系統(tǒng)安裝到個人計算機上。操作系統(tǒng)呈現(xiàn)為一種可被直接拷貝到目標(biāo)計算機上的格式。操作系統(tǒng)是這種安裝在特定個人計算機上的主板所專用的??稍跊]有這種硬件/關(guān)聯(lián)的情況下將不可操作的操作系統(tǒng)拷貝至個人計算機。
一旦業(yè)已將基本的操作系統(tǒng)拷貝到目標(biāo)個人計算機,該個人計算機就會準(zhǔn)備好去拷貝附加軟件,所述附加軟件與該個人計算機所專用的硬件有關(guān)。僅能在建立了操作系統(tǒng)目錄結(jié)構(gòu)時拷貝用于附加硬件的附加軟件。這時,掃描個人計算機硬件以便利用PCI配置寄存器信息來確定有關(guān)個人計算機的準(zhǔn)確硬件配置。對個人計算機的一般性掃描會產(chǎn)生以下數(shù)據(jù),其中每個設(shè)備/功能都需要相關(guān)的一組軟件。用于總線0、設(shè)備0、功能0的PCI配置寄存器00銷售商ID=8086>>>Intel02設(shè)備ID =7100>>>主板資源(CPU橋)08修訂版本ID =01用于總線0、設(shè)備1、功能0的PCI配置寄存器00銷售商ID=8086>>>Intel02設(shè)備ID =7110>>>主板資源(CPU橋)08修訂版本ID =01用于總線0、設(shè)備1、功能1的PCI配置寄存器00銷售商ID=8086>>>Intel02設(shè)備ID =7111>>>主板資源(IDE系統(tǒng))08修訂版本ID =01用于總線0、設(shè)備1、功能2的PCI配置寄存器00銷售商ID=8086>>>Intel02設(shè)備ID=7112>>>主板資源(USB)08修訂版本ID=01用于總線0、設(shè)備1、功能3的PCI配置寄存器00銷售商ID =8086>>>Intel02設(shè)備ID=7113>>>主板資源(PCI橋)08修訂版本ID=01用于總線0、設(shè)備2、功能0的PCI配置寄存器00銷售商ID=104c>>>Texas02設(shè)備ID =ac16>>>Cardbus資源08修訂版本ID =01用于總線0、設(shè)備2、功能1的PCI配置寄存器00銷售商ID=104c>>>Texas02設(shè)備ID =ac16>>>Cardbus資源08修訂版本ID =01用于總線0、設(shè)備3、功能0的PCI配置寄存器00銷售商ID=1023>>>ATI02設(shè)備ID =9397>>>視頻資源08修訂版本ID =f3將通過掃描所采集到的這些數(shù)據(jù)用作指向多個不同軟件組的指針,所述軟件組如在下例中那樣要被拷貝到目標(biāo)個人計算機的目錄結(jié)構(gòu)中子系統(tǒng)供應(yīng)商 設(shè)備類型 修訂版本級別 驅(qū)動程序文件名視頻 1023 9397f3 ATIXXXOf3.FILCardbus104c ac1601 TEXXXX001.FIL在圖4的步驟412中,根據(jù)銷售商、設(shè)備和修訂版本信息中識別出所需的驅(qū)動程序(上例中的ATIXXX0f3.FIL和TEXXXX001.FIL)。在步驟414中,安裝被識別出的相關(guān)驅(qū)動程序,并且該流程在步驟416處結(jié)束。
<以下內(nèi)容中的句子是什么意思?>
這種類型的查詢表/矩陣的擴展能自動安裝要進(jìn)行遠(yuǎn)程構(gòu)建的多種硬件子系統(tǒng)。
盡管就安裝用于特定硬件的操作系統(tǒng)軟件擴展和設(shè)備驅(qū)動程序說明了上述系統(tǒng),但是,本發(fā)明也可應(yīng)用于安裝特定應(yīng)用程序軟件的軟件擴展和設(shè)備驅(qū)動程序。例如,字處理器可檢查是否安裝了諸如用以支持話筒輸入的硬件之類的用于識別語音命令的設(shè)備,如果安裝了這種設(shè)備,則會自動地安裝允許向字處理器進(jìn)行語音輸入的適當(dāng)驅(qū)動程序。
盡管用最佳實施例說明了本發(fā)明,但是,對本領(lǐng)域的技術(shù)人員來說,可以有多種變化形式和改進(jìn)形式。所以,應(yīng)該認(rèn)識到,所述最佳實施例為一個實例而不是一種限制。
權(quán)利要求
1.一種用于安裝與被安裝在計算機中的硬件相關(guān)的軟件的方法,該方法包括下列步驟在硬件中設(shè)置一個或多個唯一標(biāo)識;查詢該唯一標(biāo)識;響應(yīng)上述查詢而識別出與所安裝的硬件相關(guān)的軟件;以及安裝相關(guān)的軟件。
2.如權(quán)利要求1的方法,其特征在于,所述唯一標(biāo)識是配置寄存器。
3.如權(quán)利要求2的方法,其特征在于,所述配置寄存器包括與售貨商、設(shè)備類型和修訂版本級別有關(guān)的信息。
4.如權(quán)利要求3的方法,其特征在于,用售貨商、設(shè)備類型和修訂版本級別信息來識別上述相關(guān)軟件。
5.一種計算機軟件安裝系統(tǒng),它用于安裝與一種或多種被安裝在計算機中的硬件相關(guān)的軟件,每種硬件均有唯一的標(biāo)識,所述系統(tǒng)包括用于查詢上述唯一標(biāo)識的裝置;用于識別哪種軟件與特定硬件相關(guān)的裝置;以及用于將與特定硬件相對應(yīng)的軟件安裝到計算機上的裝置。
6.如權(quán)利要求5的系統(tǒng),其特征在于,所述唯一標(biāo)識是配置寄存器。
7.如權(quán)利要求6的系統(tǒng),其特征在于,所述配置寄存器包括與售貨商、設(shè)備類型和修訂版本級別有關(guān)的信息。
8.如權(quán)利要求7的方法,其特征在于,用售貨商、設(shè)備類型和修訂版本級別信息來識別上述相關(guān)軟件。
9.一種計算機程序產(chǎn)品,它用于帶有非易失性存儲介質(zhì)的數(shù)據(jù)處理系統(tǒng),所述計算機程序產(chǎn)品包括計算機可用的介質(zhì),該介質(zhì)中嵌有計算機可讀程序代碼裝置,以便安裝與被安裝在計算機中的硬件相關(guān)的軟件,每個硬件中均具有一個或多個唯一標(biāo)識;所述計算機程序產(chǎn)品具有用于查詢上述唯一標(biāo)識的計算機機可讀程序代碼裝置;響應(yīng)上述用于查詢的計算機可讀程序代碼而識別與所安裝的硬件相關(guān)的軟件的計算機可讀程序代碼裝置;以及用于安裝上述相關(guān)軟件的計算機可讀程序代碼裝置。
10.如權(quán)利要求9的系統(tǒng),其特征在于,所述唯一標(biāo)識是配置寄存器。
11.如權(quán)利要求10的系統(tǒng),其特征在于,所述配置寄存器包括與售貨商、設(shè)備類型和修訂版本級別有關(guān)的信息。
12.如權(quán)利要求11的方法,其特征在于,用售貨商、設(shè)備類型和修訂版本級別信息來識別上述相關(guān)軟件。
全文摘要
帶有相關(guān)硬件的計算機需要安裝與該硬件有關(guān)的軟件,以便能適當(dāng)?shù)匕l(fā)揮作用。安裝相關(guān)軟件的方法是:在硬件中設(shè)置一個或多個唯一標(biāo)識;查詢該唯一標(biāo)識;識別出與所安裝的硬件相關(guān)的軟件;以及,安裝相關(guān)的軟件。
文檔編號G06F9/445GK1300979SQ00135970
公開日2001年6月27日 申請日期2000年12月19日 優(yōu)先權(quán)日1999年12月23日
發(fā)明者R·科維, S·麥盧內(nèi), J·奧射伊, B·沃爾什 申請人:國際商業(yè)機器公司