国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      信息處理設(shè)備及信息處理設(shè)備中的設(shè)備初始化方法

      文檔序號:6480726閱讀:140來源:國知局
      專利名稱:信息處理設(shè)備及信息處理設(shè)備中的設(shè)備初始化方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及信息處理設(shè)備并涉及信息處理設(shè)備中的設(shè)備初始化方法和設(shè)備初始化程序,并且更具體地涉及一種使用通過在執(zhí)行OS之前由固件執(zhí)行的設(shè)備的初始化過程獲取的初始化信息以省略由OS執(zhí)行的設(shè)備初始化過程的一部分的技術(shù)。
      背景技術(shù)
      諸如硬盤、圖形卡和網(wǎng)卡的許多設(shè)備要求在信息處理設(shè)備中執(zhí)行這些設(shè)備的初始化過程以使得能夠從信息處理設(shè)備訪問。
      信息處理設(shè)備中的設(shè)備初始化過程涉及將設(shè)備設(shè)置為允許設(shè)備通過識別設(shè)備的連接狀態(tài)從信息處理設(shè)備訪問的狀態(tài)、分配諸如I/0 (輸入/輸出)端口號和IRQ (中斷請求)號的重要資源以及在屬于所述設(shè)備的寄存器中設(shè)置寄存器信息。
      識別設(shè)備的連接狀態(tài)是檢測連接至信息處理設(shè)備的設(shè)備并獲取己被檢測到的設(shè)備的諸如設(shè)備名稱等基本信息的過程。檢測設(shè)備的方法因設(shè)備而異。
      1/0端口號是從信息處理設(shè)備分配給每個設(shè)備的設(shè)備識別號。
      IRQ是電信號,當(dāng)設(shè)備的某些狀態(tài)發(fā)生變化時,設(shè)備通過該信號向信息處理設(shè)備的CPU (中央處理單元)通知所發(fā)生的變化。IRQ號是當(dāng)向CPU通知設(shè)備狀態(tài)的變化時用于識別哪個設(shè)備正在執(zhí)行所述通知的識別號。
      當(dāng)信息處理設(shè)備訪問設(shè)備時,對諸如"inb"及"outb"的操作碼
      來說,通過將諸如i/o端口號的訪問設(shè)備所需的數(shù)據(jù)的存儲位置指定為
      操作數(shù)來執(zhí)行所述設(shè)備的數(shù)據(jù)的輸入及輸出。
      通過向以此種方式連接的設(shè)備分配I/0端口號或IRQ號,信息處理設(shè)備能夠識別這些設(shè)備,并且通過指定分配給設(shè)備的I/0端口號或IRQ號,信息處理設(shè)備能夠訪問這些設(shè)備。
      在正常的信息處理設(shè)備中,上述初始化設(shè)備的過程由諸如BIOS(基本輸入/輸出系統(tǒng))的固件和OS (操作系統(tǒng))執(zhí)行。
      用于使能夠從固件訪問連接至信息處理設(shè)備的設(shè)備的設(shè)備初始化過程(第一初始化過程)在固件中執(zhí)行。在個人計算機的情況下,用于實現(xiàn)諸如磁盤設(shè)備、鍵盤、鼠標(biāo)或視頻卡的信息處理設(shè)備的基本功能的設(shè)備的設(shè)備初始化過程在固件中實現(xiàn)。固件是一種程序, 一旦向信息處理設(shè)備引入電源就首先執(zhí)行該程序,并且該程序具有例如執(zhí)行檢查信息處理設(shè)備的硬件故障及上述設(shè)備初始化過程的作用,然后從諸如硬盤的非易失性存儲介質(zhì)向存儲器加載OS并執(zhí)行OS。
      另一方面,在OS中,執(zhí)行設(shè)備初始化過程(第二初始化過程),以使能夠從OS或運行在OS上的用戶應(yīng)用訪問連接至信息處理設(shè)備的設(shè)備。例如,在個人計算機的情況下,在OS內(nèi)為使用OS的設(shè)備執(zhí)行初始化過程,例如對應(yīng)于屬于OS的每個設(shè)備驅(qū)動器的設(shè)備。
      因此,設(shè)備初始化過程必須在信息處理設(shè)備啟動時在固件及OS中一共執(zhí)行兩次,并且因此,當(dāng)具有耗時的初始化過程的設(shè)備連接至信息處理設(shè)備時,信息處理設(shè)備的激活花費很長時間。初始化過程需要的時間取決于設(shè)備的類型,但是使用SCSI (小型計算機系統(tǒng)接口)連接的SCSI設(shè)備是涉及耗時的初始化過程的設(shè)備的
      一個具體示例。SCSI是用于執(zhí)行在信息處理設(shè)備和設(shè)備之間的數(shù)據(jù)交
      換的接口 (標(biāo)準(zhǔn))。
      信息處理設(shè)備使用提前己設(shè)置到SCSI設(shè)備的被稱為"SCSI-ID"的識別號,而不是上述I/0端口號,來識別連接的SCSI設(shè)備。SCSI-ID可以通過操縱安裝在每個SCSI設(shè)備內(nèi)的跳線開關(guān)來設(shè)置。
      在連接的SCSI設(shè)備的初始化過程中,信息處理設(shè)備按順序指定每個SCSI-ID,并向SCSI總線傳輸特殊信號。
      當(dāng)存在具有指定的SCSI-ID的SCSI設(shè)備時,該SCSI設(shè)備執(zhí)行對信息處理設(shè)備的響應(yīng),并且根據(jù)來自SCSI設(shè)備的該響應(yīng),信息處理設(shè)備能夠檢測并識別具有所述SCSI-ID的SCSI設(shè)備已連接。
      另一方面,當(dāng)具有指定SCSI-ID的SCSI設(shè)備不存在時,信息處理設(shè)備等待來自SCSI設(shè)備的響應(yīng)直到提前已經(jīng)設(shè)定的設(shè)定時間間隔過去,并且當(dāng)沒有響應(yīng)時,確定具有此SCSI-ID的SCSI設(shè)備未連接。
      以此種方式,信息處理設(shè)備在SCSI設(shè)備初始化過程中為所有SCSI-ID連續(xù)執(zhí)行上述識別SCSI設(shè)備的過程,并且利用每個沒有設(shè)備的SCSI-ID的指定產(chǎn)生設(shè)定時間間隔的等待時間,并且因此SCSI設(shè)備初始化過程變得非常耗時(參照Sugaya Seiichi, "Detailed Commentary ofSCSI-2" CQ出版,1994年8月15曰,第47-53頁)。
      如上所述,為實現(xiàn)其中可以從信息處理設(shè)備訪問設(shè)備的狀態(tài),在激活信息處理設(shè)備的時候必須執(zhí)行設(shè)備初始化過程。然而,當(dāng)連接至信息處理設(shè)備的設(shè)備的配置相比于先前激活沒有經(jīng)歷任何變化時,在一些情況下部分設(shè)備初始化過程是不必要的。
      例如,連接至信息處理設(shè)備的設(shè)備繼續(xù)使用從信息處理設(shè)備分配 的I/0端口號和IRQ號,直到所述設(shè)備斷開與信息處理設(shè)備的連接或直 到新的設(shè)備連接至信息處理設(shè)備以及連接至信息處理設(shè)備的設(shè)備的配 置發(fā)生變化。
      此外,當(dāng)在特定于設(shè)備的寄存器中設(shè)置的寄存器信息不是每當(dāng)激
      活信息處理設(shè)備時確定的信息時,例如提前設(shè)置在設(shè)備中的SCSI-ID, 即這樣的信息 一旦數(shù)值已經(jīng)被確定,在設(shè)備斷開與信息處理設(shè)備的
      連接之前不發(fā)生改變,設(shè)備繼續(xù)使用同樣的特定于該設(shè)備的寄存器信 息。
      因此,當(dāng)所連接的設(shè)備的配置沒有變化時,信息處理設(shè)備訪問設(shè)
      備所需的設(shè)備控制信息將沒有變化,所述設(shè)備控制信息諸如i/o端口號、
      IRQ號、及特定于設(shè)備的寄存器信息,并且因此,當(dāng)再次執(zhí)行設(shè)備初始 化過程時,重新使用先前設(shè)置的設(shè)備控制信息消除了對執(zhí)行設(shè)置設(shè)備 控制信息的過程(設(shè)備識別過程)的需要。
      存在當(dāng)連接至信息處理設(shè)備的設(shè)備的配置沒有變化時通過使用上 述特征從設(shè)備初始化過程中省略設(shè)備識別過程的方法,以將曾在設(shè)備 中設(shè)置的設(shè)備控制信息存儲在非易失性存儲介質(zhì)中,并且然后當(dāng)再次 執(zhí)行設(shè)備初始化過程時使用存儲在非易失性存儲介質(zhì)中的設(shè)備控制信
      作為使用此方法的示例,JP-A-2006-259903公幵了一種通過首先將 包括在BIOS中的設(shè)備初始化過程中曾在設(shè)備中設(shè)置的設(shè)備控制信息的 設(shè)備信息存儲在閃速BIOS-ROM中,然后當(dāng)再次執(zhí)行設(shè)備初始化過程時 使用已存儲在閃速BIOS-ROM中的設(shè)備信息來省略設(shè)備識別過程的技 術(shù)。下面使用圖l的框圖以及圖2和圖3的流程圖進(jìn)一步解釋在
      JP-A-2006-259卯3中公開的使用用于省略設(shè)備識別過程的技術(shù)的系統(tǒng)
      的配置及操作。
      首先解釋該系統(tǒng)的配置。如圖l所示,在JP-A-2006-259903中公開 的系統(tǒng)包括閃速BIOS存儲器IOOO,在激活信息處理設(shè)備時在BIOS中的 設(shè)備初始化過程中將諸如存儲器信息1001或驅(qū)動信息1002的每個設(shè)備 的設(shè)備信息存儲在閃速BIOS存儲器1000中,并且然后當(dāng)BIOS再次執(zhí)行 設(shè)備初始化過程時使用已存儲的設(shè)備信息。
      下面解釋使用在JP-A-2006-259卯3中公開的技術(shù)的系統(tǒng)的操作。
      參照圖2的流程圖,在S36中,首先將電源施加至信息處理設(shè)備(電 源接通)。
      然后在S37中,從EC/KBC獲取喚醒因素。EC/KBC測量施加電源的 時間間隔,并且基于該時間間隔的長度區(qū)分喚醒因素是簡化POST過程 還是正常POST過程。POST過程指的是施加電源后自動執(zhí)行的過程的集 合。該POST過程包括由BIOS實現(xiàn)的設(shè)備初始化過程。
      然后在S38中,確定所獲取的喚醒因素是簡化POST過程還是正常 POST過程。
      若所獲取的喚醒因素是簡化POST過程(S38中為"是"),則在 S39中將簡化POST過程的標(biāo)志設(shè)置在閃速BIOS-ROM IOOO中。
      另一方面,若所獲取的喚醒因素是正常POST過程(S38中為"否"), 則在S40中開始存儲器設(shè)備初始化過程而不設(shè)置標(biāo)志。
      11然后在S41中確認(rèn)是否已在閃速BIOS-ROM 1000中設(shè)置標(biāo)志。
      若尚未在閃速BIOS-ROM 1000中設(shè)置標(biāo)志(S41中為"否"),則 在S42中根據(jù)作為存儲在閃速BIOS-ROM IOOO中的存儲設(shè)備的設(shè)備信 息的存儲器信息1001執(zhí)行存儲器初始化過程。
      另一方面,若已設(shè)置標(biāo)志(S41中為"是"),則在S43中從存儲 器設(shè)備獲取(讀出)存儲器信息1001并根據(jù)所獲取的存儲器信息執(zhí)行 存儲器設(shè)備初始化過程,并且在S44中,將從存儲器設(shè)備獲取的存儲器 信息1001存儲在閃速BIOS-ROM IOOO中。
      在S45中,存儲器設(shè)備的初始化過程通過上述過程完成。 過程然后轉(zhuǎn)向圖3的流程圖,并且在S46中開始驅(qū)動設(shè)備初始化過程。
      然后在S47中,檢查在閃速BIOS-ROM 1000中是否已設(shè)置標(biāo)志,并 且若已設(shè)置標(biāo)志(S47中為"是"),則在S48中根據(jù)存儲在閃速 BIOS-ROM1000中并且作為驅(qū)動設(shè)備的設(shè)備信息的的驅(qū)動信息1002執(zhí)
      行驅(qū)動設(shè)備初始化過程。
      另一方面,若未設(shè)置標(biāo)志(S47中為"否"),則在S49中從驅(qū)動 設(shè)備獲取(讀出)驅(qū)動信息1002并且根據(jù)所獲取的驅(qū)動信息1002執(zhí)行 驅(qū)動設(shè)備初始化過程,并且在S50中,將從驅(qū)動設(shè)備獲取的驅(qū)動信息 1002存儲在閃速BIOS-ROM 1000中。
      然后在S51中,BIOS完成驅(qū)動設(shè)備初始化過程,并且在S52中激活os。
      在JP-A-2006-259903中公開的技術(shù)中,借助這些操作從BIOS中的設(shè)備初始化過程中省略了設(shè)備識別過程。
      此外,JP-A-2005-284491公開了一種通過首先在OS初始化過程中 將在完成OS初始化過程時的存儲器圖像存儲在非易失性存儲介質(zhì)中, 并且然后當(dāng)再次執(zhí)行OS初始化過程時,在存儲器中改進(jìn)(devel叩)所 存儲的存儲器圖像,來從OS初始化過程省略包括設(shè)備識別過程的各種 過程的技術(shù)。
      以此種方式,當(dāng)從固件或OS中的設(shè)備初始化過程中省略了用于設(shè) 置設(shè)備控制信息的設(shè)備識別過程時,可以實現(xiàn)提高信息處理設(shè)備的激 活速度。
      然而,在JP-A-2006-259903和JP-A-2005-284491中公開的技術(shù)存在
      問題,如下所述。
      在JP-A-2006-259卯3和JP-A-2005-284491中公開的技術(shù)使用如下
      特征只要連接至信息處理設(shè)備的設(shè)備的配置沒有變化,就能夠重新
      使用曾獲取的設(shè)備信息,并且由此縮短了固件或os中設(shè)備初始化過程
      所需的時間間隔,并實現(xiàn)了信息處理設(shè)備的更快激活。
      因此,這些技術(shù)的缺點在于,當(dāng)連接至信息處理設(shè)備的設(shè)備的配 置發(fā)生變化時不能實現(xiàn)更高的信息處理設(shè)備的激活速度
      發(fā)明內(nèi)容
      .
      本發(fā)明的一個目的是提供一種能夠解決上述問題的信息處理設(shè)備 以及在信息處理設(shè)備中的設(shè)備初始化方法。
      用于實現(xiàn)上述目的的本發(fā)明的信息處理設(shè)備是一種信息處理設(shè) 備,包括初始化單元,該初始化單元通過用于執(zhí)行使得能夠從固件 訪問連接至信息處理設(shè)備的設(shè)備的第一初始化過程的固件的執(zhí)行來實現(xiàn);控制單元,該控制單元通過用于在固件的實施之后執(zhí)行用于使得
      能夠從操作系統(tǒng)訪問設(shè)備的第二初始化過程的操作系統(tǒng)的來實現(xiàn);以
      及主存儲單元;所述初始化單元包括設(shè)備初始化單元,用于在第一 初始化過程中設(shè)置對訪問作為第一初始化過程的對象的設(shè)備所需的設(shè) 備控制信息;以及初始化信息存儲單元,用于在主存儲器單元中存儲 包括已由設(shè)備初始化單元設(shè)置的設(shè)備控制信息的初始化信息;并且所
      述控制單元包括設(shè)備信息應(yīng)用單元,用于在第二初始化過程中從主 存儲器單元獲取作為第二初始化過程的對象的設(shè)備的初始化信息。
      用于實現(xiàn)上述目的的本發(fā)明的設(shè)備初始化過程簡化方法是一種由 信息處理設(shè)備執(zhí)行的設(shè)備初始化方法,所述信息處理設(shè)備包括初始 化單元,該初始化單元通過用于執(zhí)行使得能夠從固件訪問連接至信息 處理設(shè)備的設(shè)備的第一初始化過程的固件的執(zhí)行來實現(xiàn);控制單元, 該控制單元通過用于在固件的執(zhí)行之后執(zhí)行使得能夠從操作系統(tǒng)訪問 設(shè)備的第二初始化過程的操作系統(tǒng)的執(zhí)行來實現(xiàn);以及主存儲器單元; 所述初始化單元包括第一設(shè)備初始化步驟,用于在第一初始化過程 中設(shè)置訪問作為第一初始化過程的對象的設(shè)備所需的設(shè)備控制信息; 以及存儲步驟,用于在主存儲單元中存儲包括在第一設(shè)備初始化步驟 中已設(shè)置的設(shè)備控制信息的初始化信息;并且所述控制單元包括第 二設(shè)備初始化步驟,用于在第二初始化過程中從主存儲器單元獲取作 為第二初始化過程的對象的設(shè)備的初始化信息。
      根據(jù)本發(fā)明,信息處理設(shè)備是下列配置,其中通過固件的執(zhí)行 實現(xiàn)的初始化單元在第一初始化過程中設(shè)置作為第一初始化過程的對 象的設(shè)備的設(shè)備控制信息并在主存儲器單元中存儲包括已被設(shè)置的設(shè) 備控制信息的初始化信息;以及通過操作系統(tǒng)的執(zhí)行實現(xiàn)的控制單元 在第二初始化過程中從主存儲器單元獲取作為第二初始化過程的對象 的設(shè)備的初始化信息。
      因此,即使在連接至信息處理設(shè)備的設(shè)備的配置發(fā)生變化的情況下,初始化單元也能夠在第一初始化過程中獲取反映設(shè)備的配置的變 化內(nèi)容的初始化信息并將該初始化信息存儲在主存儲器單元中,由此 控制單元能夠在第二初始化過程中使用從主存儲器單元獲取的初始化 信息執(zhí)行設(shè)備初始化過程,以從第二初始化過程中省略設(shè)置設(shè)備控制 信息的過程。
      以此種方式,本發(fā)明具有即使當(dāng)連接至信息處理設(shè)備的設(shè)備的配 置發(fā)生變化時也使得能夠?qū)崿F(xiàn)更快激活信息處理設(shè)備的效果。
      根據(jù)參考圖示本發(fā)明示例的附圖的下面描述,本發(fā)明的上述及其 它目標(biāo)、特征以及優(yōu)點將變得顯而易見。


      圖l是用于解釋在JP-A-2006-259903中描述的系統(tǒng)的配置的框圖; 圖2是用于解釋在圖1所示的系統(tǒng)中存儲器設(shè)備初始化過程的操作 的流程圖3是用于解釋在圖1所示的系統(tǒng)中驅(qū)動設(shè)備初始化過程的操作的 流程圖4是顯示本發(fā)明的第一示例性實施例的信息處理設(shè)備的配置的
      框圖5是用于解釋圖4所示的信息處理設(shè)備的操作的流程圖; 圖6是顯示本發(fā)明的第二示例性實施例的信息處理設(shè)備的配置的
      框圖7示出了圖6所示的初始化信息存儲區(qū)域的配置的具體示例; 圖8是用于解釋在圖6所示的初始化單元中設(shè)備初始化過程的操作 的流程圖;
      圖9是用于解釋在圖6所示的控制單元中設(shè)備初始化過程的操作的 流程圖10是顯示本發(fā)明的第三示例性實施例的信息處理設(shè)備的配置的
      框圖;圖11示出了圖10所示的設(shè)備非初始化確定列表的具體示例; 圖12是用于解釋在圖10所示的控制單元中設(shè)備初始化過程的操作 的流程圖13是用于解釋在圖10所示的控制單元中設(shè)備初始化省略過程的 操作的流程圖14是顯示實現(xiàn)本發(fā)明的第二示例性實施例的工作示例的配置的
      框圖15示出了圖14所示的biosmap (BIOS映射)信息的具體示例;以

      圖16是用于解釋在圖14所示的Linux OS中設(shè)備初始化過程的操作 的流程圖。
      具體實施例方式
      下面參照附圖解釋用于使本發(fā)明工作的優(yōu)選實施例。
      第一示例性實施例
      圖4示出了本發(fā)明的第一示例性實施例的信息處理設(shè)備的配置。
      如圖4所示,本示例性實施例的信息處理設(shè)備包括初始化單元 100、主存儲器單元200以及控制單元300。初始化單元100進(jìn)一步包括 設(shè)備初始化單元102以及初始化信息存儲單元103,并且控制單元300進(jìn) 一步包括設(shè)備信息應(yīng)用單元。
      初始化單元100通過向信息處理設(shè)備引入電源以及通過固件執(zhí)行 來實現(xiàn)。固件在OS執(zhí)行之前執(zhí)行,并且因此在初始化單元100中的過程 都在OS執(zhí)行之前執(zhí)行。
      初始化單元100首先診斷信息處理設(shè)備的硬件故障,并且然后借 助設(shè)備初始化單元102執(zhí)行設(shè)備初始化過程(第一初始化過程),以 使得能夠從固件訪問連接至信息處理設(shè)備的設(shè)備。在初始化單元ioo中執(zhí)行設(shè)備初始化過程來實現(xiàn)信息處理設(shè)備的基本功能,在個人電腦 的情況下,所述信息處理設(shè)備諸如是磁盤設(shè)備、鍵盤、鼠標(biāo)以及視頻 卡。
      在初始化單元100中的設(shè)備初始化過程中,設(shè)備初始化單元102 執(zhí)行設(shè)備識別過程來設(shè)置諸如I/O端口號、IRQ號及對訪問作為初始化 過程的對象的設(shè)備必需的特定于設(shè)備的寄存器信息的裝置控制信息。
      初始化信息存儲單元103將包括由設(shè)備初始化單元102設(shè)置的設(shè) 備控制信息的初始化信息500存儲在主存儲器單元200中。
      主存儲器單元200是屬于信息處理設(shè)備的主存儲器單元,并且在 本示例性實施例中,初始化信息存儲單元103將主存儲器單元200用 作存儲初始化信息500的工具。
      控制單元300通過在初始化單元100執(zhí)行設(shè)備初始化過程之后OS 的執(zhí)行來實現(xiàn)??刂茊卧?00借助設(shè)備信息應(yīng)用單元306執(zhí)行設(shè)備初 始化過程(第二初始化過程),以使得能夠從OS訪問連接至信息處理 設(shè)備的設(shè)備。用于初始化由OS使用的設(shè)備的過程在控制單元300中執(zhí) 行。
      設(shè)備信息應(yīng)用單元306在控制單元300中的設(shè)備初始化過程中從 主存儲器單元200獲取初始化信息500,由此通過使用所獲取的初始化 信息500,設(shè)備信息應(yīng)用單元306能夠從設(shè)備初始化過程省略用于設(shè)置 設(shè)備控制信息的過程,即設(shè)備識別過程。
      下面參照屈5的流程圖解釋本示例性實施例的操作。
      在Sl中,設(shè)備初始化單元102首先執(zhí)行設(shè)備初始化過程。在設(shè)備 初始化過程中,設(shè)備初始化單元102在初始化單元100中執(zhí)行用于識別作為初始化過程的對象的設(shè)備的過程,并且設(shè)置設(shè)備控制信息。
      然后在S2中,初始化信息存儲單元103將包括設(shè)備初始化單元
      102希望設(shè)置的設(shè)備控制信息的初始化信息500存儲在主存儲器單元 200中。
      然后在S3中,在控制單元300中,設(shè)備信息應(yīng)用單元306在設(shè)備 初始化過程中獲取存儲在主存儲器單元200中的初始化信息500。
      然后在S4中,在控制單元300中,設(shè)備信息應(yīng)用單元306使用所 獲取的初始化信息500執(zhí)行用于初始化作為初始化過程的對象的設(shè)備 的過程。
      以此種方式,在控制單元300中,設(shè)備信息應(yīng)用單元306能夠從 設(shè)備初始化過程中省略設(shè)備識別過程。
      下面解釋本示例性實施例的效果。
      如上所述,本示例性實施例的信息處理設(shè)備具有下面的配置,其 中在第一初始化過程中,通過固件的執(zhí)行實現(xiàn)的初始化單元100設(shè) 置作為第一初始化過程的對象的設(shè)備的設(shè)備控制信息并將包含已設(shè)置 的設(shè)備控制信息的初始化信息500存儲在主存儲單元200中;以及在 第二初始化過程中,通過操作系統(tǒng)的執(zhí)行實現(xiàn)的控制單元300從主存 儲器單元200獲取作為第二初始化過程的對象的設(shè)備的初始化信息 500。
      因此,即使連接至信息處理設(shè)備的設(shè)備的配置已經(jīng)發(fā)生變化,初 始化單元100也能夠獲取反映設(shè)備的配置的變化的內(nèi)容的初始化信息 500,并且在第一初始化過程中將初始化信息500存儲在主存儲器單元 200中,由此控制單元300能夠使用在第二初始化過程中已從主存儲器單元200獲取的初始化信息500執(zhí)行設(shè)備的初始化過程,并且因此從 第二初始化過程中省略設(shè)置設(shè)備控制信息的過程。
      以此種方式,本示例性實施例獲得即使當(dāng)連接至信息處理設(shè)備的 設(shè)備的配置已經(jīng)變化也能夠?qū)崿F(xiàn)更快速激活信息處理設(shè)備的效果。
      第二示例性實施例
      圖6示出了本發(fā)明的第二示例性實施例的信息處理設(shè)備的配置。 如圖6所示,本示例性實施例的信息處理設(shè)備與圖4所示的第一
      示例性實施例的不同之處在于初始化單元100包括主存儲器區(qū)域信
      息提供單元101,主存儲器單元200包括初始化信息存儲區(qū)域201,并 且控制單元300包括主存儲器區(qū)域信息獲取單元301、主存儲器區(qū)域信 息302、初始化信息303、設(shè)備驅(qū)動器307以及設(shè)備識別單元305。此 外,假定設(shè)備驅(qū)動器307包括設(shè)備驅(qū)動器初始化功能304。因為除此以 外組成元件與第一示例性實施例中的組成元件等同,所以給出了與圖4 中相同的附圖標(biāo)記并且酌情省略了解釋。
      除了第一示例性實施例中執(zhí)行的過程之外,本示例性實施例的設(shè) 備初始化單元102在初始化單元100中進(jìn)一步執(zhí)行用于獲取作為初始 化過程的對象的設(shè)備的設(shè)備名稱的過程。
      本示例性實施例的初始化信息存儲單元103將由設(shè)備初始化單元 102獲取的設(shè)備名稱附加至第一示例性實施例中使用的初始化信息 500,并且除了初始化信息500之外將包括諸如設(shè)備類型、1/0存儲器 地址的信息的設(shè)備信息400存儲在主存儲器單元200的初始化信息存 儲區(qū)域201中。初始化信息存儲單元103進(jìn)一步將己存儲設(shè)備信息400 的初始化信息存儲區(qū)域201的位置信息存儲在主存儲單元200中作為 主存儲器區(qū)域信息302,主存儲器區(qū)域信息是由主存儲器區(qū)域信息提 供單元101管理的主存儲器單元200中每個區(qū)域的位置信息。主存儲器區(qū)域信息提供單元101用作管理主存儲器區(qū)域信息302
      并向控制單元300提供信息的裝置。此外,在控制單元300的主存儲 器區(qū)域信息獲取單元301訪問主存儲器區(qū)域信息提供單元101之前, 初始化信息存儲單元103將初始化信息存儲區(qū)域201的位置信息存儲 為主存儲器區(qū)域信息302。
      本示例性實施例的主存儲器單元200包括用于存儲設(shè)備信息400 的初始化信息存儲區(qū)域201。
      初始化信息存儲區(qū)域201是初始化信息存儲單元103存儲設(shè)備信 息400的區(qū)域。圖7示出了初始化信息存儲區(qū)域201的構(gòu)造。如圖7 所示,每個設(shè)備的設(shè)備信息400存儲在初始化信息存儲區(qū)域201中。 而且,如圖7所示,假定存儲在初始化信息存儲區(qū)域201中的設(shè)備信 息400包括設(shè)備名稱、設(shè)備類型、1/0端口號、IRQ號、1/0存儲器地 址以及其它特定于設(shè)備的設(shè)置信息。
      主存儲器區(qū)域信息獲取單元301用作獲取由主存儲器區(qū)域信息提 供單元101提供的主存儲器區(qū)域信息302的裝置。存儲設(shè)備信息400 的初始化信息存儲區(qū)域201的位置信息包含在由主存儲器區(qū)域信息獲 取單元301獲取的主存儲器區(qū)域信息302中,并且由設(shè)備信息應(yīng)用單 元306使用。
      初始化信息列表303是在其中注冊初始化信息500的列表。在初 始化信息列表303中注冊的初始化信息500包含設(shè)備名稱、I/O端口號、 IRQ號以及其它特定于設(shè)備的設(shè)置信息。
      此外,通過使用在初始化信息列表303中注冊的每個設(shè)備的初始 化信息500, OS能夠識別并訪問設(shè)備。設(shè)備驅(qū)動器307向OS或運行在OS上的用戶應(yīng)用提供用于訪問連 接至信息處理設(shè)備的設(shè)備的功能。為此目的,設(shè)備驅(qū)動器307使用設(shè) 備驅(qū)動器初始化功能304來執(zhí)行設(shè)備的初始化過程。然后,基于設(shè)備 初始化過程已獲取的初始化信息500,設(shè)備驅(qū)動器307將作為執(zhí)行實際 操作的部分的設(shè)備的操作功能關(guān)聯(lián)到由控制單元300提供的諸如"讀" 和"寫"的抽象功能的接口。以此種方式,OS或用戶應(yīng)用能夠通過使 用由控制單元300準(zhǔn)備的諸如"讀"或"寫"的功能來訪問設(shè)備。因 為設(shè)置的信息或操作方法因設(shè)備而異,所以設(shè)備驅(qū)動器307被準(zhǔn)備為 特定于每個設(shè)備的信息。
      因此,在OS中的設(shè)備初始化過程中(第二初始化過程),因為 OS通過設(shè)備驅(qū)動器307訪問設(shè)備,所以執(zhí)行用于初始化對應(yīng)于由OS 使用的設(shè)備(即對應(yīng)于由OS持有的每個設(shè)備驅(qū)動器307)的特定設(shè)備 的過程。
      設(shè)備驅(qū)動器初始化功能304由設(shè)備驅(qū)動器307訪問,并且為連接 至信息處理設(shè)備的設(shè)備中對應(yīng)于設(shè)備驅(qū)動器307的特定設(shè)備執(zhí)行初始 化過程。類似于設(shè)備驅(qū)動器307,設(shè)備驅(qū)動器初始化功能304特定于每 個設(shè)備而準(zhǔn)備。
      設(shè)備識別單元305由設(shè)備驅(qū)動器初始化功能304訪問,并且執(zhí)行 初始化過程,用于初始化連接至信息處理設(shè)備的設(shè)備中對應(yīng)于設(shè)備驅(qū) 動器307以及設(shè)備驅(qū)動器初始化功能304的特定設(shè)備。
      更具體地,設(shè)備識別單元305首先確認(rèn)特定設(shè)備的連接狀態(tài),并 且獲取諸如特定設(shè)備的設(shè)備名稱的基本信息。接著,在執(zhí)行特定設(shè)備 的設(shè)備識別過程之前設(shè)備識別單元305使設(shè)備信息應(yīng)用單元306確定 在設(shè)備信息應(yīng)用單元306中的特定設(shè)備的設(shè)備名稱是否匹配于從初始 化信息存儲區(qū)域201獲取的設(shè)備信息400中包含的設(shè)備名稱。若設(shè)備 名稱匹配,則設(shè)備識別單元305執(zhí)行設(shè)備識別過程用于識別特定設(shè)備,以設(shè)置設(shè)備控制信息并在初始化信息列表303中注冊包括具體設(shè)備的
      設(shè)備名稱及設(shè)備控制信息的初始化信息500。
      一旦從設(shè)備識別單元305被通知特定設(shè)備的設(shè)備名稱,本示例性 實施例的設(shè)備信息應(yīng)用單元306就從主存儲器區(qū)域信息302中提取初 始化信息存儲區(qū)域201的位置信息,并且使用己提取的初始化信息存 儲區(qū)域201的位置信息在主存儲單元200中指定初始化信息存儲區(qū)域 201的位置。然后,設(shè)備信息應(yīng)用單元306從為其指定位置的初始化信 息存儲區(qū)域201中獲取設(shè)備信息400。
      設(shè)備信息應(yīng)用單元306進(jìn)一步確定特定設(shè)備的設(shè)備名稱是否匹配 于從初始化信息存儲區(qū)域201獲取的設(shè)備信息400中包含的設(shè)備名稱, 并且若設(shè)備名稱匹配,則從初始化信息存儲區(qū)域201獲取的設(shè)備信息 400中提取初始化信息500,并且在初始化信息列表303中將已提取的 初始化信息500注冊為特定設(shè)備的初始化信息。
      下面參照圖8及圖9的流程圖解釋本示例性實施例的信息處理設(shè) 備的操作。
      圖8的流程圖示出了初始化單元100的每個單元的操作。這些操 作在通過OS的執(zhí)行實現(xiàn)控制單元300之前提前執(zhí)行并且設(shè)備驅(qū)動器初 始化功能304通過設(shè)備驅(qū)動器307執(zhí)行。
      參照圖8的流程圖,在S5中,設(shè)備初始化單元102首先執(zhí)行用于 初始化連接至信息處理設(shè)備的設(shè)備的過程。在設(shè)備初始化過程中,在 初始化單元100中的設(shè)備初始化單元102既獲取作為初始化過程的對 象的設(shè)備的設(shè)備名稱又通過執(zhí)行用于識別設(shè)備的設(shè)備識別過程來設(shè)置 設(shè)備控制信息。
      然后在S6中,初始化信息存儲單元103將包括下列信息的設(shè)備信息400存儲在主存儲單元200中的初始化信息存儲區(qū)域201中包括 由設(shè)備初始化單元102獲取的設(shè)備名稱的初始化信息500和已設(shè)置的 設(shè)備控制信息以及諸如設(shè)備類型和1/0存儲器地址的信息。
      然后在S7中,初始化信息存儲單元103確定是否剩余有應(yīng)當(dāng)初始 化的設(shè)備。
      當(dāng)剩余有應(yīng)當(dāng)初始化的設(shè)備時(S7中為"是"),初始化信息存 儲單元103使設(shè)備初始化單元102執(zhí)行用于初始化下一設(shè)備的過程。 初始化信息存儲單元103重復(fù)這些過程直到用于初始化作為初始化過 程的對象的所有設(shè)備的過程完成。
      當(dāng)沒有剩余有應(yīng)當(dāng)初始化的設(shè)備時(S7中為"否"),在S8中, 初始化信息存儲單元103將已存儲每個設(shè)備的設(shè)備信息400的主存儲 單元200中初始化信息存儲區(qū)域201的位置信息添加至由主存儲器區(qū) 域信息提供單元101管理的主存儲器區(qū)域信息302。
      圖9的流程圖示出了控制單元300的每個單元的操作。當(dāng)由固件 實現(xiàn)的控制單元300通過設(shè)備驅(qū)動器307執(zhí)行設(shè)備驅(qū)動器初始化功能 304時開始這些操作,固件將OS載入主存儲器單元200中并在初始化 單元100中的設(shè)備初始化過程之后執(zhí)行OS。
      參照圖9的流程圖,設(shè)備驅(qū)動器初始化功能304首先訪問設(shè)備識 別單元305以執(zhí)行連接至信息處理設(shè)備的設(shè)備中特定的相應(yīng)設(shè)備的初 始化過程。
      當(dāng)執(zhí)行初始化特定設(shè)備的過程時,設(shè)備識別單元305首先檢查特 定設(shè)備的連接狀態(tài),并在S9中獲取特定設(shè)備的設(shè)備名稱。然后,設(shè)備 識別單元305在執(zhí)行用于識別特定設(shè)備的設(shè)備識別過程之前指定已獲 取的具體設(shè)備的設(shè)備名稱,以訪問設(shè)備信息應(yīng)用單元306。然后在S10中,設(shè)備信息應(yīng)用單元306從主存儲器區(qū)域信息302 中提取初始化信息存儲區(qū)域201的位置信息。
      然后,設(shè)備信息應(yīng)用單元306使用從主存儲器區(qū)域信息302中提 取的初始化信息存儲區(qū)域201的位置信息,以在主存儲單元200中指 定初始化信息存儲區(qū)域201的位置并在Sll中從為其指定位置的初始 化信息存儲區(qū)域201獲取設(shè)備信息400。
      然后在S12中,設(shè)備信息應(yīng)用單元306確定由設(shè)備識別單元305 獲取的特定設(shè)備的設(shè)備名稱是否匹配于從初始化信息存儲區(qū)域201獲 取的設(shè)備信息400中包含的設(shè)備名稱。
      當(dāng)設(shè)備名稱匹配時(S12中為"是"),設(shè)備信息應(yīng)用單元306 從獲取的設(shè)備信息400中提取初始化信息500,并且在S13中在初始化 信息列表303中注冊初始化信息500。
      在初始化信息列表303中注冊初始化信息500使得能夠從OS訪 問特定設(shè)備,并且完成用于初始化具體設(shè)備的過程。在此情況下,從 初始化信息存儲區(qū)域201獲取的設(shè)備信息400中提取初始化信息500, 并且因此,從初始化過程中省略設(shè)備識別過程。
      相反,當(dāng)設(shè)備名稱不匹配(S12中為"否")時,在S14中,設(shè) 備信息應(yīng)用單元306確定在初始化信息存儲區(qū)域201中是否剩余有其 它設(shè)備信息400。
      若在初始化信息存儲區(qū)域201中剩余有其它設(shè)備信息400(S14中 為"是"),則設(shè)備信息應(yīng)用單元306從初始化信息存儲區(qū)域201獲 取所述其它設(shè)備信息400。設(shè)備信息應(yīng)用單元306通過重復(fù)該過程來確 定包含特定設(shè)備的設(shè)備名稱的設(shè)備信息400是否存儲在初始化信息存
      24儲區(qū)域201中。
      當(dāng)在初始化信息存儲區(qū)域201未剩余有其它設(shè)備信息400(S14中 為"否")中時,換句話說,當(dāng)沒有包含特定設(shè)備的設(shè)備名稱的設(shè)備 信息400時,設(shè)備信息應(yīng)用單元306完成該過程并訪問設(shè)備識別單元 305。
      當(dāng)包含特定設(shè)備的設(shè)備名稱的設(shè)備信息400不存在于初始化信息 存儲區(qū)域201中時,設(shè)備識別單元305在S15中根據(jù)正常設(shè)備初始化 過程通過執(zhí)行用于識別特定設(shè)備的設(shè)備識別過程來設(shè)置設(shè)備控制信 息,并且在S16中在初始化信息列表303中注冊包含特定設(shè)備的設(shè)備 名稱以及設(shè)備控制信息的初始化信息500。
      下面解釋本示例性實施例的效果。
      如上所述,本示例性實施例的信息處理設(shè)備具有下列配置,其中 通過固件的執(zhí)行實現(xiàn)的初始化單元100附加初始化信息存儲區(qū)域201 的位置信息,為此設(shè)備信息400存儲在主存儲器區(qū)域信息302中;以及 通過OS的執(zhí)行實現(xiàn)的控制單元300從自初始化單元100獲取的主存儲 器區(qū)域信息302中提取初始化信息存儲區(qū)域201的位置信息以在主存 儲單元200中指定初始化信息存儲區(qū)域201的位置并且從為其指定位 置的初始化信息存儲區(qū)域201獲取設(shè)備信息400。
      因此,除了第一示例性實施例獲得的效果之外,本示例性實施例 還獲得了使得能夠保證初始化信息存儲區(qū)域201在主存儲單元200上 任意位置的效果。
      此外,如上所述,本示例性實施例的信息處理設(shè)備具有下列配置, 其中當(dāng)從初始化信息存儲區(qū)域201獲取的設(shè)備信息400中包含的設(shè) 備名稱并不匹配于特定設(shè)備的設(shè)備名稱時,通過OS的執(zhí)行實現(xiàn)的控制單元300設(shè)置特定設(shè)備的設(shè)備控制信息(設(shè)備識別過程)并在初始化
      信息列表303中注冊包含設(shè)備控制信息及特定設(shè)備的設(shè)備名稱的初始 化信息500。
      因此,除了上述效果之外,本示例性實施例獲得了即使當(dāng)初始化 單元100中的設(shè)備初始化過程中無法獲取設(shè)備的設(shè)備信息400時也使 得能夠從OS訪問設(shè)備的效果。
      第三示例性實施例
      圖IO示出了本發(fā)明的第三示例性實施例的信息處理設(shè)備的配置。
      如圖IO所示,本示例性實施例與圖6所示第二示例性實施例的不 同之處在于已經(jīng)向控制單元300添加了設(shè)備初始化確定單元308以 及設(shè)備非初始化確定列表309。除此之外組成元件與第三示例性實施例 中的組成元件等同,因此,給出了相同的附圖標(biāo)記并且省略了冗余的 解釋。
      設(shè)備非初始化確定列表309是其中記錄了在控制單元300中的設(shè) 備初始化過程中未從初始化信息存儲區(qū)域201獲取設(shè)備信息400的設(shè) 備的設(shè)備名稱的列表。圖11示出了設(shè)備非初始化確定列表309的實際 示例。
      設(shè)備初始化確定單元308確定設(shè)備識別單元305所獲取的特定設(shè) 備的設(shè)備名稱是否被記錄在設(shè)備非初始化確定列表309中。
      當(dāng)特定設(shè)備的設(shè)備名稱被記錄時,設(shè)備初始化確定單元308確定 該設(shè)備是未從初始化信息存儲區(qū)域獲取設(shè)備信息400的設(shè)備,并且訪 問設(shè)備識別單元305。設(shè)備識別單元305根據(jù)正常設(shè)備初始化過程通過 執(zhí)行用于識別特定設(shè)備的設(shè)備識別過程來設(shè)置設(shè)備控制信息,并且在 初始化信息列表303中注冊包含設(shè)備控制信息以及特定設(shè)備的設(shè)備名稱的初始化信息500。
      另一方面,當(dāng)特定設(shè)備的設(shè)備名稱未被記錄時,設(shè)備初始化確定
      單元308訪問設(shè)備信息應(yīng)用單元306。設(shè)備信息應(yīng)用單元306從初始化 信息存儲區(qū)域201獲取設(shè)備信息400,并且執(zhí)行具體設(shè)備的初始化過程。
      下面參照圖12和圖13的流程圖解釋本示例性實施例的操作。初 始化單元100中每個單元的操作與在圖8中描述的第二示例性實施例 中的操作相同,并且因此省略了冗余的解釋。
      圖12和圖13的流程圖示出了控制單元300的每個單元的操作。 當(dāng)由固件實現(xiàn)的控制單元300通過設(shè)備驅(qū)動器307執(zhí)行設(shè)備驅(qū)動器初 始化功能304時開始這些操作,固件將OS載入主存儲器單元200中并 在初始化單元100完成設(shè)備初始化過程之后執(zhí)行OS。
      參照圖12的流程圖,設(shè)備驅(qū)動器初始化功能304首先訪問設(shè)備識 別單元305以執(zhí)行用于初始化連接至信息處理設(shè)備的設(shè)備中相應(yīng)特定 設(shè)備的過程。
      當(dāng)執(zhí)行用于初始化特定設(shè)備的過程時,設(shè)備識別單元305首先檢 查特定設(shè)備的連接狀態(tài),然后在S17中獲取特定設(shè)備的設(shè)備名稱。然 后,設(shè)備識別單元305在執(zhí)行用于識別特定設(shè)備的設(shè)備識別過程之前 指定已獲取的特定設(shè)備的設(shè)備名稱,以訪問設(shè)備初始化確定單元308。
      然后在S18中,設(shè)備初始化確定單元308確定設(shè)備識別單元305 所獲取的特定設(shè)備的設(shè)備名稱是否被記錄在設(shè)備非初始化確定列表 309中。
      若特定設(shè)備的設(shè)備名稱被記錄(S18中為"是"),則設(shè)備初始 化確定單元308訪問設(shè)備識別單元305。已被設(shè)備初始化確定單元308訪問過的設(shè)備識別單元305在S19中根據(jù)正常設(shè)備初始化過程通過執(zhí)
      行用于識別特定設(shè)備的設(shè)備識別過程來設(shè)置設(shè)備控制信息,并且在S20 中在初始化信息列表303中注冊包括設(shè)備控制信息以及特定設(shè)備的設(shè) 備名稱的初始化信息500。
      當(dāng)特定設(shè)備的設(shè)備名稱未被記錄時,該過程轉(zhuǎn)向圖13。圖13中的 過程S21-S27等同于圖9的過程S10-S16,并且因此省略了解釋。
      下面解釋本示例性實施例的效果。
      如上所述,本示例性實施例的信息處理設(shè)備具有下列配置,其中 通過OS的執(zhí)行實現(xiàn)的控制單元300通過確定控制單元300中作為初 始化過程的對象的設(shè)備的設(shè)備名稱是否被列入設(shè)備非初始化確定列表 309中來確定是否從初始化信息存儲區(qū)域201獲取設(shè)備信息400以執(zhí)行
      用于初始化設(shè)備的過程。
      以此種方式,除了第一及第二示例性實施例的效果之外,本示例 性實施例還獲得了使得能夠從連接至信息處理設(shè)備的設(shè)備中選擇那些 通過獲取設(shè)備信息400執(zhí)行設(shè)備初始化過程的設(shè)備的效果。
      工作示例
      下面使用實際工作示例解釋使本發(fā)明工作的優(yōu)選示例性實施例。 圖14示出了本工作示例的信息處理設(shè)備的配置。
      本工作示例是圖6所示的第二示例性實施例的具體情況,并且解 釋當(dāng)本發(fā)明應(yīng)用于通過使用PCI連接至信息處理設(shè)備的PCI設(shè)備的初 始化過程時的操作。
      如圖14所示,本工作示例配備有作為初始化單元IOO的特定示例的BIOS 600、作為控制單元300的特定示例的Linux OS 800、作為 主存儲器單元200的特定示例的物理存儲器700、作為主存儲器區(qū)域 信息提供單元101的特定示例的BIOS命令(0x15) 601、作為主存儲 器區(qū)域信息獲取單元301的特定示例的設(shè)置(setup)功能801、作為主 存儲器區(qū)域信息302的特定示例的BIOS映射(biosmap)信息802、作 為初始化信息列表303的特定示例的pci—devices結(jié)構(gòu)803、作為設(shè)備 驅(qū)動器初始化功能304的特定示例的pci_init功能804以及作為設(shè)備識 別單元305的特定示例的pci—enable—device功能805。其它組成元件等 同于第二示例性實施例中的元件,并且因此給出了與圖6中相同的附 圖標(biāo)記并在此省略了冗余的解釋。
      BIOS命令是使用由BIOS 600提供的各種服務(wù)的命令。設(shè)置在CPU 寄存器中指定的數(shù)值并訪問BIOS命令使得能夠,例如,獲取CPU速 度信息并獲取關(guān)于物理存儲器700的存儲器容量的信息。在本工作示 例中使用的BIOS命令的一個命令是用于獲取由BIOS 600提供的物理 地址映射(biosmap信息802)的BIOS命令(0x15) 601。
      "biosmap信息802"是在設(shè)備初始化過程中由BIOS 600使用的
      物理存儲器700中每個區(qū)域的位置信息的記錄。
      圖15示出了 biosmap信息802的特定示例。如圖15所示,biosmap 信息802由三個項組成首地址、末地址以及每個存儲信息的區(qū)域的 區(qū)域使用方法。在本工作示例中,初始化信息存儲單元103將初始化 信息存儲區(qū)域201的位置信息附加至biosmap信息802,由此設(shè)備信息 應(yīng)用單元306能夠獲取初始化信息存儲區(qū)域201的位置信息,并且在 主存儲器單元中指定初始化信息存儲區(qū)域201的位置。
      "Setup功能801"是用于準(zhǔn)備執(zhí)行Linux OS 800所需的環(huán)境的功 能。使用Setup功能801, LinuxOS 800訪問BIOS命令(0x15) 601 以獲取biosmap信息802。當(dāng)執(zhí)行對物理存儲器700的控制時,Li皿xOS800將所獲取的biosmap信息802用作參考信息。
      Pci—devices結(jié)構(gòu)803是在第二示例性實施例中存儲初始化信息 500的pci_dev結(jié)構(gòu)卯0的列表。類似于第二示例性實施例中的初始化 信息500,存儲在pci—devices結(jié)構(gòu)803中的pci—dev結(jié)構(gòu)900存儲設(shè) 備名稱(廠商ID及設(shè)備ID) 、 1/0端口號、IRQ號以及其它特定于設(shè) 備的設(shè)置信息。
      Pci—init功能804是當(dāng)LinuxOS 800對使用pci連接至信息處理設(shè) 備的pci設(shè)備加載設(shè)備驅(qū)動器307時首先被執(zhí)行的功能。通過訪問 pci—enable—device功能805,pci—init功能804執(zhí)行pci設(shè)備初始化過程。
      pci_enable—device功能805是用于執(zhí)行初始化pci設(shè)備的過程并使 pci設(shè)備有效的功能。
      在本工作示例中, 一旦被pci—init功能804訪問,pci—enable—device
      功能805就首先檢查其對應(yīng)的特定設(shè)備的連接狀態(tài),獲取特定設(shè)備的 設(shè)備名稱,并且然后,在執(zhí)行設(shè)備識別過程之前訪問設(shè)備信息應(yīng)用單 元306,以確定從初始化信息存儲區(qū)域201獲取的設(shè)備信息400中包含 的設(shè)備名稱是否匹配于所獲取的特定設(shè)備名稱。
      下面參照圖16的流程圖解釋本工作示例的操作。
      BIOS 600中每個單元的操作等同于圖8所示的第二示例性實施例 中通過固件的執(zhí)行實現(xiàn)的初始化單元100的每個相應(yīng)單元的操作,并 且因此在此省略冗余的解釋。
      圖16的流程圖示出了 LinuxOS 800的每個單元的操作。通過在 BIOS 600執(zhí)行設(shè)備初始化過程之后BIOS 600將LinuxOS 800加載在物 理存儲器700中來執(zhí)行這些操作,并且當(dāng)LinuxOS 800通過設(shè)備驅(qū)動器307執(zhí)行pci一init功能804來啟動這些操作。
      LinuxOS 800首先加載設(shè)備驅(qū)動器307以訪問pci—enable—device 功能805。
      一旦被訪問,pci—enable—device功能805就首先檢查通過使用pci 連接至信息處理設(shè)備的pci設(shè)備的連接狀態(tài),在S28中從pci設(shè)備獲取 諸如廠商ID或設(shè)備ID的信息,并在pci—dev結(jié)構(gòu)900中存儲該信息。
      這里,廠商ID是提供給生產(chǎn)所述設(shè)備的公司的唯一標(biāo)識符。設(shè)備 ID是提供給特定廠商生產(chǎn)的每個設(shè)備的唯一標(biāo)識符。
      廠商ID及設(shè)備ID基本上用作設(shè)備名稱。在本工作示例中,也假 定廠商ID以及設(shè)備ID用作設(shè)備名稱。
      下面,pci—enable—device功能805訪問設(shè)備信息應(yīng)用單元306。
      然后在S29中,設(shè)備信息應(yīng)用單元306從biosmap信息802中提 取初始化信息存儲區(qū)域201的位置信息。
      下面設(shè)備信息應(yīng)用單元306使用已提取的初始化信息存儲區(qū)域 201的位置信息以在物理存儲器700中指定初始化信息存儲區(qū)域201的 位置,并且在S30中從初始化信息存儲區(qū)域201獲取設(shè)備信息400。
      然后在S31中,設(shè)備信息應(yīng)用單元306確定由pci—enable—device 功能805獲取的pci設(shè)備的設(shè)備名稱是否匹配于設(shè)備信息400中包含的 設(shè)備名稱。
      若設(shè)備名稱匹配(S31中為"是"),則設(shè)備信息應(yīng)用單元306 使用已獲取的設(shè)備信息400,以存儲在pci—dev結(jié)構(gòu)900中所需的信息并在S32中在pci—devices結(jié)構(gòu)803中注冊pci_dev結(jié)構(gòu)900。
      然而,當(dāng)設(shè)備名稱不匹配時(S31中為"否"),設(shè)備信息應(yīng)用 單元306在S33中確定在初始化信息存儲區(qū)域201中是否剩余有其它 設(shè)備信息。
      若剩余有其它設(shè)備信息400 (S33中為"是"),則設(shè)備信息應(yīng)用 單元306從初始化信息存儲區(qū)域201獲取其它設(shè)備信息400,并且重復(fù) 確定特定設(shè)備的設(shè)備名稱是否匹配于其它設(shè)備信息400中包含的設(shè)備 名稱。
      若在初始化信息存儲區(qū)域201中未剩余有其它設(shè)備信息400 (S33 中為"否"),則設(shè)備信息應(yīng)用單元306完成該過程并訪問 pci—enable—device功能805。
      下面,pci—enable—device功能805通過在S34中執(zhí)行用于識別pci 設(shè)備的設(shè)備識別過程來設(shè)置設(shè)備控制信息,在pci—dev結(jié)構(gòu)900中存儲 包括pci設(shè)備的設(shè)備控制信息及設(shè)備名稱的信息,并且在S35中在 pci—devices結(jié)構(gòu)803中注冊包括設(shè)備控制信息以及設(shè)備名稱的信息。
      雖然已經(jīng)參照本發(fā)明的示例性實施例特別地示出并描述了本發(fā) 明,但是本發(fā)明不限于這些實施例。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解, 在不背離如權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對 本發(fā)明做出各種形式及細(xì)節(jié)上的改變。
      權(quán)利要求
      1. 一種信息處理設(shè)備,包括初始化單元,所述初始化單元通過固件的執(zhí)行實現(xiàn),用于執(zhí)行使得能夠從所述固件訪問連接至所述信息處理設(shè)備的設(shè)備的第一初始化過程;控制單元,所述控制單元通過操作系統(tǒng)的執(zhí)行實現(xiàn),用于在所述固件的執(zhí)行之后執(zhí)行使得能夠從所述操作系統(tǒng)訪問所述設(shè)備的第二初始化過程;以及主存儲器單元;其中所述初始化單元包括設(shè)備初始化單元,用于在所述第一初始化過程中設(shè)置對訪問作為所述第一初始化過程的對象的設(shè)備所需的設(shè)備控制信息;以及初始化信息存儲單元,用于將包括由所述設(shè)備初始化單元設(shè)置的所述設(shè)備控制信息的初始化信息存儲在所述主存儲器單元中;以及所述控制單元包括設(shè)備信息應(yīng)用單元,用于在所述第二初始化過程中從所述主存儲器單元獲取作為所述第二初始化過程的對象的設(shè)備的初始化信息。
      2. 根據(jù)權(quán)利要求l所述的信息處理設(shè)備,其中在所述第一初始化過程中,所述設(shè)備初始化單元獲取作為所述第 一初始化過程的對象的設(shè)備的設(shè)備名稱;所述初始化信息存儲單元將由所述設(shè)備初始化單元獲取的所述設(shè) 備名稱附加至所述初始化信息,并且將所述設(shè)備名稱存儲在所述主存 儲器單元中;所述控制單元進(jìn)一步包括設(shè)備識別單元,用于在所述第二初始 化過程中獲取作為所述第二初始化過程的對象的設(shè)備的設(shè)備名稱;以 及當(dāng)由所述設(shè)備識別單元獲取的所述設(shè)備名稱匹配于從所述主存儲 器單元獲取的所述初始化信息中包含的設(shè)備名稱時,所述設(shè)備信息應(yīng)用單元在初始化信息列表中注冊所述初始化信息作為是所述第二初始 化過程的對象的所述設(shè)備的所述初始化信息。
      3. 根據(jù)權(quán)利要求2所述的信息處理設(shè)備,其中,當(dāng)由所述設(shè)備識別單元獲取的所述設(shè)備名稱不匹配于在所述第二初始化過程中從所述 主存儲器單元獲取的所述初始化信息中包含的設(shè)備名稱時,所述設(shè)備 識別單元設(shè)置作為所述第二初始化過程的對象的所述設(shè)備的所述設(shè)備 控制信息,并且在所述初始化信息列表中注冊包括所述設(shè)備的所述設(shè) 備名稱以及所述設(shè)備控制信息的初始化信息。
      4. 根據(jù)權(quán)利要求3所述的信息處理設(shè)備,其中所述控制單元進(jìn)一步包括設(shè)備初始化確定單元,用于在所述第 二初始化過程中確定作為所述第二初始化過程的對象的所述設(shè)備的所 述設(shè)備名稱是否被記錄在設(shè)備非初始化確定列表中,所述設(shè)備非初始 化確定列表記錄不是從所述主存儲器單元獲取所述初始化信息的設(shè)備 的設(shè)備名稱;以及當(dāng)作為所述第二初始化過程的對象的設(shè)備的設(shè)備名稱記錄在所述 設(shè)備非初始化確定列表中時,所述設(shè)備識別單元設(shè)置所述設(shè)備的所述 設(shè)備控制信息,并且在所述初始化信息列表中注冊包括所述設(shè)備的所 述設(shè)備名稱以及所述設(shè)備控制信息的初始化信息。
      5. 根據(jù)權(quán)利要求4所述的信息處理設(shè)備,其中當(dāng)作為所述第二初始化過程的對象的所述設(shè)備的所述設(shè)備名稱在 所述第二初始化過程中未記錄在所述設(shè)備非初始化確定列表中時,所述設(shè)備信息應(yīng)用單元從所述主存儲器區(qū)域獲取所述設(shè)備的初始化信
      6.根據(jù)權(quán)利要求5所述的信息處理設(shè)備,其中所述主存儲器單元包括用于存儲所述初始化信息的初始化信息存 儲區(qū)域;所述初始化信息存儲區(qū)域既在所述初始化信息存儲區(qū)域中存儲所 述初始化信息又在所述主存儲器單元中存儲所述初始化信息存儲區(qū)域的位置信息作為是每個區(qū)域的位置信息的主存儲器區(qū)域信息;所述初始化單元進(jìn)一步包括用于向所述控制單元提供所述主存儲 器區(qū)域信息的主存儲器區(qū)域信息提供單元;所述控制單元進(jìn)一步包括用于獲取由所述主存儲器區(qū)域信息提供 單元提供的所述主存儲器區(qū)域信息的主存儲器區(qū)域信息獲取單元;并 且所述設(shè)備信息應(yīng)用單元從由所述主存儲器區(qū)域信息獲取單元獲取的 所述主存儲器區(qū)域信息中提取所述初始化信息存儲區(qū)域的位置信息, 使用所提取的位置信息指定在所述主存儲單元中所述初始化信息存儲 區(qū)域的位置;并且從為其指定位置的所述初始化信息存儲區(qū)域獲取所 述初始化信息。
      7. —種由信息處理設(shè)備執(zhí)行的設(shè)備初始化方法,所述信息處理設(shè) 備包括初始化單元,所述初始化單元通過固件的執(zhí)行實現(xiàn),用于執(zhí) 行使得能夠從所述固件訪問連接至所述信息處理設(shè)備的設(shè)備的第一初 始化過程;控制單元,所述控制單元通過操作系統(tǒng)的執(zhí)行實現(xiàn),用于 在所述固件的執(zhí)行之后執(zhí)行使得能夠從所述操作系統(tǒng)訪問所述設(shè)備的 第二初始化過程;以及主存儲器單元;所述方法包括在所述第一初始化過程中通過所述初始化單元執(zhí)行的第一設(shè)備初 始化步驟,用于設(shè)置對訪問作為所述第一初始化過程的對象的設(shè)備所 需的設(shè)備控制信息;以及通過所述初始化單元執(zhí)行的存儲步驟,用于將包括在所述第一設(shè)備初始化步驟中設(shè)置的所述設(shè)備控制信息的初始化信息存儲在所述主 存儲器單元中;以及在所述第二初始化過程中通過所述控制單元執(zhí)行的第二設(shè)備初始化步驟,用于從所述主存儲器單元獲取作為所述第二初始化過程的對象的設(shè)備的初始化信息。
      8, 根據(jù)權(quán)利要求7所述的設(shè)備初始化方法,進(jìn)一步包括下列步驟 在所述第一設(shè)備初始化步驟中,獲取作為所述第一初始化過程的對象的設(shè)備的設(shè)備名稱;在所述存儲步驟中,將在所述第一設(shè)備初始化步驟中獲取的所述設(shè)備名稱附加至所述初始化信息,并將所述設(shè)備名稱存儲在所述主存儲器單元中;在所述第二初始化過程中,設(shè)備名稱獲取步驟通過所述控制單元獲取作為所述第二初始化過程的對象的設(shè)備的設(shè)備名稱;以及在所述第二設(shè)備初始化步驟中,當(dāng)在所述設(shè)備名稱獲取步驟中所 獲取的所述設(shè)備名稱匹配于從所述主存儲器單元獲取的所述初始化信 息中包含的設(shè)備名稱時,在初始化信息列表中注冊所述初始化信息作 為是所述第二初始化過程的對象的所述設(shè)備的所述初始化信息。
      9. 根據(jù)權(quán)利要求8所述的設(shè)備初始化方法,進(jìn)一步包括下列步驟在所述第二設(shè)備初始化步驟中,當(dāng)在所述設(shè)備名稱獲取步驟中獲 取的所述設(shè)備名稱不匹配于從所述主存儲器單元獲取的所述初始化信 息中包含的設(shè)備名稱時,設(shè)置作為所述第二初始化過程的對象的所述 設(shè)備的所述設(shè)備控制信息,并且在所述初始化信息列表中注冊包含所 述設(shè)備的所述設(shè)備名稱以及所述設(shè)備控制信息的初始化信息。
      10. 根據(jù)權(quán)利要求9所述的設(shè)備初始化方法,進(jìn)一步包括在所述第二初始化過程中的設(shè)備初始化確定步驟,用于通過所述 控制單元確定作為所述第二初始化過程的對象的設(shè)備的所述設(shè)備名稱 是否被記錄在設(shè)備非初始化確定列表中,所述設(shè)備非初始化確定列表記錄未從所述主存儲器單元獲取所述初始化信息的設(shè)備的設(shè)備名稱;以及在所述設(shè)備初始化確定步驟中的正常初始化步驟,用于通過所述 控制單元,當(dāng)作為所述第二初始化過程的對象的所述設(shè)備的所述設(shè)備 名稱被記錄在所述設(shè)備非初始化確定列表中時,設(shè)置所述設(shè)備的所述 設(shè)備控制信息,并且在所述初始化信息列表中注冊包括所述設(shè)備的所 述設(shè)備名稱以及所述設(shè)備控制信息的初始化信息。
      11. 根據(jù)權(quán)利要求10所述的設(shè)備初始化方法,其中,在所述設(shè)備 初始化確定步驟中,當(dāng)作為所述第二初始化過程的對象的設(shè)備的所述 設(shè)備名稱未被記錄在所述設(shè)備非初始化確定列表中時,執(zhí)行所述第二設(shè)備初始化步驟。
      12.根據(jù)權(quán)利要求ll所述的設(shè)備初始化方法,進(jìn)一步包括-在所述存儲步驟中,包括在所述主存儲器單元中所述初始化信息存儲區(qū)域中存儲所述初始化信息和在所述主存儲器單元中存儲所述初始化信息存儲區(qū)域的位置信息作為是每個區(qū)域的位置信息的主存儲器區(qū)域信息的步驟;以及在所述第二初始化過程中,主存儲器區(qū)域信息獲取步驟通過所述控制單元從所述初始化單元獲取所述主存儲器區(qū)域信息;以及在所述第二設(shè)備初始化步驟中,從在所述主存儲器區(qū)域信息獲取 步驟中獲取的所述主存儲器區(qū)域信息中提取所述初始化信息存儲區(qū)域 的位置信息,使用所提取的位置信息指定在所述主存儲器單元中所述 初始化信息存儲區(qū)域的位置,并從為其指定所述位置的所述初始化信 息存儲區(qū)域獲取所述初始化信息。
      全文摘要
      信息處理設(shè)備及信息處理設(shè)備中的設(shè)備初始化方法。信息處理設(shè)備包括初始化單元,通過固件的執(zhí)行實現(xiàn),用于執(zhí)行使能夠從固件訪問連接至信息處理設(shè)備的設(shè)備的第一初始化過程;控制單元,通過操作系統(tǒng)的執(zhí)行實現(xiàn),用于在固件的執(zhí)行之后執(zhí)行使能夠從OS訪問設(shè)備的第二初始化過程;以及主存儲器單元;其中初始化單元包括用于在第一初始化過程中設(shè)置訪問設(shè)備所需的設(shè)備控制信息的設(shè)備初始化單元以及用于將包括由設(shè)備初始化單元設(shè)置的設(shè)備控制信息的初始化信息存儲在主存儲器單元中的初始化信息存儲單元,并且其中控制單元包括設(shè)備信息應(yīng)用單元,用于在第二初始化過程中從主存儲器單元獲取設(shè)備的初始化信息。
      文檔編號G06F9/445GK101510158SQ200910006380
      公開日2009年8月19日 申請日期2009年2月16日 優(yōu)先權(quán)日2008年2月14日
      發(fā)明者小比賀亮仁 申請人:日本電氣株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1